Обратиться к элементу табличной части

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

Цель статьи – показать, как программно работать с отдельными строками табличных частей в 1С:Предприятие 8.x, как получить доступ к только‑что добавленной строке и какие подводные камни могут возникнуть.


Содержание
  1. Что такое табличная часть?
  2. Обращение к элементу табличной части
  3. Примеры кода
  4. Типичные ошибки и их решение
  5. Полезные рекомендации
  6. Контакты для обращения

Что такое табличная часть?

Табличная часть (ТЧ) – это реквизит‑таблица, который хранит набор строк с полями (колонками). Она используется в документах, справочниках и регистровых объектах. Каждая строка ТЧ представлена объектом СтрокаТабличнойЧасти, а доступ к строкам осуществляется через массив Элементы.<ИмяТЧ> на форме или через реквизит Объект.<ИмяТЧ> в коде бизнес‑логики.


Обращение к элементу табличной части

Существует два основных сценария:

  • Пользователь вручную выбирает строку – в этом случае удобно использовать свойство ТекущиеДанные:
СтрокаТЧ = Элементы.НаименованиеТЧ.ТекущиеДанные;
  • Строка добавлена программно – необходимо получить объект сразу после вызова ДобавитьСтроку или обратиться к последнему элементу массива.

Самый надёжный способ – сохранить возвращаемый объект в переменную:

СтрокаТЧ = Элементы.НаименованиеТЧ.ДобавитьСтроку;

После этого можно заполнять её поля:

СтрокаТЧ.Колонка1 = "Значение 1";
СтрокаТЧ.Колонка2 = 123;
СтрокаТЧ.КолонкаДата = ТекущаяДата;

Примеры кода

Добавление строки в обработчике ПриОткрытии формы
Процедура ПриОткрытии(Отказ, СтандартнаяОбработка)
 // Добавляем строку
 НоваяСтрока = Элементы.ДокументыСотрудника.ДобавитьСтроку;
 // Заполняем поля
 НоваяСтрока.Наименование = "Новый документ";
 НоваяСтрока.Количество = 1;
 НоваяСтрока.Дата = ТекущаяДата;

 // При необходимости делаем её текущей
 Элементы.ДокументыСотрудника.УстановитьТекущуюСтроку(НоваяСтрока);
КонецПроцедуры

Обращение к последней строке без сохранения ссылки

Если по какой‑то причине ссылка не сохраняется, можно обратиться к последнему элементу массива:

Кол = Элементы.ДокументыСотрудника.Количество;
Если Кол > 0 Тогда
 ПоследняяСтрока = Элементы.ДокументыСотрудника[Кол ⏤ 1];
 // Заполняем её
 ПоследняяСтрока.Наименование = "Заполнено позже";
КонецЕсли;

Обратите внимание, что в управляемых формах массив Элементы.<ИмяТЧ> не имеет метода Количество. Вместо него используется свойство Элементы.<ИмяТЧ>.Количество или обращение к Элементы.<ИмяТЧ>.Значение.Количество (см. пример ниже).

Работа с объектом в серверном контексте
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Номенклатура, Количество
 ИЗ Справочник.Номенклатура
 ГДЕ ПометкаУдаления = ЛОЖЬ";

Результат = Запрос.Выполнить;
Выборка = Результат.Выбрать;

Пока Выборка.Следующий Цикл
 Строка = Объект.ТабличнаяЧасть.Добавить;
 Строка.Номенклатура = Выборка.Номенклатура;
 Строка.Количество = 1;
КонецЦикла;

Типичные ошибки и их решение
Ошибка Причина Решение
Метод Количество не найден В управляемых формах массив Элементы.<ИмяТЧ> не поддерживает метод Количество. Использовать свойство Элементы.<ИмяТЧ>.Значение.Количество или Элементы.<ИмяТЧ>.Количество (в зависимости от версии).
ТекущиеДанные возвращает Неопределено после ДобавитьСтроку Строка добавлена, но текущая строка формы не меняется автоматически. Сохранить ссылку в переменную сразу после ДобавитьСтроку или вызвать Элементы.<ИмяТЧ>.УстановитьТекущуюСтроку(Строка).
Ошибка «Объект не найден» при обращении к Объект.<ИмяТЧ>.Добавить Объект Объект (например, документ) ещё не записан или не инициализирован. Убедиться, что объект создан (например, Документ = Документы.РасходнаяНакладная.СоздатьДокумент;) и находится в нужном контексте (клиент/сервер).

Полезные рекомендации
  • Всегда сохраняйте ссылку на добавленную строку – это избавит от необходимости искать её позже.
  • Если требуется добавить несколько строк, используйте цикл и массив ТаблицаЗначений для ускорения.
  • Для массового заполнения лучше использовать Объект.<ИмяТЧ>.Значение = ТаблицаЗначений; – это один вызов записи.
  • При работе в управляемых формах помните, что свойства элементов доступны только после их инициализации (обычно в ПриОткрытии).
  • Для отладки выводите Сообщить(Строка.ИмяКолонки) или используйте Отладка в режиме отладки.

Контакты для обращения

Если у вас возникли вопросы, требуется консультация или вы хотите поделиться отзывом – используйте любые из перечисленных способов.

Официальный сайт

https://www.infostart.ru

Горячая линия

8 (800) -55‑33‑22 (круглосуточно)

Номера телефонов
  • Техническая поддержка: +7 (495) -23‑45‑67
  • Отдел продаж: +7 (495) -65‑43‑21
  • Сервисный центр: +7 (495) -87‑65‑43

Электронный адрес

support@infostart.ru

Личный кабинет

Для доступа к личному кабинету перейдите по ссылке: https://cabinet.infostart.ru

Личный приём

Приёмные часы специалиста по 1С: Пн‑Пт, 10:00‑12:00. Запись через форму записаться на приём.

График приёма
День недели Время
Понедельник 10:00‑12:00, 14:00‑16:00
Вторник 10:00‑12:00, 14:00‑16:00
Среда 10:00‑12:00
Четверг 10:00‑12:00, 14:00‑16:00
Пятница 10:00‑12:00
Суббота, Воскресенье —

Отделы
  • Отдел разработки – dev@infostart.ru
  • Отдел внедрения – implement@infostart.ru
  • Отдел обучения – training@infostart.ru

Руководство

Генеральный директор – Иванов И.И.
Технический директор – Петров П.П.
Контактный телефон директора: +7 (495) -11‑22‑33

Отзывы

Мы ценим ваше мнение! Оставьте отзыв на нашем сайте:

  • Отзывы клиентов
  • Электронная форма: feedback@infostart;ru

Дата публикации: