Открыть сервис

Табличная часть документа 1С

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

История и назначение

Концепция табличных частей была введена в платформе «1С:Предприятие» начиная с версии 7.7 и получила дальнейшее развитие в версиях 8.x. До её появления разработчики были вынуждены создавать отдельные справочники или регистры для хранения подчинённых данных, что усложняло архитектуру и снижало производительность. Внедрение табличных частей позволило унифицировать хранение связанных данных в рамках одного объекта, упростив разработку типовых конфигураций, таких как «Бухгалтерия предприятия», «Управление торговлей» и «Зарплата и управление персоналом».

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

Структура и свойства

В системе «1С:Предприятие» табличная часть является встроенным объектом метаданных, который может быть добавлен к любому документу, справочнику, плану видов характеристик, бизнес-процессу или задаче. Она состоит из набора реквизитов (колонок), каждый из которых имеет определённый тип данных (строка, число, дата, ссылка на другой объект и т.д.). Ключевые свойства табличной части:

  • Имяуникальный идентификатор в пределах объекта (например, «Товары», «Услуги», «Состав»).
  • Синоним — удобочитаемое название, используемое в интерфейсе.
  • Реквизиты — набор колонок, задаваемый разработчиком. Каждый реквизит имеет имя, тип, длину (для строк) и точность (для чисел).
  • Измерения — в некоторых контекстах (например, в регистрах) табличная часть может содержать измерения, которые влияют на уникальность строк.
  • Ресурсы — числовые поля, которые могут суммироваться или агрегироваться (например, «Количество», «Сумма»).

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

Виды табличных частей

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

Стандартная табличная часть

Наиболее распространённый тип, используемый в документах и справочниках. Представляет собой простой набор строк с фиксированным набором реквизитов. Пример: табличная часть «Товары» в документе «Поступление товаров и услуг» с колонками «Номенклатура», «Количество», «Цена», «Сумма».

Табличная часть с подчинёнными реквизитами

В некоторых конфигурациях строки табличной части могут содержать не только простые типы, но и ссылки на другие табличные части или регистры. Например, в документе «Заказ покупателя» может быть табличная часть «Товары», каждая строка которой содержит подчинённую табличную часть «Характеристики» (цвет, размер). Однако технически это реализуется через отдельные реквизиты-ссылки, а не вложенные табличные части.

Табличная часть регистра

В регистрах накопления, сведений и бухгалтерии табличные части используются для хранения движений (записей). Они имеют строгую структуру, включающую измерения, ресурсы и реквизиты. Например, регистр «Остатки товаров» может содержать табличную часть с измерениями «Склад» и «Номенклатура» и ресурсом «Количество».

Табличная часть как элемент формы

В пользовательском интерфейсе табличная часть отображается в виде табличного поля (элемента формы), которое может быть настроено для отображения, редактирования и печати данных. Разработчик может задать видимость колонок, порядок сортировки, фильтры и условное оформление.

Применение в типовых конфигурациях

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

  • «1С:Бухгалтерия предприятия» — табличная часть «Товары» в документах «Поступление товаров», «Реализация товаров», «Счёт-фактура»; табличная часть «Начисления» в документе «Начисление зарплаты».
  • «1С:Управление торговлей» — табличная часть «Товары» в документах «Заказ покупателя», «Отгрузка», «Возврат»; табличная часть «Комплектация» в документах сборки заказов.
  • «1С:Зарплата и управление персоналом» — табличная часть «Сотрудники» в документе «Приём на работу»; табличная часть «Начисления» в документе «Начисление зарплаты и взносов».
  • «1С:Управление нашей фирмой» — табличная часть «Услуги» в документах «Акт выполненных работ»; табличная часть «Расходы» в документах «Заявка на расходование средств».

Технические ограничения и особенности

При разработке и эксплуатации табличных частей необходимо учитывать ряд технических ограничений платформы «1С:Предприятие»:

  • Максимальное количество строк — не ограничено жёстко, но при больших объёмах (свыше 10 000 строк) может наблюдаться снижение производительности при открытии формы и записи документа. Рекомендуется использовать отборы и пакетную обработку.
  • Вложенность — табличные части не могут быть вложены друг в друга напрямую. Для моделирования иерархии используются отдельные реквизиты-ссылки или подчинённые регистры.
  • Индексация — для ускорения поиска по строкам табличной части можно создавать индексы на реквизиты (например, на поле «Номенклатура»).
  • Проведение документов — при проведении документа строки табличной части обрабатываются в цикле; для массовых операций используются запросы к таблице движений.

Программная работа с табличной частью

Встроенный язык «1С» предоставляет богатый набор методов для управления табличной частью. Основные операции:

  • Добавление строки — метод Добавить() возвращает новую пустую строку, которую затем заполняют значениями.
  • Удаление строки — метод Удалить(Индекс) или Удалить(Строка).
  • Поиск — метод Найти(Значение, ИмяРеквизита) возвращает первую найденную строку или Неопределено.
  • Сортировка — метод Сортировать(ПравилаСортировки).
  • Итерация — цикл Для каждого Строка Из Объект.ТабличнаяЧасть Цикл ... КонецЦикла.

Пример типового кода для заполнения табличной части:

``1c Процедура ЗаполнитьТовары() Док = Документы.ПоступлениеТоваров.СоздатьДокумент(); Док.Дата = ТекущаяДата(); НоваяСтрока = Док.Товары.Добавить(); НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Товар1"); НоваяСтрока.Количество = 10; НоваяСтрока.Цена = 100; Док.Записать(); КонецПроцедуры ``

Критика и альтернативы

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

Альтернативой табличным частям в некоторых сценариях являются:

  • Регистры сведений — для хранения периодических или разреженных данных.
  • Регистры накопления — для учёта остатков и оборотов.
  • Внешние обработки — для разовых операций с большими объёмами строк.

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

Источники

  • Радченко М.Г., Хрусталёва Е.Ю. «1С:Предприятие 8.3. Практическое пособие разработчика». — М.: 1С-Паблишинг, 2020.
  • Документация платформы «1С:Предприятие 8.3» — раздел «Объекты метаданных. Табличная часть».
  • Официальный сайт фирмы «1С» — методические рекомендации по проектированию конфигураций.
  • Форум разработчиков «1С» (infostart.ru) — обсуждения производительности и оптимизации табличных частей.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →