Быстрый старт · 10 мин
Что такое таблица в 1С и как с ней работать
Разбираем, что такое таблица в 1С: табличные части документов, таблицы значений, таблицы базы данных. Где хранятся данные, как читать и редактировать таблицы.
Слово «таблица» в 1С означает сразу несколько разных вещей, и именно это чаще всего путает новичков. В одном случае это знакомая сетка из строк и колонок на экране — например, список товаров в накладной. В другом — внутренняя структура базы данных, которую пользователь никогда не видит напрямую. В третьем — программный объект «таблица значений», с которым работают разработчики при написании отчётов и обработок.
Понимание разницы между этими понятиями важно на практике. Бухгалтеру нужно знать, как заполнить табличную часть документа и не потерять данные. Администратору — где физически лежат таблицы базы и почему нельзя править их напрямую в SQL. Разработчику — как создать таблицу значений в коде и вывести её в отчёт.
Материал разбирает все три значения термина: табличные части документов и справочников, таблицы значений как объект языка 1С и таблицы базы данных. Для каждого случая даны конкретные действия, ограничения и типичные ошибки, чтобы можно было сразу применить знания в работе.
Что скрывается за словом «таблица» в 1С
В экосистеме 1С термин «таблица» применяется на трёх уровнях, и смешивать их не стоит. Первый уровень — визуальный: табличная часть объекта, которую пользователь видит и заполняет в форме документа или справочника. Второй уровень — программный: объект встроенного языка «ТаблицаЗначений», который живёт в памяти компьютера во время выполнения кода. Третий уровень — физический: таблицы СУБД (MS SQL Server, PostgreSQL или файловой базы), где реально хранятся все данные.
Эти уровни связаны между собой. Когда кладовщик добавляет строку с товаром в накладную, он работает с табличной частью документа. При проведении документа программа формирует движения по регистрам — а это уже записи в таблицах базы данных. Если отчёт строится программно, промежуточные данные часто собираются в таблицу значений, а потом выводятся пользователю.
Определить, о какой таблице идёт речь в конкретной ситуации, помогает контекст: если речь о заполнении документа — это табличная часть; если о коде и выгрузке данных — таблица значений; если о размере базы, индексах и обслуживании — таблицы СУБД.
Табличные части документов и справочников
Табличная часть — самый частый вид таблицы, с которым работает рядовой пользователь. Она есть почти в каждом документе: «Товары» в поступлении и реализации, «Начисления» в документе расчёта зарплаты, «Оплата» в кассовых ордерах. У справочников табличные части тоже встречаются — например, у контрагента может быть список договоров или контактных лиц.
Каждая строка табличной части — это отдельная позиция со своими значениями в колонках. Набор колонок жёстко задан конфигурацией: пользователь не может добавить произвольную колонку в накладную, это делает только разработчик через конфигуратор. А вот скрыть лишние колонки или поменять их порядок для удобства можно через настройку формы (обычно пункт «Ещё» → «Изменить форму»).
Как заполнить табличную часть без ошибок
Строки добавляются кнопкой «Добавить», клавишей Insert или подбором — массовым окном выбора номенклатуры. Подбор удобнее, когда позиций много: он позволяет выбрать несколько товаров, указать количество и перенести всё одним действием. При добавлении строки программа часто подставляет цены, ставки НДС и счета учёта автоматически — эти значения стоит проверить, а не принимать вслепую.
Удаление строки выполняется кнопкой «Удалить» или клавишей Delete. Важно помнить: пока документ не записан, все изменения в табличной части существуют только на экране. Закрытие окна без записи приведёт к потере введённых строк.
- 1Откройте документ и перейдите на вкладку с табличной частью, например «Товары».
- 2Добавьте строки кнопкой «Добавить» или через «Подбор» для массового выбора.
- 3Проверьте автоматически заполненные колонки: цены, ставки НДС, счета учёта.
- 4Запишите документ кнопкой «Записать», затем проведите кнопкой «Провести».
- 5Откройте движения документа, чтобы убедиться, что данные попали в учётные регистры.
Таблица значений — инструмент разработчика
Таблица значений — это объект встроенного языка 1С, который существует только в оперативной памяти во время выполнения кода. В неё загружают результаты запросов, промежуточные расчёты, данные из файлов Excel и CSV. После обработки таблицу выводят в отчёт, передают в другую процедуру или используют для заполнения табличной части документа.
Структура таблицы значений задаётся программно: разработчик добавляет колонки с указанием типа данных (строка, число, дата, ссылка на объект), затем заполняет строки. В отличие от табличной части документа, таблица значений нигде не сохраняется сама по себе — при завершении работы процедуры она уничтожается. Если данные нужно сохранить, их записывают в объекты базы: документы, регистры, справочники.
Типичный сценарий — обработка загрузки прайса: файл читается построчно, каждая строка превращается в строку таблицы значений, затем таблица сверяется с номенклатурой базы и создаются документы установки цен. Такой подход позволяет сначала показать пользователю, что будет загружено, и только потом записывать данные.
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Номенклатура");
Таблица.Колонки.Добавить("Цена");
НоваяСтрока = Таблица.Добавить();
НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("000123");
НоваяСтрока.Цена = 1500;Для выгрузки данных из табличной части документа в таблицу значений используется метод Выгрузить(), обратная операция — Загрузить(). Это стандартный способ программного копирования строк между объектами.
Таблицы базы данных: где реально хранятся данные
Вся информация 1С в итоге лежит в таблицах базы данных. В файловом варианте это единый файл 1Cv8.1CD, в клиент-серверном — таблицы в MS SQL Server, PostgreSQL, Oracle или IBM Db2. Каждому объекту конфигурации соответствует одна или несколько таблиц СУБД: у документа — таблица шапки и отдельные таблицы табличных частей, у регистра накопления — таблица движений и таблица итогов.
Имена этих таблиц технические (например, _Document123, _AccumRg456) и не совпадают с названиями в конфигурации. Соответствие можно посмотреть через функцию «Получить структуру хранения базы данных» в конфигураторе или специальными внешними инструментами. Для обычной работы знать эти имена не нужно — 1С сама транслирует обращения к объектам в запросы к СУБД.
Размер таблиц базы — важный параметр для администратора. Самыми тяжёлыми обычно оказываются таблицы движений регистров и итогов: в активно работающей базе они растут быстрее всего. Контролировать размер помогают штатные отчёты СУБД и регламентные операции: свёртка базы, удаление помеченных объектов, пересчёт итогов.
Как выгрузить таблицу из 1С и загрузить обратно
Практически любую видимую таблицу в 1С можно выгрузить в файл. Для списков и табличных частей работает команда «Вывести список» (через кнопку «Ещё»): программа формирует табличный документ, который сохраняется в Excel, PDF или mxl. Табличные документы — это ещё один вид таблиц в 1С, предназначенный исключительно для отображения и печати, а не для хранения данных.
Обратная операция — загрузка из файла — в типовых конфигурациях доступна не везде. Загрузка номенклатуры, цен и остатков из Excel обычно есть в разделе администрирования или закупок. Если штатной загрузки нет, используются внешние обработки, но запускать их стоит только из проверенных источников и сначала на копии базы.
Как проверить, что данные в таблицах корректны
После заполнения табличной части документа основная проверка — движения документа. Кнопка «Движения документа» (или «Ещё» → «Движения документа») показывает, какие записи попали в регистры при проведении. Если табличная часть заполнена, а движений нет или они неполные — значит, документ проведён с ошибкой либо не проведён вовсе.
Для сверки данных в масштабе базы используются стандартные отчёты: оборотно-сальдовая ведомость для бухгалтерского учёта, отчёты по остаткам склада для товаров. Расхождение между суммой в документе и данными отчёта — признак того, что часть документов не проведена, проведена дважды или изменена задним числом.
Как проверить результат
Проведён, движения по регистрам сформированы
Статус «не проведён» или пустой список движений
Совпадают с суммами проведённых документов
Расхождения при полностью проведённых документах
Количество загруженных строк равно строкам файла, без дублей
Появились дубли номенклатуры или пустые позиции
Часто задаваемые вопросы
Чем табличная часть отличается от таблицы значений?
Табличная часть — постоянная структура внутри документа или справочника, её данные сохраняются в базе вместе с объектом. Таблица значений — временный программный объект в памяти, который исчезает после выполнения кода. Пользователь работает с табличными частями, разработчик — с обоими видами.
Можно ли добавить свою колонку в табличную часть накладной?
Пользователь не может — состав колонок определяется конфигурацией. Изменить набор колонок может только разработчик через конфигуратор, добавив реквизит табличной части. Пользователю доступно лишь скрытие и переупорядочивание существующих колонок через настройку формы.
Где физически хранятся таблицы 1С?
В файловой базе — внутри единого файла 1Cv8.1CD. В клиент-серверном варианте — в таблицах СУБД (MS SQL, PostgreSQL и другие) с техническими именами вида _Document или _AccumRg. Соответствие объектов конфигурации и таблиц СУБД видно через «Структуру хранения базы данных» в конфигураторе.
Как перенести список товаров из накладной в Excel?
Откройте документ, в меню «Ещё» табличной части выберите «Вывести список», отметьте нужные колонки и подтвердите. Полученный табличный документ сохраняется через «Файл» → «Сохранить как» в формате Excel. Учтите: это разовая выгрузка для просмотра, а не инструмент обмена данными.
Почему нельзя править данные напрямую в SQL-таблицах?
1С хранит данные избыточно: рядом с движениями лежат итоги, рядом с объектами — служебные таблицы ссылок. Прямое изменение одной таблицы не обновляет связанные, в результате отчёты начинают врать, а ссылки — указывать в никуда. Восстановление после такой правки часто возможно только из резервной копии.
Что важно запомнить
Таблица в 1С — это табличная часть документа для пользователя, таблица значений в коде для разработчика и таблицы СУБД для хранения. Работайте с данными только через документы и штатные механизмы, записывайте документы до закрытия и проверяйте результат по движениям и отчётам.