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

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

Как сделать таблицу в 1С: все способы от простого к сложному

Как создать таблицу в 1С: вставка из Excel, таблица значений, табличный документ и печатная форма. Пошаговые инструкции, примеры кода, типичные ошибки и FAQ.

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

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

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

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

Как выбрать способ

Нужно перенести строки из Excel в документ или справочникИспользуйте вставку из буфера обмена или обработку загрузки данных
Нужно обработать данные внутри алгоритма, отбора или запросаСоздайте программную ТаблицуЗначений
Нужно вывести таблицу на экран или на печатьСформируйте ТабличныйДокумент по макету
Нужна красивая печатная форма документаОтредактируйте макет печатной формы или создайте внешнюю печатную форму

Вставка таблицы из Excel в документ 1С

Самый частый пользовательский сценарий — перенести список товаров, контрагентов или номенклатуры из Excel в табличную часть документа. В типовых конфигурациях (Управление торговлей, ERP, Комплексная автоматизация, Бухгалтерия) в табличных частях есть кнопка «Заполнить» или команда «Загрузить из внешнего файла», а во многих документах работает вставка напрямую из буфера обмена.

Порядок действий для вставки из буфера: выделите в Excel нужный диапазон ячеек и скопируйте его (Ctrl+C). Откройте документ в 1С, перейдите на вкладку с табличной частью, установите курсор в первую строку и нажмите Ctrl+V либо выберите в меню «Ещё» команду вставки строк. Программа попытается сопоставить колонки по порядку и распознать номенклатуру по наименованию или артикулу.

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

Создание таблицы значений в коде

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

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

bsl
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
Таблица.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
Таблица.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));

НоваяСтрока = Таблица.Добавить();
НоваяСтрока.Номенклатура = СсылкаНаТовар;
НоваяСтрока.Количество = 5;
НоваяСтрока.Сумма = 1250;

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

Вывод таблицы на экран и печать: табличный документ

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

Типовая схема формирования такова: создаётся макет (в конфигураторе — объект «Макет» типа «Табличный документ»), в макете выделяются области — шапка, строка, подвал. В коде создаётся новый табличный документ, из макета последовательно получаются области, в параметры областей подставляются значения, области выводятся в документ методом «Вывести».

bsl
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетОтчета");

ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(ОбластьШапка);

Для Каждого СтрокаДанных Из ТаблицаДанных Цикл
    ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
    ОбластьСтрока.Параметры.Наименование = СтрокаДанных.Наименование;
    ОбластьСтрока.Параметры.Сумма = СтрокаДанных.Сумма;
    ТабДок.Вывести(ОбластьСтрока);
КонецЦикла;

ТабДок.Показать("Результат");

Готовый табличный документ можно показать пользователю, отправить на печать, сохранить в Excel (метод «Записать» с типом файла XLSX) или в PDF. Это основной способ обмена печатными формами с контрагентами, у которых нет доступа к вашей базе.

Настройка печатной формы с таблицей без программирования

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

Путь обычно такой: откройте документ, нажмите «Печать», выберите нужную форму, затем в меню «Ещё» найдите команду «Изменить макет» (в некоторых конфигурациях — через «Администрирование» → «Печатные формы, отчеты и обработки» → «Макеты печатных форм»). Откроется табличный документ-шаблон, где можно двигать границы ячеек, менять текст и форматирование. Параметры в угловых скобках или квадратных скобках — это места подстановки данных, их имена менять нельзя.

Для более сложных доработок — новые колонки с расчётами, дополнительные итоги — потребуется внешняя печатная форма. Это файл-обработка, который подключается через «Дополнительные отчеты и обработки» без изменения конфигурации. Такой подход безопасен при обновлениях: типовая конфигурация остаётся на поддержке.

Таблица в отчёте на СКД

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

Для вывода данных в виде именно таблицы (а не списка) в настройках СКД на вкладке структуры выберите вариант «Таблица»: в строках укажите одно измерение (например, контрагенты), в колонках — другое (например, периоды или склады). На пересечении СКД покажет значения ресурса. Это аналог сводной таблицы Excel, но работающий напрямую по данным базы без выгрузок.

Как получить сводную таблицу в отчёте
  1. 1
    Откройте нужный отчёт и нажмите «Настройки» (или «Ещё» → «Изменить вариант»)
  2. 2
    В структуре отчёта выберите тип «Таблица» вместо группировок
  3. 3
    В строки таблицы добавьте первое измерение, в колонки — второе
  4. 4
    Убедитесь, что выбран нужный ресурс (сумма, количество)
  5. 5
    Сформируйте отчёт и проверьте итоги на пересечениях
  6. 6
    Сохраните вариант настроек, чтобы не настраивать заново

Проверка результата и типичные ошибки

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

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

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

Количество строк в таблице
Норма

Совпадает с количеством строк в источнике

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

Строк меньше — часть данных не распозналась или отфильтровалась

Итоговая сумма по числовой колонке
Норма

Сходится с контрольной суммой источника

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

Расхождение — числа загрузились как текст или потеряны разряды

Ссылки на справочник (номенклатура, контрагенты)
Норма

Поля заполнены, элементы открываются по клику

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

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

Печатная форма на предпросмотре
Норма

Все параметры подставлены, таблица не разрывается криво

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

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

Типичные ошибки
01
Загрузка из Excel без пробного прогона — сотни ошибочных строк приходится удалять вручную
02
Колонки таблицы значений без указания типа — составной тип ломает сортировку и сравнение значений
03
Переименование параметров в макете печатной формы — данные перестают подставляться
04
Доработка типовой печатной формы внутри конфигурации вместо внешней — изменения слетают при обновлении
05
Попытка сохранить табличный документ «в базу» — он хранится только как результат, для хранения данных нужны объекты конфигурации

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

Итог

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

Выберите инструмент под задачу: буфер обмена и обработки загрузки — для переноса из Excel, ТаблицаЗначений — для обработки в коде, ТабличныйДокумент с макетом — для печати, СКД — для аналитических таблиц. Перед массовой загрузкой делайте копию базы, после — сверяйте количество строк и итоги.

Частые вопросы

Можно ли вставить таблицу из Excel в 1С простым копированием?

Да, во многих типовых конфигурациях табличные части документов поддерживают вставку из буфера обмена: копируете диапазон в Excel и вставляете в табличную часть через Ctrl+V. Порядок колонок в Excel должен соответствовать порядку колонок в документе, иначе данные попадут не в те поля. Если команда вставки недоступна, используйте обработку загрузки данных из файла.

Чем таблица значений отличается от табличного документа?

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

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

Если конфигурация поддерживает пользовательские макеты, откройте макет печатной формы на редактирование (через меню «Печать» → «Ещё» → «Изменить макет» или через раздел администрирования) и добавьте колонку в шаблон. Но подставить в неё новое вычисляемое поле без доработки кода не получится — для этого нужна внешняя печатная форма, которую пишет разработчик.

Почему после загрузки из Excel числа не суммируются?

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

Можно ли сохранить сформированную таблицу из 1С в Excel?

Да, любой табличный документ (отчёт, печатная форма) сохраняется через «Файл» → «Сохранить как» с выбором формата XLSX, либо программно методом «Записать». Форматирование (границы, шрифты, объединённые ячейки) в большинстве случаев переносится корректно, но сложные макеты стоит проверить после сохранения.

Что выбрать для сводной таблицы: отчёт на СКД или выгрузку в Excel?

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