К статье
Практический материал

Разработка и Конфигурация · 10 мин

Для чего нужны табличные части в 1С и как с ними работать

Для чего нужны табличные части в 1С: структура, различия от реквизитов, типовые сценарии в документах и справочниках, ошибки и советы по работе.

Табличная часть — это способ хранить внутри одного объекта 1С (документа, справочника, обработки) список однотипных строк: товары в накладной, сотрудники в приказе, этапы работ в договоре. Без табличных частей каждую строку пришлось бы оформлять отдельным документом или выдумывать реквизиты вида «Товар1», «Товар2», «Товар3», что быстро упирается в ограничения и делает учёт неудобным.

Логика проста: шапка объекта хранит общие данные (дату, контрагента, склад, организацию), а табличная часть — переменное количество строк с одинаковым набором колонок (номенклатура, количество, цена, сумма). Одна строка табличной части физически не существует без родительского объекта: удалите документ — удалятся и все его строки.

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

Табличная часть состоит из колонок (реквизитов табличной части) и строк. У каждой строки есть автоматический номер, а колонки могут быть любых типов: ссылки на справочники, числа, даты, строки, булево. Например, в документе «Реализация товаров и услуг» табличная часть «Товары» содержит колонки «Номенклатура», «Количество», «Цена», «Сумма», «Ставка НДС».

У одного объекта может быть несколько табличных частей. Та же реализация обычно содержит «Товары», «Услуги» и иногда «Серии» или «Агентские услуги». Это позволяет разделить разнородные данные внутри одного документа: товары проводятся по складским регистрам, услуги — только по регистрам продаж.

На уровне базы данных табличная часть хранится в отдельной таблице, связанной с родительским объектом по ссылке. Поэтому платформа эффективно работает даже с документами на тысячи строк, а запросы позволяют обращаться к табличным частям как к обычным таблицам.

Чем табличная часть отличается от реквизитов и регистров

Новички часто путают три механизма хранения данных. Реквизит шапки хранит одно значение на объект — одну дату, одного контрагента. Табличная часть хранит множество строк внутри объекта. Регистр (сведений или накопления) хранит данные, разнесённые по периодам или объектам, и не привязан жёстко к одному документу.

КритерийРеквизит шапкиТабличная частьРегистр
Количество значенийОдно на объектСколько угодно строкСколько угодно записей
ПривязкаК объектуТолько к своему объектуК измерениям, периоду, регистратору
Жизнь без родителяНетНетДа (записи могут жить отдельно)
Типичное применениеДата, контрагент, складТовары, услуги, сотрудникиОстатки, обороты, курсы валют

Правило выбора: если данные повторяются строками внутри одного документа — это табличная часть. Если данные должны накапливаться, суммироваться и анализироваться по разным документам — это регистр. Табличная часть — источник данных, регистр — место их учёта после проведения.

Типовые сценарии использования

Товары и услуги в документах

Самый частый сценарий — список позиций в документах купли-продажи: поступление, реализация, счёт на оплату, заказ. Пользователь добавляет строки, указывает номенклатуру и количество, а механизмы конфигурации автоматически рассчитывают сумму, НДС и итог по документу. Именно табличная часть позволяет одной кнопкой «Подбор» добавить сразу десятки позиций.

Сотрудники и начисления в кадровых документах

В зарплатных конфигурациях табличные части хранят списки сотрудников в приказах о приёме, отпусках, премиях, а также расшифровки начислений и удержаний в документах расчёта. Один документ «Начисление зарплаты» может содержать сотни строк — по одной на каждого сотрудника.

Составные данные в справочниках

Табличные части есть и у справочников: например, у элемента «Номенклатура» может храниться список единиц измерения или штрихкодов, у контрагента — контактные лица. Это удобно, когда данные не имеют самостоятельной жизни и нужны только в контексте владельца.

Товары в накладнойДа

Строки позиций с количеством и ценой — классический случай

Остатки на складахНет

Это данные регистра накопления, а не табличной части

Штрихкоды товараЗависит от конфигурации

Часто выносят в регистр сведений, чтобы искать без открытия карточки

Контактные лица контрагентаДа

Список привязан к одному контрагенту и не нужен отдельно

Как работать с табличной частью пользователю

В форме документа строки добавляются кнопкой «Добавить», клавишей Insert или механизмом подбора. Многие конфигурации поддерживают вставку из буфера обмена: можно скопировать колонки из Excel и вставить прямо в табличную часть, если форма это позволяет. Для больших списков удобны сортировка по колонке, поиск по строке (Ctrl+F) и групповое изменение цен или ставок через кнопку «Изменить».

Как заполнить табличную часть товарами
  1. 1
    Откройте документ и заполните шапку: организацию, контрагента, склад
  2. 2
    Нажмите «Добавить» или «Подбор» на панели табличной части
  3. 3
    Выберите номенклатуру, укажите количество и цену
  4. 4
    Проверьте автоматически рассчитанные сумму и НДС
  5. 5
    Сверьте итог по документу с первичным документом поставщика
  6. 6
    Проведите документ и убедитесь в отсутствии сообщений об ошибках

Признак корректного заполнения — совпадение итоговой суммы документа с бумажным или электронным первичным документом и отсутствие ошибок при проведении. Если программа сообщает о незаполненных колонках, проверьте строки с пустой номенклатурой или нулевым количеством: их проще удалить, чем оставлять «мусор».

Работа с табличными частями в коде и запросах

Разработчику табличная часть доступна как коллекция строк. Типовые операции: перебор в цикле, поиск строк по условию, добавление и удаление строк, итог по колонке методом Итог().

Для Каждого СтрокаТовара Из Объект.Товары Цикл

СтрокаТовара.Сумма = СтрокаТовара.Количество * СтрокаТовара.Цена;

КонецЦикла;

ИтогоПоДокументу = Объект.Товары.Итог("Сумма");

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

bsl
ВЫБРАТЬ Товары.Номенклатура, Товары.Количество, Товары.Ссылка.Дата КАК ДатаДокумента ИЗ Документ.РеализацияТоваровУслуг.Товары КАК Товары ГДЕ Товары.Ссылка = &Ссылка

Ограничения и типичные ошибки

Табличная часть не заменяет регистры. Если разместить в табличной части данные, которые нужно анализировать накопительно (остатки, задолженность по периодам), отчёты придётся строить долгими запросами по всем документам. Обратная ошибка — вынос в регистр того, что логично хранить строками документа, что усложняет ввод и проверку.

Типичные ошибки
01
Хранение взаиморасчётов в табличной части вместо регистров — отчёты по долгам становятся медленными и неточными
02
Создание реквизитов Товар1, Товар2, Товар3 вместо табличной части — ограничение на число позиций и неудобный ввод
03
Дублирование одной позиции несколькими строками вместо увеличения количества — искажает печатные формы и учёт серий
04
Редактирование табличной части проведённого документа без перепроведения — расхождение документа с движениями по регистрам
05
Отсутствие контроля пустых строк — документ проводится с нулевыми позициями

Как выбрать: табличная часть или другой механизм

Маршрут решения

Как выбрать механизм хранения

Данные — строки внутри одного документа и не нужны отдельноИспользуйте табличную часть
Данные нужно суммировать и анализировать по многим документамИспользуйте регистр накопления, табличная часть — только источник проведения
Данные привязаны к объекту, но нужен поиск по ним без открытия объектаИспользуйте регистр сведений с измерением-ссылкой
Значение одно на объектДостаточно реквизита шапки
Контрольные точки

Как проверить результат

Итог документа
Норма

Совпадает с первичным документом

Тревожный признак

Расходится — ищите пропущенные или лишние строки

Проведение
Норма

Проходит без сообщений об ошибках

Тревожный признак

Сообщения о незаполненных колонках или отрицательных остатках

Печатная форма
Норма

Все позиции выведены с корректными суммами

Тревожный признак

Пустые строки, нулевые суммы, дубли позиций

Движения по регистрам
Норма

Количество записей соответствует строкам табличной части

Тревожный признак

Строки есть, а движений нет — документ не перепроведён

Частые вопросы о табличных частях

Можно ли скопировать табличную часть из одного документа в другой?

Да. В пользовательском режиме многие конфигурации предлагают кнопку «Заполнить» или «Скопировать строки». Программно используют методы Загрузить() и Выгрузить(): выгрузить табличную часть источника в таблицу значений и загрузить её в приёмник. Состав колонок при этом должен совпадать.

Есть ли ограничение на количество строк в табличной части?

Жёсткого практического лимита для обычной работы нет, документы на тысячи строк — обычное дело. Однако очень большие табличные части замедляют открытие формы и проведение, поэтому документы на десятки тысяч строк лучше разбивать на несколько.

Что происходит со строками при копировании документа?

При копировании документа копируются и все его табличные части — новый документ получает те же строки. Это удобно для повторяющихся отгрузок: скопируйте прошлый документ, поменяйте дату и скорректируйте количество.

Почему в отчёте нет данных, хотя табличная часть заполнена?

Отчёты строятся по регистрам, а не по табличным частям. Если документ не проведён или проведён с ошибкой, движения в регистры не попали. Проверьте статус проведения и наличие движений в форме документа.

Может ли справочник иметь табличную часть?

Да, справочники поддерживают табличные части наравне с документами. Типичный пример — список единиц измерения у номенклатуры или состав комплекта. Строки так же удаляются вместе с элементом справочника.

Итог

Что важно запомнить

Табличная часть хранит список однотипных строк внутри одного объекта: товары в накладной, сотрудников в приказе, услуги в акте. Шапка отвечает за общие данные, табличная часть — за позиции, регистры — за накопление и аналитику. Любые массовые изменения табличных частей делайте только после резервной копии и с перепроведением документов.