Разработка и Конфигурация · 9 мин
Как создать таблицу в 1С:Предприятие
Как создать таблицу в 1С:Предприятие: табличный документ, таблица значений и табличная часть справочника. Пошаговые инструкции, примеры кода, ошибки и FAQ.
В 1С:Предприятие слово «таблица» означает сразу несколько разных объектов, и прежде чем создавать что-либо, нужно понять, какая именно таблица требуется. Пользователю чаще всего нужен табличный документ — файл в формате MXL, похожий на лист Excel, который можно заполнить, отформатировать и распечатать. Разработчику обычно нужна таблица значений — программная структура данных в памяти, или табличная часть — вложенная таблица внутри справочника или документа.
Каждый из этих вариантов создаётся своим способом: табличный документ — через меню «Файл» или в конфигураторе, таблица значений — только кодом на встроенном языке, табличная часть — в дереве метаданных конфигуратора. Ниже разобраны все три сценария с конкретными шагами, примерами кода и типичными ошибками.
Инструкции применимы к платформе 1С:Предприятие 8.3 в режимах «Тонкий клиент» и «Толстый клиент». В типовых конфигурациях (Бухгалтерия, Управление торговлей, Зарплата и управление персоналом) названия пунктов меню могут немного отличаться, но логика действий сохраняется.
Какую таблицу вы хотите создать: выбираем тип объекта
Прежде чем открывать конфигуратор или редактор, определите назначение таблицы. От этого зависит весь дальнейший путь, и ошибка на этом этапе приводит к тому, что созданный объект не решает задачу.
Табличный документ нужен, если требуется визуальная таблица: прайс-лист, отчёт для просмотра на экране, макет для печати, шаблон с объединёнными ячейками и рамками. Это аналог листа Excel внутри 1С.
Таблица значений нужна для промежуточной обработки данных в коде: выгрузить результат запроса, отсортировать строки, сгруппировать показатели, передать данные между процедурами. Она существует только в оперативной памяти, пока выполняется код, и не хранится в базе.
Табличная часть нужна, когда справочник или документ должен хранить список строк: товары в накладной, сотрудники в приказе, контактные лица у контрагента. Это постоянная структура данных, которая сохраняется в базе вместе с объектом.
Сравнение вариантов
Для отображения, печати и макетов. Не хранит данные в базе, редактируется визуально.
Для обработки данных в коде. Живёт только в памяти, требует знания встроенного языка.
Для хранения строк внутри справочника или документа. Создаётся только в конфигураторе, нужны права на изменение конфигурации.
Как создать табличный документ в режиме предприятия
Это самый простой сценарий, доступный обычному пользователю без прав разработчика. Откройте меню «Файл» → «Новый» и в списке типов документов выберите «Табличный документ». Откроется пустой лист с сеткой ячеек.
Заполнение аналогично работе в электронных таблицах: щёлкните ячейку и введите текст или число, выделите диапазон для объединения ячеек (меню «Таблица» → «Объединить»), настройте шрифт, границы и цвет заливки через панель форматирования или пункт «Свойства» контекстного меню.
Чтобы сохранить результат, используйте «Файл» → «Сохранить как» и выберите формат: MXL (родной формат 1С), XLSX, PDF, HTML или ODS. Формат MXL сохраняет все особенности оформления, остальные форматы подходят для передачи документа тем, у кого нет 1С.
- 1Откройте «Файл → Новый → Табличный документ»
- 2Введите данные в ячейки, объедините нужные диапазоны
- 3Настройте шрифты, границы и заливку через контекстное меню
- 4Сохраните файл в формате MXL или экспортируйте в XLSX/PDF
- 5Откройте сохранённый файл и проверьте, что оформление не «поехало»
Табличный документ как макет в конфигураторе
Если таблица нужна как шаблон для печатной формы или отчёта, её создают в конфигураторе. Откройте конфигурацию, найдите нужный объект (например, документ «Реализация товаров»), перейдите на вкладку «Макеты» и нажмите «Добавить» → «Табличный документ». В редакторе макета выделяйте области, задавайте имена областей и вставляйте параметры вида [НаименованиеТовара] — они будут заполняться данными при формировании печатной формы.
Как создать таблицу значений программно
Таблица значений создаётся только кодом на встроенном языке. Минимальный пример: объявляем таблицу, добавляем колонки с указанием типа данных и заполняем строки.
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(150)));
Таблица.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
Таблица.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
НоваяСтрока = Таблица.Добавить();
НоваяСтрока.Номенклатура = "Товар 1";
НоваяСтрока.Количество = 5;
НоваяСтрока.Сумма = 1250.50;
На практике таблицу значений чаще получают из запроса методом Запрос.Выполнить().Выгрузить() — тогда структура колонок формируется автоматически по полям запроса. Дальше с таблицей работают методами Найти(), НайтиСтроки(), Сортировать(), Свернуть(), Итог().
Важно помнить: метод Свернуть() изменяет саму таблицу, удаляя детальные строки. Если исходные данные ещё понадобятся, сначала сделайте копию через Таблица.Скопировать().
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Товар");
Строка = Таблица.Добавить();
Строка.Товар = "Пример";Как добавить табличную часть к справочнику или документу
Табличная часть создаётся только в конфигураторе и требует прав на изменение структуры конфигурации. Откройте конфигуратор, найдите нужный объект в дереве конфигурации, раскройте его ветку, щёлкните правой кнопкой по пункту «Табличные части» и выберите «Добавить».
Задайте имя табличной части (например, «Товары» или «Сотрудники»), затем добавьте реквизиты — это колонки таблицы: номенклатура, количество, цена, сумма. Для каждого реквизита укажите тип: строка, число, ссылка на справочник. После этого обновите конфигурацию базы данных клавишей F7 и подтвердите реструктуризацию.
Чтобы табличная часть появилась на форме объекта, откройте форму документа и перетащите табличную часть из панели реквизитов в дерево элементов формы. В управляемых формах платформа часто делает это автоматически при обновлении формы.
Заполнение табличной части программно
В коде к строкам табличной части обращаются как к коллекции: Документ.Товары.Добавить() создаёт новую строку, далее заполняются её реквизиты. Для перебора строк используется цикл Для Каждого Строка Из Документ.Товары Цикл. После изменений не забудьте записать объект методом Записать(), иначе данные не сохранятся в базе.
Проверка результата и типичные ошибки
После создания таблицы любого типа убедитесь, что она работает так, как задумано. Для табличного документа — откройте сохранённый файл и проверьте оформление. Для таблицы значений — выведите количество строк через Сообщить(Таблица.Количество()) или посмотрите содержимое в отладчике. Для табличной части — создайте тестовый документ в режиме предприятия и добавьте несколько строк.
Как проверить результат
Файл открывается, ячейки и оформление на месте
Пустой лист или сбитое форматирование после сохранения
Количество() возвращает ожидаемое число строк, колонки доступны по именам
Ошибка «Поле не обнаружено» — имя колонки указано с опечаткой
Строки добавляются в форме и сохраняются после записи документа
Табличная часть не видна на форме или данные пропадают после записи
Частые вопросы о создании таблиц в 1С
Можно ли создать таблицу в 1С без конфигуратора?
Да — табличный документ создаётся в режиме предприятия через «Файл → Новый». А вот таблицу значений и табличную часть без конфигуратора или внешней обработки создать нельзя: первая требует исполнения кода, вторая — изменения структуры конфигурации.
Чем таблица значений отличается от табличной части?
Таблица значений — временная структура в памяти для обработки данных в коде, она исчезает после завершения процедуры. Табличная часть — постоянная структура, привязанная к справочнику или документу, её строки хранятся в базе данных вместе с объектом.
Как вывести таблицу значений на экран пользователю?
Создайте на форме обработки или отчёта реквизит типа «ТаблицаЗначений», добавьте в него колонки и перетащите реквизит в дерево элементов формы — платформа отобразит табличное поле. Затем заполните реквизит данными в коде.
Можно ли загрузить данные из Excel в таблицу 1С?
Да, но штатного универсального загрузчика в платформе нет. Обычно используют типовые обработки загрузки данных из табличного документа (входят во многие конфигурации) или читают файл программно через COM-объект Excel либо через сохранение листа как табличного документа MXL.
Почему после добавления табличной части пользователи её не видят?
Чаще всего не обновлена форма объекта — табличную часть нужно вручную добавить в элементы формы. Также проверьте права доступа: роль пользователя должна включать права на просмотр и редактирование соответствующего объекта; при необходимости обновите роли и перезапустите сеанс пользователя.
Что важно запомнить
Определите тип таблицы по задаче: табличный документ — для печати и просмотра, таблица значений — для обработки данных в коде, табличная часть — для хранения строк в объекте. Изменения структуры конфигурации делайте только на копии базы. После создания всегда проверяйте результат: откройте файл, посчитайте строки или заполните тестовый документ.