Разработка и Конфигурация · 11 мин
ТЧ в 1С: что это такое и как с ней работать
ТЧ в 1С — это табличная часть документа или справочника. Разбираем, что это, где находится, как заполнить, изменить и обойти в запросе и коде.
ТЧ в 1С — это сокращение от «табличная часть», одного из базовых объектов конфигурации. Табличная часть представляет собой набор строк однотипных данных, которые принадлежат конкретному объекту: документу, справочнику, обработке или плану видов характеристик. Классический пример — список товаров в документе «Реализация товаров и услуг»: шапка документа хранит контрагента и дату, а табличная часть «Товары» хранит строки с номенклатурой, количеством, ценой и суммой.
Аббревиатуру ТЧ постоянно используют разработчики, консультанты и пользователи в переписке и инструкциях: «добавьте строку в ТЧ», «проверьте заполнение ТЧ», «выгрузите ТЧ в Excel». Поэтому понимание того, что это за объект, как он устроен и как с ним работать, нужно и обычному пользователю, и программисту 1С.
Важно понимать ключевое ограничение: табличная часть не существует сама по себе. Строки ТЧ физически хранятся в базе данных вместе со ссылкой на объект-владелец, и удалить или прочитать их можно только через этот объект. Это отличает ТЧ от регистров и независимых справочников.
Что такое табличная часть и где она встречается
Табличная часть состоит из колонок (реквизитов ТЧ) и строк. Колонки описывают структуру данных — например, «Номенклатура», «Количество», «Цена», «Сумма», «Ставка НДС». Каждая строка — это одна запись с конкретными значениями этих колонок. Набор колонок фиксируется в конфигураторе и одинаков для всех строк данной табличной части.
Табличные части есть у нескольких типов объектов:
- Документы — самый частый случай: «Товары» и «Услуги» в реализации, «Начисления» в документе начисления зарплаты, «Оплата» в кассовых документах.
- Справочники — например, табличная часть «Контактная информация» у контрагентов или «Состав» у комплектов номенклатуры.
- Обработки и отчёты — ТЧ используется как временная таблица для ввода или отображения данных пользователю.
- Планы видов характеристик, задачи, бизнес-процессы — встречаются реже, но механика та же.
У одного объекта может быть несколько табличных частей. Документ «Реализация товаров и услуг» в типовых конфигурациях содержит отдельные ТЧ «Товары», «Услуги», «Возвратная тара» и другие. Каждая из них — самостоятельная таблица со своим набором колонок.
Чем табличная часть отличается от таблицы значений и регистра
Новички часто путают ТЧ с похожими объектами. Различия принципиальны, потому что от них зависит, как обращаться к данным.
| Объект | Где хранится | Когда используется |
|---|---|---|
| Табличная часть | В базе, вместе с объектом-владельцем | Строки документа или справочника, сохраняемые в базе |
| Таблица значений | Только в оперативной памяти | Временные расчёты, промежуточная обработка данных в коде |
| Регистр (сведений, накопления) | В базе, независимо от документов | Учёт остатков, оборотов, периодических сведений |
Главный практический вывод: таблица значений исчезает после завершения процедуры, а табличная часть сохраняется при записи объекта. Если нужно, чтобы данные «пережили» сеанс работы, — используйте ТЧ или регистр, а не таблицу значений.
Как работать с ТЧ в режиме пользователя
Обычный пользователь сталкивается с табличными частями каждый раз, когда заполняет документ. Стандартные действия одинаковы почти во всех конфигурациях:
- Добавить строку — кнопка «Добавить» на командной панели табличной части или клавиша Insert.
- Скопировать строку — F9 или кнопка «Скопировать», удобно при вводе похожих позиций.
- Удалить строку — Delete или кнопка «Удалить»; строка удаляется без подтверждения, поэтому действуйте внимательно.
- Подбор — кнопка «Подбор» открывает список номенклатуры с возможностью добавить сразу несколько позиций.
- Сортировка и перемещение — строки можно перетаскивать или сортировать по колонке, порядок строк сохраняется в документе.
Многие конфигурации поддерживают загрузку ТЧ из файла Excel или CSV — обычно это кнопка «Заполнить» → «Загрузить из файла» либо отдельная обработка загрузки. Перед загрузкой проверьте соответствие колонок файла колонкам табличной части, иначе данные попадут не в те поля.
- 1Откройте документ и перейдите на вкладку с нужной табличной частью (например, «Товары»).
- 2Нажмите «Добавить» или Insert — появится новая пустая строка.
- 3Заполните колонки: выберите номенклатуру, укажите количество и цену.
- 4Проверьте, что сумма и НДС рассчитались автоматически; если нет — проверьте заполнение ставки НДС.
- 5Запишите документ кнопкой «Записать» или «Провести».
Как обращаться к ТЧ в коде 1С
Для разработчика табличная часть — это коллекция строк, доступная как свойство объекта. Обращение идёт по имени ТЧ, заданному в конфигураторе:
// Перебор строк табличной части документа
Для Каждого СтрокаТЧ Из ДокументОбъект.Товары Цикл
СтрокаТЧ.Сумма = СтрокаТЧ.Количество * СтрокаТЧ.Цена;
КонецЦикла;
// Добавление новой строки
НоваяСтрока = ДокументОбъект.Товары.Добавить();
НоваяСтрока.Номенклатура = НайденнаяНоменклатура;
НоваяСтрока.Количество = 2;
Часто используемые методы и приёмы:
ТЧ.Количество()— число строк в табличной части.ТЧ.Найти(Значение, "Номенклатура")— поиск строки по значению колонки.ТЧ.НайтиСтроки(ПараметрыОтбора)— получение массива строк по структуре отбора.ТЧ.Итог("Сумма")— сумма по числовой колонке без перебора строк.ТЧ.Очистить()— удаление всех строк; действие необратимо после записи объекта.ТЧ.Выгрузить()— преобразование ТЧ в таблицу значений для дальнейшей обработки, свёртки или передачи в запрос.
Изменения в табличной части объекта фиксируются в базе только после вызова Объект.Записать(). Если вы перебрали строки, поменяли суммы, но не записали объект — при закрытии данные будут потеряны.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Товары.Номенклатура, Товары.Количество
|ИЗ Документ.РеализацияТоваровУслуг.Товары КАК Товары
|ГДЕ Товары.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", СсылкаНаДокумент);
Результат = Запрос.Выполнить().Выгрузить();Табличная часть в запросах
В языке запросов 1С табличная часть доступна как отдельная виртуальная таблица с именем вида Документ.ИмяДокумента.ИмяТабличнойЧасти. Обязательное условие — фильтрация по ссылке на объект-владелец, иначе запрос выберет строки всех документов этого вида, что медленно и обычно бессмысленно.
Типовые сценарии запросов к ТЧ:
- получение состава конкретного документа для печатной формы или обработки;
- сводные отчёты по строкам документов за период — например, продажи по номенклатуре с группировкой и суммированием количества;
- сравнение данных ТЧ с данными регистров при поиске расхождений.
При построении отчётов по табличным частям добавляйте отбор по периоду через поле Ссылка.Дата и по организации через Ссылка.Организация. Запрос по всем строкам ТЧ всех документов без отборов — частая причина медленной работы отчётов.
Типичные задачи и ошибки при работе с ТЧ
На практике с табличными частями связано несколько повторяющихся задач: выгрузка в Excel (через «Вывести список» или программно), очистка дублей строк, перенумерация, проверка заполнения перед проведением. Проверку заполнения в типовых конфигурациях выполняет процедура ОбработкаПроверкиЗаполнения — она отказывает в проведении, если обязательные колонки пусты.
Отдельная ошибка пользователей — попытка удалить «лишнюю» табличную часть из формы документа. Состав ТЧ определяется конфигурацией, и скрыть её можно только настройкой формы, если конфигурация это позволяет, либо доработкой. Удалить ТЧ из типового объекта без снятия конфигурации с поддержки нельзя.
Как проверить результат
После записи и повторного открытия документа все строки и суммы на месте
Строки или изменения пропали — объект не был записан
Отчёты по регистрам совпадают с данными ТЧ проведённого документа
Расхождения — документ меняли без перепроведения, требуется перепровести
Отчёт формируется за секунды при заданном периоде
Отчёт висит — в запросе нет отборов по периоду и ссылкам
Когда табличную часть заменяют другими механизмами
ТЧ — не универсальное решение. Если данные должны анализироваться независимо от объекта-владельца, накапливаться во времени или связываться с несколькими объектами, правильнее использовать регистры. Например, остатки товаров хранят не в табличных частях документов, а в регистре накопления, куда документы лишь пишут движения при проведении.
Для временных данных, которые не нужно сохранять в базе (результаты расчёта, промежуточная выгрузка), используют таблицу значений. Выбор механизма на этапе проектирования доработки определяет, насколько удобно потом строить отчёты и обмены.
Как выбрать механизм хранения
FAQ: частые вопросы о табличных частях
Что значит «ТЧ» в переписке по 1С?
Это общепринятое сокращение от «табличная часть». Фраза «проверьте ТЧ Товары» означает: откройте документ и проверьте строки на вкладке «Товары» — заполнение номенклатуры, количества, цен и сумм.
Может ли один документ иметь несколько табличных частей?
Да. Например, в типовой реализации есть отдельные ТЧ «Товары» и «Услуги» с разным набором колонок. Каждая ТЧ — независимая таблица, в запросах к ним обращаются по отдельности.
Как выгрузить табличную часть в Excel?
Проще всего: откройте документ, кликните в табличную часть, нажмите «Ещё» → «Вывести список» и сохраните табличный документ в формате Excel. Во многих конфигурациях также есть кнопка выгрузки или возможность скопировать строки через буфер обмена.
Почему в запросе нельзя просто выбрать ТЧ без документа?
Строки табличной части физически связаны с объектом-владельцем и не существуют отдельно. В запросе всегда указывайте таблицу вида Документ.Имя.ИмяТЧ и отбор по ссылке или периоду, иначе получите строки всех документов этого вида.
Изменил строки в ТЧ, а после закрытия они пропали. Почему?
Изменения объекта сохраняются только при записи. Если вы правили данные программно — нужен вызов Записать(); если в форме — кнопка «Записать» или «Провести». Закрытие формы без записи отменяет все правки.
Можно ли удалить или переименовать табличную часть в типовой конфигурации?
Только через доработку конфигурации в конфигураторе, что для типовых решений обычно требует снятия объекта с полной поддержки и усложняет обновления. Безопасная альтернатива — скрыть ТЧ настройкой формы или реализовать нужное через расширение конфигурации.
Что важно запомнить
ТЧ в 1С — это табличная часть: вложенная в объект таблица строк, например перечень товаров в накладной. Она не существует без объекта-владельца, изменения сохраняются только при записи объекта, а в запросах к ней обращаются через имя вида Документ.Имя.ИмяТЧ с обязательным отбором по ссылке.