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

Быстрый старт · 12 мин

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

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

Задача «вставить таблицу в 1С» звучит просто, но в зависимости от контекста решается совершенно разными способами. Одно дело — добавить таблицу в печатную форму или произвольный табличный документ, другое — вывести таблицу значений на экранную форму, третье — перенести готовую таблицу из Excel в документ или справочник.

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

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

Как определить, куда именно нужно вставить таблицу

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

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

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

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

Нужно вставить произвольную таблицу как в Excel, без привязки к даннымИспользуйте табличный документ: Файл → Новый → Табличный документ, затем ввод или вставка из буфера
Нужно заполнить строки документа или справочникаОткройте табличную часть объекта и используйте «Добавить», вставку из буфера или обработку загрузки
Таблица должна появиться в печатной формеРедактируйте макет печатной формы и заполняйте его программно
Таблица формируется кодом и должна быть видна пользователюСоздайте ТаблицуЗначений и выведите её на форму или в ТабличныйДокумент

Вставка таблицы в табличный документ

Табличный документ создаётся через меню «Файл → Новый → Табличный документ» либо открывается автоматически при формировании отчёта или предпросмотре печати. В него можно вводить данные вручную, как в обычную электронную таблицу: кликните по ячейке и начните печатать.

Чтобы вставить готовую таблицу из Excel или другой программы, выделите нужный диапазон, скопируйте его (Ctrl+C), перейдите в табличный документ 1С, установите курсор в левую верхнюю ячейку будущей таблицы и нажмите Ctrl+V. Структура строк и колонок сохранится, а вот формулы Excel не перенесутся — вставятся только вычисленные значения.

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

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

Табличные части (например, «Товары» в реализации или «Сотрудники» в приказе) заполняются построчно кнопкой «Добавить», но для массовой вставки есть более быстрые пути. Во многих типовых документах поддерживается вставка из буфера обмена: скопируйте строки в Excel, встаньте в первую ячейку табличной части и нажмите Ctrl+V — программа попытается сопоставить колонки по порядку.

Успех такой вставки зависит от типов данных. Если колонка ожидает ссылку на номенклатуру, а вы вставляете произвольный текст, строка либо не вставится, либо поле останется пустым. Поэтому перед вставкой убедитесь, что наименования в Excel точно совпадают с наименованиями в базе, либо используйте коды и артикулы.

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

Вставка строк из Excel в табличную часть
  1. 1
    Подготовьте данные в Excel: порядок колонок должен совпадать с порядком в табличной части 1С
  2. 2
    Проверьте, что наименования товаров или контрагентов совпадают с данными базы
  3. 3
    Скопируйте диапазон в Excel (Ctrl+C)
  4. 4
    В документе 1С кликните в первую ячейку табличной части и нажмите Ctrl+V
  5. 5
    Проверьте каждую строку: количество, цены и ссылки должны быть заполнены корректно

Как вывести таблицу на форму программно

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

Заполнение выполняется кодом в модуле формы. Типовой приём — создать таблицу значений, добавить колонки, заполнить строки в цикле и присвоить результат реквизиту формы через ЗначениеВРеквизитФормы.

Таблица = Новый ТаблицаЗначений;

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

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

НоваяСтрока = Таблица.Добавить();

НоваяСтрока.Номенклатура = СсылкаНаТовар;

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

ЗначениеВРеквизитФормы(Таблица, "Товары");

Для динамического создания таблицы без заранее описанного реквизита используется метод ИзменитьРеквизиты формы, но это существенно сложнее и оправдано только когда состав колонок неизвестен заранее. В большинстве задач достаточно статического реквизита с заранее описанными колонками.

bsl
// Вывод таблицы значений в табличный документ
ТабДок = Новый ТабличныйДокумент;
Для НомерСтроки = 1 По Таблица.Количество() Цикл
    СтрокаТЗ = Таблица[НомерСтроки - 1];
    ТабДок.Область(НомерСтроки, 1).Текст = Строка(СтрокаТЗ.Номенклатура);
    ТабДок.Область(НомерСтроки, 2).Текст = Формат(СтрокаТЗ.Количество, "ЧГ=");
КонецЦикла;
ТабДок.Показать("Результат");

Вставка таблицы в макет печатной формы

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

Ключевой момент — области и параметры. Ячейки, в которые код подставляет данные, содержат параметры в квадратных скобках, например [НаименованиеТовара]. Макет делится на именованные области («Шапка», «Строка», «Подвал»), которые программно выводятся в итоговый документ в нужном порядке и количестве.

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

Загрузка таблицы из файла: Excel, CSV и буфер обмена

Помимо ручной вставки, 1С умеет читать файлы напрямую. Табличный документ открывает файлы форматов MXL, а также может сохраняться в Excel. Для чтения XLSX-файлов программно применяется объект ТабличныйДокумент с методом Прочитать — файл загружается целиком как табличный документ, после чего данные обходятся по ячейкам.

CSV-файлы разбираются построчно через ЧтениеТекста с разделителем. Это надёжный вариант для обмена между системами, поскольку формат не зависит от версии Excel и не тащит за собой лишнее форматирование.

Для разовой ручной загрузки без программирования удобен универсальный приём: откройте Excel-файл, скопируйте нужный диапазон и вставьте его в новый табличный документ 1С, а уже оттуда — в табличную часть или в обработку загрузки. Так вы избегаете проблем с доступом к файлу с сервера и с разрядностью клиента.

Сравнение способов вставки таблицы

Копирование через буфер обмена

Самый быстрый для разовой вставки; не переносит формулы и требует совпадения типов данных

Штатная обработка загрузки

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

Программное чтение файла

Гибкий вариант для автоматизации; требует навыков разработки и доступа к файлу

Внешняя обработка загрузки

Универсально для типовых конфигураций без снятия с поддержки; обработку нужно найти или написать

Типичные ошибки и как их избежать

Чаще всего вставка «не срабатывает» из-за несовпадения типов: текст вставляется в числовую колонку, дата записана в непривычном формате, а ссылочное поле заполнено наименованием, которого нет в базе. Проверяйте типы колонок заранее и приводите данные в Excel к нужному виду.

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

Типичные ошибки
01
Вставка текста в колонку со ссылочным типом — поля остаются пустыми, строки выглядят заполненными наполовину
02
Попытка вставить данные в табличный документ, открытый только для просмотра — вставка молча не срабатывает
03
Несовпадение порядка колонок в Excel и табличной части — данные попадают не в те поля
04
Редактирование типового макета без копии — печатная форма ломается у всех пользователей
05
Игнорирование формата дат и разделителя дробной части при загрузке из CSV — числа и даты распознаются неверно

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

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

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

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

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

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

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

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

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

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

Все поля заполнены, значения открываются по клику

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

Пустые ячейки или текст вместо ссылки

Итоговые суммы документа
Норма

Совпадают с итогами исходной таблицы

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

Расхождения — проверяйте формат чисел и разделители

Печатная форма после изменения макета
Норма

Документ формируется без ошибок, все параметры выведены

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

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

Итог

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

Способ вставки таблицы в 1С зависит от места назначения: табличный документ принимает данные через Ctrl+C/Ctrl+V, табличная часть требует совпадения типов колонок, вывод на форму и в печать делается программно через ТаблицаЗначений и макеты. Перед массовой загрузкой проверьте типы данных и сделайте резервную копию, после вставки — сверьте количество строк и итоги.

Часто задаваемые вопросы

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

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

Можно ли вставить таблицу в отчёт, который уже сформирован?

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

Как загрузить большую таблицу в справочник номенклатуры без программирования?

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

Переносятся ли формулы Excel при вставке в табличный документ 1С?

Нет. Через буфер обмена переносятся только вычисленные значения и частично форматирование. Если нужны расчёты, либо вычисляйте итоги в Excel и вставляйте готовые числа, либо реализуйте расчёт средствами 1С.

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

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

Что делать, если кнопка вставки или добавления строки недоступна?

Проверьте три вещи: открыт ли объект в режиме редактирования, есть ли у пользователя права на изменение этого объекта и не установлена ли защита на табличный документ. Если права ограничены, обратитесь к администратору системы за расширением роли.