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

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

ТЧ в 1С: что это такое и как с ней работать

ТЧ в 1С — это табличная часть документа или справочника. Разбираем, что это, где находится, как заполнить, изменить и обойти в запросе и коде.

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

Аббревиатуру ТЧ постоянно используют разработчики, консультанты и пользователи в переписке и инструкциях: «добавьте строку в ТЧ», «проверьте заполнение ТЧ», «выгрузите ТЧ в Excel». Поэтому понимание того, что это за объект, как он устроен и как с ним работать, нужно и обычному пользователю, и программисту 1С.

Важно понимать ключевое ограничение: табличная часть не существует сама по себе. Строки ТЧ физически хранятся в базе данных вместе со ссылкой на объект-владелец, и удалить или прочитать их можно только через этот объект. Это отличает ТЧ от регистров и независимых справочников.

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

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

Табличные части есть у нескольких типов объектов:

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

У одного объекта может быть несколько табличных частей. Документ «Реализация товаров и услуг» в типовых конфигурациях содержит отдельные ТЧ «Товары», «Услуги», «Возвратная тара» и другие. Каждая из них — самостоятельная таблица со своим набором колонок.

Чем табличная часть отличается от таблицы значений и регистра

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

ОбъектГде хранитсяКогда используется
Табличная частьВ базе, вместе с объектом-владельцемСтроки документа или справочника, сохраняемые в базе
Таблица значенийТолько в оперативной памятиВременные расчёты, промежуточная обработка данных в коде
Регистр (сведений, накопления)В базе, независимо от документовУчёт остатков, оборотов, периодических сведений

Главный практический вывод: таблица значений исчезает после завершения процедуры, а табличная часть сохраняется при записи объекта. Если нужно, чтобы данные «пережили» сеанс работы, — используйте ТЧ или регистр, а не таблицу значений.

Как работать с ТЧ в режиме пользователя

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

  • Добавить строку — кнопка «Добавить» на командной панели табличной части или клавиша Insert.
  • Скопировать строку — F9 или кнопка «Скопировать», удобно при вводе похожих позиций.
  • Удалить строку — Delete или кнопка «Удалить»; строка удаляется без подтверждения, поэтому действуйте внимательно.
  • Подбор — кнопка «Подбор» открывает список номенклатуры с возможностью добавить сразу несколько позиций.
  • Сортировка и перемещение — строки можно перетаскивать или сортировать по колонке, порядок строк сохраняется в документе.

Многие конфигурации поддерживают загрузку ТЧ из файла Excel или CSV — обычно это кнопка «Заполнить» → «Загрузить из файла» либо отдельная обработка загрузки. Перед загрузкой проверьте соответствие колонок файла колонкам табличной части, иначе данные попадут не в те поля.

Как добавить строки в ТЧ документа
  1. 1
    Откройте документ и перейдите на вкладку с нужной табличной частью (например, «Товары»).
  2. 2
    Нажмите «Добавить» или Insert — появится новая пустая строка.
  3. 3
    Заполните колонки: выберите номенклатуру, укажите количество и цену.
  4. 4
    Проверьте, что сумма и НДС рассчитались автоматически; если нет — проверьте заполнение ставки НДС.
  5. 5
    Запишите документ кнопкой «Записать» или «Провести».

Как обращаться к ТЧ в коде 1С

Для разработчика табличная часть — это коллекция строк, доступная как свойство объекта. Обращение идёт по имени ТЧ, заданному в конфигураторе:

// Перебор строк табличной части документа

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

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

КонецЦикла;

// Добавление новой строки

НоваяСтрока = ДокументОбъект.Товары.Добавить();

НоваяСтрока.Номенклатура = НайденнаяНоменклатура;

НоваяСтрока.Количество = 2;

Часто используемые методы и приёмы:

  • ТЧ.Количество() — число строк в табличной части.
  • ТЧ.Найти(Значение, "Номенклатура") — поиск строки по значению колонки.
  • ТЧ.НайтиСтроки(ПараметрыОтбора) — получение массива строк по структуре отбора.
  • ТЧ.Итог("Сумма") — сумма по числовой колонке без перебора строк.
  • ТЧ.Очистить() — удаление всех строк; действие необратимо после записи объекта.
  • ТЧ.Выгрузить() — преобразование ТЧ в таблицу значений для дальнейшей обработки, свёртки или передачи в запрос.

Изменения в табличной части объекта фиксируются в базе только после вызова Объект.Записать(). Если вы перебрали строки, поменяли суммы, но не записали объект — при закрытии данные будут потеряны.

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

Табличная часть в запросах

В языке запросов 1С табличная часть доступна как отдельная виртуальная таблица с именем вида Документ.ИмяДокумента.ИмяТабличнойЧасти. Обязательное условие — фильтрация по ссылке на объект-владелец, иначе запрос выберет строки всех документов этого вида, что медленно и обычно бессмысленно.

Типовые сценарии запросов к ТЧ:

  • получение состава конкретного документа для печатной формы или обработки;
  • сводные отчёты по строкам документов за период — например, продажи по номенклатуре с группировкой и суммированием количества;
  • сравнение данных ТЧ с данными регистров при поиске расхождений.

При построении отчётов по табличным частям добавляйте отбор по периоду через поле Ссылка.Дата и по организации через Ссылка.Организация. Запрос по всем строкам ТЧ всех документов без отборов — частая причина медленной работы отчётов.

Типичные задачи и ошибки при работе с ТЧ

На практике с табличными частями связано несколько повторяющихся задач: выгрузка в Excel (через «Вывести список» или программно), очистка дублей строк, перенумерация, проверка заполнения перед проведением. Проверку заполнения в типовых конфигурациях выполняет процедура ОбработкаПроверкиЗаполнения — она отказывает в проведении, если обязательные колонки пусты.

Типичные ошибки
01
Обращение к ТЧ по индексу строки после удаления строк — индексы смещаются, и обработка затрагивает не те строки или падает с ошибкой.
02
Изменение объекта без Записать() — все правки табличной части теряются при закрытии формы.
03
Запрос к табличной части без отбора по ссылке или периоду — выборка миллионов строк и зависание отчёта.
04
Путаница между именем ТЧ в конфигураторе и синонимом на форме: в коде и запросе используется только имя, заданное в метаданных.
05
Ручная правка ТЧ проведённого документа обработкой без перепроведения — данные регистров перестают соответствовать документу.

Отдельная ошибка пользователей — попытка удалить «лишнюю» табличную часть из формы документа. Состав ТЧ определяется конфигурацией, и скрыть её можно только настройкой формы, если конфигурация это позволяет, либо доработкой. Удалить ТЧ из типового объекта без снятия конфигурации с поддержки нельзя.

Контрольные точки

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

Сохранность строк после правки
Норма

После записи и повторного открытия документа все строки и суммы на месте

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

Строки или изменения пропали — объект не был записан

Соответствие документа и регистров
Норма

Отчёты по регистрам совпадают с данными ТЧ проведённого документа

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

Расхождения — документ меняли без перепроведения, требуется перепровести

Скорость отчёта по ТЧ
Норма

Отчёт формируется за секунды при заданном периоде

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

Отчёт висит — в запросе нет отборов по периоду и ссылкам

Когда табличную часть заменяют другими механизмами

ТЧ — не универсальное решение. Если данные должны анализироваться независимо от объекта-владельца, накапливаться во времени или связываться с несколькими объектами, правильнее использовать регистры. Например, остатки товаров хранят не в табличных частях документов, а в регистре накопления, куда документы лишь пишут движения при проведении.

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

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

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

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

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

Что значит «ТЧ» в переписке по 1С?

Это общепринятое сокращение от «табличная часть». Фраза «проверьте ТЧ Товары» означает: откройте документ и проверьте строки на вкладке «Товары» — заполнение номенклатуры, количества, цен и сумм.

Может ли один документ иметь несколько табличных частей?

Да. Например, в типовой реализации есть отдельные ТЧ «Товары» и «Услуги» с разным набором колонок. Каждая ТЧ — независимая таблица, в запросах к ним обращаются по отдельности.

Как выгрузить табличную часть в Excel?

Проще всего: откройте документ, кликните в табличную часть, нажмите «Ещё» → «Вывести список» и сохраните табличный документ в формате Excel. Во многих конфигурациях также есть кнопка выгрузки или возможность скопировать строки через буфер обмена.

Почему в запросе нельзя просто выбрать ТЧ без документа?

Строки табличной части физически связаны с объектом-владельцем и не существуют отдельно. В запросе всегда указывайте таблицу вида Документ.Имя.ИмяТЧ и отбор по ссылке или периоду, иначе получите строки всех документов этого вида.

Изменил строки в ТЧ, а после закрытия они пропали. Почему?

Изменения объекта сохраняются только при записи. Если вы правили данные программно — нужен вызов Записать(); если в форме — кнопка «Записать» или «Провести». Закрытие формы без записи отменяет все правки.

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

Только через доработку конфигурации в конфигураторе, что для типовых решений обычно требует снятия объекта с полной поддержки и усложняет обновления. Безопасная альтернатива — скрыть ТЧ настройкой формы или реализовать нужное через расширение конфигурации.

Итог

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

ТЧ в 1С — это табличная часть: вложенная в объект таблица строк, например перечень товаров в накладной. Она не существует без объекта-владельца, изменения сохраняются только при записи объекта, а в запросах к ней обращаются через имя вида Документ.Имя.ИмяТЧ с обязательным отбором по ссылке.