Быстрый старт · 12 мин
Как вставить таблицу в 1С: подробное руководство
Как вставить таблицу в 1С: табличный документ, таблица на форме, вставка из Excel, программное добавление. Пошаговые инструкции, примеры кода и ответы на вопросы.
Задача «вставить таблицу в 1С» звучит просто, но в зависимости от контекста решается совершенно разными способами. Одно дело — добавить таблицу в печатную форму или произвольный табличный документ, другое — вывести таблицу значений на экранную форму, третье — перенести готовую таблицу из Excel в документ или справочник.
Прежде чем приступать к действиям, определите, где именно должна появиться таблица: в табличном документе (аналог листа Excel внутри 1С), в табличной части документа или справочника, на управляемой форме либо в макете печатной формы. От этого зависит и инструмент, и порядок действий.
Ниже разобраны все основные сценарии: от простого копирования через буфер обмена до программного создания таблицы на встроенном языке 1С. Инструкции применимы к типовым конфигурациям на платформе 1С:Предприятие 8.3, но общая логика сохраняется и в других версиях.
Как определить, куда именно нужно вставить таблицу
В 1С слово «таблица» означает несколько разных объектов, и путаница между ними — главная причина, почему «не получается вставить». Табличный документ — это свободная сетка ячеек, похожая на лист Excel: в неё вставляют произвольные данные, отчёты и печатные формы. Табличная часть — структурированный список строк внутри документа или справочника (например, «Товары» в накладной), где у каждой колонки строго заданный тип.
Таблица значений — это объект встроенного языка: её не «видно», пока она не выведена на форму, в табличный документ или не передана в запрос. Наконец, динамический список на форме показывает данные из базы и напрямую редактируется только через механизмы формы.
Как выбрать способ вставки
Вставка таблицы в табличный документ
Табличный документ создаётся через меню «Файл → Новый → Табличный документ» либо открывается автоматически при формировании отчёта или предпросмотре печати. В него можно вводить данные вручную, как в обычную электронную таблицу: кликните по ячейке и начните печатать.
Чтобы вставить готовую таблицу из Excel или другой программы, выделите нужный диапазон, скопируйте его (Ctrl+C), перейдите в табличный документ 1С, установите курсор в левую верхнюю ячейку будущей таблицы и нажмите Ctrl+V. Структура строк и колонок сохранится, а вот формулы Excel не перенесутся — вставятся только вычисленные значения.
Если табличный документ открыт только для просмотра (например, сформированный отчёт), вставка будет недоступна. В этом случае включите редактирование: в типовых конфигурациях это команда «Ещё → Изменить» или снятие флага защиты в свойствах документа.
Вставка таблицы в табличную часть документа или справочника
Табличные части (например, «Товары» в реализации или «Сотрудники» в приказе) заполняются построчно кнопкой «Добавить», но для массовой вставки есть более быстрые пути. Во многих типовых документах поддерживается вставка из буфера обмена: скопируйте строки в Excel, встаньте в первую ячейку табличной части и нажмите Ctrl+V — программа попытается сопоставить колонки по порядку.
Успех такой вставки зависит от типов данных. Если колонка ожидает ссылку на номенклатуру, а вы вставляете произвольный текст, строка либо не вставится, либо поле останется пустым. Поэтому перед вставкой убедитесь, что наименования в Excel точно совпадают с наименованиями в базе, либо используйте коды и артикулы.
Для регулярной загрузки больших таблиц в типовых конфигурациях есть штатные обработки: «Загрузка данных из табличного документа» (в разделах администрирования или в карточке списка номенклатуры — «Загрузить»). Они позволяют указать соответствие колонок файла и полей базы вручную, что снимает проблему несовпадения порядка столбцов.
- 1Подготовьте данные в Excel: порядок колонок должен совпадать с порядком в табличной части 1С
- 2Проверьте, что наименования товаров или контрагентов совпадают с данными базы
- 3Скопируйте диапазон в Excel (Ctrl+C)
- 4В документе 1С кликните в первую ячейку табличной части и нажмите Ctrl+V
- 5Проверьте каждую строку: количество, цены и ссылки должны быть заполнены корректно
Как вывести таблицу на форму программно
Если вы разрабатываете или дорабатываете конфигурацию, таблица на экранной форме создаётся через реквизит формы типа «ТаблицаЗначений». В конфигураторе откройте форму, добавьте реквизит с типом «ТаблицаЗначений», затем у реквизита добавьте колонки с нужными типами (строка, число, дата, ссылка). После этого перетащите реквизит в дерево элементов формы — появится визуальная таблица.
Заполнение выполняется кодом в модуле формы. Типовой приём — создать таблицу значений, добавить колонки, заполнить строки в цикле и присвоить результат реквизиту формы через ЗначениеВРеквизитФормы.
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
Таблица.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
НоваяСтрока = Таблица.Добавить();
НоваяСтрока.Номенклатура = СсылкаНаТовар;
НоваяСтрока.Количество = 10;
ЗначениеВРеквизитФормы(Таблица, "Товары");
Для динамического создания таблицы без заранее описанного реквизита используется метод ИзменитьРеквизиты формы, но это существенно сложнее и оправдано только когда состав колонок неизвестен заранее. В большинстве задач достаточно статического реквизита с заранее описанными колонками.
// Вывод таблицы значений в табличный документ
ТабДок = Новый ТабличныйДокумент;
Для НомерСтроки = 1 По Таблица.Количество() Цикл
СтрокаТЗ = Таблица[НомерСтроки - 1];
ТабДок.Область(НомерСтроки, 1).Текст = Строка(СтрокаТЗ.Номенклатура);
ТабДок.Область(НомерСтроки, 2).Текст = Формат(СтрокаТЗ.Количество, "ЧГ=");
КонецЦикла;
ТабДок.Показать("Результат");Вставка таблицы в макет печатной формы
Печатные формы в 1С строятся на табличных документах-макетах. Чтобы добавить или изменить таблицу в печатной форме, откройте конфигуратор, найдите нужный макет (обычно в ветке документа или общих макетах) и отредактируйте его как обычный табличный документ: добавьте строки и колонки, задайте границы и шрифты.
Ключевой момент — области и параметры. Ячейки, в которые код подставляет данные, содержат параметры в квадратных скобках, например [НаименованиеТовара]. Макет делится на именованные области («Шапка», «Строка», «Подвал»), которые программно выводятся в итоговый документ в нужном порядке и количестве.
Если конфигурация типовая и находится на поддержке, прямое изменение макета усложнит обновление. Безопаснее использовать механизм внешних печатных форм: макет и код выносятся во внешнюю обработку, которая подключается через «Дополнительные отчеты и обработки» без изменения конфигурации.
Загрузка таблицы из файла: Excel, CSV и буфер обмена
Помимо ручной вставки, 1С умеет читать файлы напрямую. Табличный документ открывает файлы форматов MXL, а также может сохраняться в Excel. Для чтения XLSX-файлов программно применяется объект ТабличныйДокумент с методом Прочитать — файл загружается целиком как табличный документ, после чего данные обходятся по ячейкам.
CSV-файлы разбираются построчно через ЧтениеТекста с разделителем. Это надёжный вариант для обмена между системами, поскольку формат не зависит от версии Excel и не тащит за собой лишнее форматирование.
Для разовой ручной загрузки без программирования удобен универсальный приём: откройте Excel-файл, скопируйте нужный диапазон и вставьте его в новый табличный документ 1С, а уже оттуда — в табличную часть или в обработку загрузки. Так вы избегаете проблем с доступом к файлу с сервера и с разрядностью клиента.
Сравнение способов вставки таблицы
Самый быстрый для разовой вставки; не переносит формулы и требует совпадения типов данных
Подходит для регулярной загрузки в справочники и документы; требует настройки соответствия колонок
Гибкий вариант для автоматизации; требует навыков разработки и доступа к файлу
Универсально для типовых конфигураций без снятия с поддержки; обработку нужно найти или написать
Типичные ошибки и как их избежать
Чаще всего вставка «не срабатывает» из-за несовпадения типов: текст вставляется в числовую колонку, дата записана в непривычном формате, а ссылочное поле заполнено наименованием, которого нет в базе. Проверяйте типы колонок заранее и приводите данные в Excel к нужному виду.
Вторая группа проблем — права и режимы работы. Табличный документ отчёта открыт в режиме просмотра, табличная часть недоступна из-за прав пользователя, а форма заблокирована настройками. Если кнопки вставки неактивны, проверьте права и режим редактирования, прежде чем искать причину в данных.
Как проверить результат после вставки
После любой вставки, особенно массовой, не ограничивайтесь визуальным просмотром. В табличных частях документов проверьте, что все ссылочные поля заполнены (пустая номенклатура или контрагент — признак неудачного сопоставления), а итоги по суммам и количествам совпадают с исходным файлом.
При программном выводе таблицы убедитесь, что количество строк на форме равно количеству строк в источнике, и что типы колонок позволяют редактирование там, где оно задумано. Для печатных форм обязательно сформируйте пробный документ и сверьте его с ожидаемым результатом до выдачи пользователям.
Как проверить результат
Совпадает с количеством строк в источнике
Строк меньше — часть данных не вставилась из-за типов или формата
Все поля заполнены, значения открываются по клику
Пустые ячейки или текст вместо ссылки
Совпадают с итогами исходной таблицы
Расхождения — проверяйте формат чисел и разделители
Документ формируется без ошибок, все параметры выведены
Пустые квадратные скобки параметров или ошибка при формировании
Что важно запомнить
Способ вставки таблицы в 1С зависит от места назначения: табличный документ принимает данные через Ctrl+C/Ctrl+V, табличная часть требует совпадения типов колонок, вывод на форму и в печать делается программно через ТаблицаЗначений и макеты. Перед массовой загрузкой проверьте типы данных и сделайте резервную копию, после вставки — сверьте количество строк и итоги.
Часто задаваемые вопросы
Почему при вставке из Excel в табличную часть поля остаются пустыми?
Чаще всего причина в несовпадении типов: колонка ожидает ссылку на элемент справочника, а вставляется произвольный текст, или число записано с неподходящим разделителем. Проверьте, что наименования точно совпадают с базой, а числа и даты записаны в формате, который понимает 1С.
Можно ли вставить таблицу в отчёт, который уже сформирован?
Да, если отчёт выведен в табличный документ и он не защищён от редактирования. В типовых конфигурациях включите изменение через команду «Ещё → Изменить» или аналогичную. Учтите, что при следующем формировании отчёта ручные правки будут перезаписаны.
Как загрузить большую таблицу в справочник номенклатуры без программирования?
Используйте штатную обработку загрузки данных из табличного документа — в типовых конфигурациях она доступна из списка номенклатуры (кнопка «Загрузить») или из раздела администрирования. В ней можно вручную сопоставить колонки файла полям справочника и выполнить загрузку с контролем дублей.
Переносятся ли формулы Excel при вставке в табличный документ 1С?
Нет. Через буфер обмена переносятся только вычисленные значения и частично форматирование. Если нужны расчёты, либо вычисляйте итоги в Excel и вставляйте готовые числа, либо реализуйте расчёт средствами 1С.
Как добавить таблицу в печатную форму, не снимая конфигурацию с поддержки?
Создайте внешнюю печатную форму — обработку с макетом и кодом формирования, которая подключается через механизм «Дополнительные отчеты и обработки». Типовая конфигурация при этом не изменяется и обновляется штатно.
Что делать, если кнопка вставки или добавления строки недоступна?
Проверьте три вещи: открыт ли объект в режиме редактирования, есть ли у пользователя права на изменение этого объекта и не установлена ли защита на табличный документ. Если права ограничены, обратитесь к администратору системы за расширением роли.