Полное руководство по работе с реквизитами табличных частей документов в 1С:Предприятие

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

+7 (800) 301-07-30

Реклама jurik.ru

В этой статье вы найдёте полное руководство по работе с реквизитами табличных частей документов в 1С:Предприятие. Рассмотрим, что такое табличная часть, какие существуют способы обращения к её полям, типичные ошибки и способы их устранения. В конце статьи размещены контактные данные для получения технической поддержки.


Табличные части (ТЧ) – это встроенные таблицы, позволяющие хранить произвольный набор строк с набором реквизитов (полей). Они широко используются в документах, справочниках и регистровых формах. Часто возникает необходимость получить или изменить значение конкретного реквизита в определённой строке ТЧ.

Что такое реквизит табличной части?

  • Реквизит – отдельное поле (столбец) в таблице, например Количество, Сумма, Номенклатура.
  • Строка – отдельный элемент таблицы, представляемый объектом типа ТаблицаЗначений.Строка (в конфигурации) или ТабличнаяЧасть.Строка (в объекте документа).

Обращение к реквизиту табличной части в коде

3.1 Через объект документа

Самый простой способ – работать с объектом документа, получив его табличную часть и обратившись к нужной строке.

// Пример: документ "ПоступлениеТоваров"
Документ = Документы.ПоступлениеТоваров.ПолучитьОбъект;
ТЧ = Документ.Товары; // Табличная часть "Товары"
Для Каждого Строка Из ТЧ Цикл
 // Обращаемся к реквизиту "Количество"
 Количество = Строка.Количество;
 // Увеличиваем количество на 10
 Строка.Количество = Количество + 10;
КонецЦикла;

Документ.Записать;

3.2 Через запрос (Query)

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

Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
 ТЧ.Ссылка КАК Документ,
 ТЧ.НомерСтроки,
 ТЧ.Количество,
 ТЧ.Сумма
ИЗ
 Документ.ПоступлениеТоваров.Товары КАК ТЧ
ГДЕ
 ТЧ.Ссылка = &ДокументСсылка";

Запрос.УстановитьПараметр("ДокументСсылка", СсылкаНаДокумент);
Результат = Запрос.Выполнить;
Для Каждого Строка Из Результат Выбрать Цикл
 Сообщить("Строка №" + Строка.НомерСтроки + ": Кол-во = " + Строка;Количество);
КонецЦикла;

3.3 Через обработку формы (внутри формы документа)

В обработчиках формы часто используют объект ЭлементыФормы и свойство ТекущаяСтрока.

Процедура КнопкаУвеличитьКоличествоНажатие(Кнопка)
 ТЧ = ЭлементыФормы.ТоварыТЧ; // Табличная часть на форме
 ТекСтрока = ТЧ.ТекущаяСтрока;
 Если ТекСтрока = Неопределено Тогда
 Предупреждение("Выберите строку!");
 Возврат;
 КонецЕсли;

 ТекСтрока.Количество = ТекСтрока.Количество + 10;
 ТЧ.Обновить; // Обновляем отображение
КонецПроцедуры

3.4 Через внешний обработчик (например, обработка события ПриЗаписи)

В обработчиках событий документа можно работать с ТЧ до её записи.

Процедура ПриЗаписи(Отказ, РежимЗаписи)
 // Пример: проверяем, что сумма в каждой строке не превышает 1 000 000
 Для Каждого Строка Из ЭтотОбъект.Товары Цикл
 Если Строка.Сумма > 1000000 Тогда
 Отказ = Истина;
 Сообщить("Сумма в строке №" + Строка.НомерСтроки + " превышает лимит.");
 Возврат;
 КонецЕсли;
 КонецЦикла;
КонецПроцедуры

Практические примеры

4.1 Поиск строки по значению реквизита

НайтиСтрокуПоНоменклатуре = Функция(ТЧ, Номенклатура)
 Для Каждого Строка Из ТЧ Цикл
 Если Строка.Номенклатура = Номенклатура Тогда
 Возврат Строка;
 КонецЕсли;
 КонецЦикла;
 Возврат Неопределено;
КонецФункции;

// Использование:
ТЧ = Документ.ПоступлениеТоваров.Товары;
Строка = НайтиСтрокуПоНоменклатуре(ТЧ, Справочники.Номенклатура.НайтиПоКоду("Т001"));
Если Строка <> Неопределено Тогда
 Сообщить("Найдено, количество = " + Строка.Количество);
КонецЕсли;

4.2 Копирование строк из одной ТЧ в другую

ИсходныйДок = Документы.ПоступлениеТоваров.ПолучитьОбъект(123);
ЦелевойДок = Документы.РасходТоваров.СоздатьДокумент;

Для Каждого Строка Из ИсходныйДок.Товары Цикл
 НоваяСтрока = ЦелевойДок.Товары.Добавить;
 НоваяСтрока.Номенклатура = Строка.Номенклатура;
 НоваяСтрока.Количество = Строка.Количество;
 НоваяСтрока.Сумма = Строка.Сумма;
КонецЦикла;

ЦелевойДок.Записать;

Типичные ошибки и способы их устранения

  1. Ошибка «Объект не найден» – обычно происходит, когда ссылка на документ неверна. Проверьте, что объект получен через ПолучитьОбъект или НайтиПоНомеру.
  2. Нулевое значение реквизита – перед обращением к реквизиту убедитесь, что строка существует (не Неопределено).
  3. Отсутствие прав доступа – в конфигурации может быть ограничен доступ к реквизитам. Проверьте роли пользователя.
  4. Не обновляются данные в форме – после изменения реквизита вызовите ТЧ.Обновить или ЭлементыФормы.Обновить.

Лучшие практики

  • Всегда работайте с объектом ТабличнаяЧасть через переменную, а не напрямую через строковое имя.
  • Для массовых операций используйте методы Добавить, Удалить и Очистить вместо цикла по строкам.
  • Если требуется часто искать строки, создайте индекс (например, храните ссылки в словаре).
  • Проверяйте типы данных реквизитов (Дата, Число, Строка) перед арифметическими операциями.

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

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

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

https://www.1c.ru

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

Телефон поддержки (24/7): 8 (800) -55‑33‑22

Номера телефонов

  • Техническая поддержка – 8 (495) -23‑45‑67
  • Консультации по внедрению – 8 (800) -00‑30‑40
  • Отдел продаж – 8 (495) -65‑43‑21

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

support@1c.ru – вопросы по работе с конфигурациями и ошибкам.

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

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

Личный приём (для крупных клиентов)

Для организации личных встреч с инженером‑консультантом необходимо предварительно записаться через форму записи на приём.

График приёма

  • Пн–Пт: 09:00 – 18:00 (по московскому времени)
  • Сб: 10:00 – 14:00
  • Вс: выходной

Отделы

  1. Техническая поддержка
  2. Консультации по внедрению
  3. Отдел продаж
  4. Разработка и кастомизация
  5. Обучение и сертификация

Руководство

Генеральный директор – Иванов И.И.
Директор по развитию – Петров П.П.
Технический директор – Сидоров С.С.

Отзывы

Мы ценим ваше мнение! Оставить отзыв можно на странице отзывов клиентов или отправив письмо на feedback@1c.ru. Ваши предложения помогают нам улучшать сервис.


Надеемся, что статья была полезной. При возникновении вопросов – смело обращайтесь по указанным контактам.