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

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

Как загрузить данные в табличную часть 1С

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

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

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

Ниже разобраны четыре рабочих способа: штатная загрузка из Excel, универсальная обработка, ручной подбор и программное заполнение. Для каждого указаны условия применения, порядок действий и признаки успешного результата.

Что нужно подготовить перед загрузкой

Главное условие успешной загрузки — правильно подготовленный файл-источник. 1С ожидает таблицу, где каждая колонка соответствует одному реквизиту табличной части: номенклатура, количество, цена, ставка НДС и так далее. Лишние строки (шапки, итоги, объединённые ячейки) в Excel нужно удалить заранее, иначе обработка попытается загрузить их как данные.

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

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

Способ 1. Штатная загрузка из Excel в документе

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

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

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

Порядок действий при штатной загрузке
  1. 1
    Подготовьте файл Excel: одна строка — одна позиция, без шапок и итогов
  2. 2
    Создайте документ и заполните реквизиты шапки (организация, контрагент, склад)
  3. 3
    Нажмите «Загрузить» или «Ещё → Загрузить из внешнего файла»
  4. 4
    Укажите файл и сопоставьте колонки реквизитам табличной части
  5. 5
    Проверьте ненайденную номенклатуру и создайте недостающие элементы
  6. 6
    Проведите документ и сверьте итоговые суммы с первичным документом

Способ 2. Универсальная обработка «Загрузка данных из табличного документа»

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

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

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

Способ 3. Программное заполнение табличной части

Если загрузку нужно выполнять регулярно по расписанию или по нестандартному алгоритму, табличную часть заполняют кодом на встроенном языке. Базовый принцип: получить объект документа, обратиться к его табличной части как к коллекции и добавить строки методом Добавить(), после чего записать объект.

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

Чтение самого файла Excel выполняют либо через табличный документ (метод Прочитать() с типом файла MXL или через COM-объект Excel для xlsx), либо предварительно сохраняют файл в формате CSV и разбирают построчно. В файловых базах без сервера COM-подключение к Excel работает только на компьютере, где установлен сам Excel.

Обязательно оборачивайте массовую запись в транзакцию (НачатьТранзакцию / ЗафиксироватьТранзакцию / ОтменитьТранзакцию): если на середине загрузки возникнет ошибка, база не останется в частично заполненном состоянии.

Способ 4. Ручной подбор и буфер обмена

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

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

Сравнение способов загрузки

Штатная кнопка в документе

Подходит для типовых документов и разовых загрузок; ограничение — есть не во всех документах и конфигурациях

Универсальная обработка

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

Программное заполнение

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

Подбор и буфер обмена

Подходит для малых объёмов; не масштабируется на сотни строк

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

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

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

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

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

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

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

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

Строк меньше — часть позиций не найдена или отклонена

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

Совпадает с суммой в первичном документе с точностью до копеек

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

Расхождение — неверно сопоставлены колонки цены или НДС

Проведение документа
Норма

Документ проводится без сообщений об ошибках

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

Ошибки проведения — не заполнены обязательные реквизиты строк

Типичные ошибки и ограничения

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

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

Типичные ошибки
01
Поиск номенклатуры по наименованию вместо кода или артикула — создаются дубли справочника
02
Сопоставление колонки «Цена с НДС» реквизиту «Цена» — искажаются суммы и НДС документа
03
Загрузка в существующий проведённый документ без предварительной отмены проведения — ошибки записи
04
Загрузка сразу в рабочую базу без теста на копии — массовые некорректные данные приходится удалять вручную
05
Игнорирование окна контроля заполнения в обработке — ошибки обнаруживаются только после записи

FAQ

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

Да. Универсальная обработка «Загрузка данных из табличного документа» поддерживает табличные части справочников. Выберите вид объекта «Справочник», нужную табличную часть и настройте поиск элемента-владельца (например, контрагента) по коду или наименованию.

Что делать, если в документе нет кнопки «Загрузить из файла»?

Используйте универсальную обработку загрузки из табличного документа, вставку из буфера обмена или форму подбора. Если загрузка нужна регулярно, поручите разработчику добавить команду заполнения в форму документа.

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

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

Можно ли отменить загрузку, если данные загрузились с ошибками?

Автоматической отмены у большинства обработок нет. Если запись выполнялась в транзакции программно — транзакцию можно откатить. Иначе ошибочные строки удаляют вручную или обработкой группового изменения. Поэтому перед загрузкой делают копию базы.

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

Чаще всего в строках не заполнены обязательные реквизиты: склад, ставка НДС, счета учёта, единица измерения. Откройте сообщения об ошибках при проведении — там указаны конкретные строки и поля, которые нужно заполнить или добавить в сопоставление колонок.

Итог

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

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