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

Справочники и Данные · 9 мин

Как загрузить таблицу Excel в 1С

Способы загрузки таблицы Excel в 1С: через обработку загрузки данных из табличного документа, копирование в табличную часть и COM-объект. Ошибки и проверка результата.

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

На практике используют три подхода: типовая обработка «Загрузка данных из табличного документа» (входит в состав БСП и доступна в большинстве современных конфигураций), копирование таблицы напрямую в табличную часть через буфер обмена и программная загрузка через COM-объект Excel. Ниже разберём каждый вариант, подготовку файла и типичные ошибки.

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

Подготовка файла Excel к загрузке

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

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

Сохраните файл в формате .xlsx или .xls — обработки 1С работают с обоими, но для очень больших файлов (десятки тысяч строк) предпочтительнее .xlsx либо предварительное сохранение в .mxl (табличный документ 1С) или .csv. Также закройте файл в Excel перед загрузкой: открытый файл может быть заблокирован для чтения.

Типичные ошибки подготовки файла
01
Объединённые ячейки и многоуровневая шапка — обработка читает только первую строку, данные смещаются
02
Числа как текст с неразрывными пробелами — суммы загружаются как строки или не загружаются вовсе
03
Ведущие нули в кодах и артикулах обрезаны Excel — элементы не сопоставляются со справочником и создаются дубли
04
Скрытые строки и листы с лишними данными — в загрузку попадает мусор

Способ 1. Обработка «Загрузка данных из табличного документа»

В конфигурациях на базе Библиотеки стандартных подсистем (УТ 11, ERP, КА, Бухгалтерия 3.0, ЗУП и др.) есть встроенная обработка загрузки. Найти её можно через поиск в разделе «Администрирование» либо набрав в строке поиска команд «Загрузка данных из табличного документа». В некоторых конфигурациях она доступна только пользователю с правами администратора.

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

Ключевой этап — настройка поиска существующих элементов. Укажите поля для идентификации (например, «Артикул» или «ИНН + КПП» для контрагентов), иначе обработка создаст дубли вместо обновления существующих записей. После настройки нажмите «Загрузить» и дождитесь отчёта о результатах.

Порядок загрузки через типовую обработку
  1. 1
    Сделайте резервную копию базы или протестируйте на копии
  2. 2
    Откройте «Загрузка данных из табличного документа» в разделе «Администрирование»
  3. 3
    Выберите вид объекта: справочник, документ или регистр сведений
  4. 4
    Укажите файл Excel и лист, с которого читать данные
  5. 5
    Сопоставьте колонки файла реквизитам объекта
  6. 6
    Настройте поля поиска для предотвращения дублей
  7. 7
    Выполните загрузку и изучите протокол ошибок
  8. 8
    Проверьте выборочно несколько загруженных элементов

Если типовой обработки нет

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

Способ 2. Копирование в табличную часть документа

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

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

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

Способ 3. Программная загрузка через COM-объект

Для регулярных загрузок по расписанию или сложной логики (проверки, преобразования, загрузка в несколько объектов сразу) пишут собственную обработку. Классический подход — COM-подключение к Excel через объект Excel.Application: чтение происходит построчно, данные сразу проверяются и записываются в базу.

Альтернатива без установленного Excel на компьютере — чтение файла через табличный документ 1С (метод «Прочитать» у объекта ТабличныйДокумент) или разбор .xlsx как zip-архива с XML. Вариант с табличным документом проще и надёжнее на сервере, где Excel обычно не установлен.

bsl
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать("C:\Data\nomenklatura.xlsx", СпособЧтенияЗначенийТабличногоДокумента.Значение);
Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
    Артикул = СокрЛП(ТабДок.Область(НомерСтроки, 1).Текст);
    Наименование = СокрЛП(ТабДок.Область(НомерСтроки, 2).Текст);
    Если ПустаяСтрока(Артикул) Тогда Продолжить; КонецЕсли;
    // поиск или создание элемента справочника
КонецЦикла;

Учтите: COM-подключение требует установленного Excel и разрешений на запуск COM-объектов, на 64-битном сервере 1С часто возникают проблемы с регистрацией. Для серверных регламентных заданий предпочтительнее чтение через табличный документ.

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

Типовая обработка БСП

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

Копирование в табличную часть

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

Собственная обработка

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

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

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

Сверьте контрольные суммы: количество строк в файле и количество созданных/обновлённых элементов должны совпадать с учётом отклонённых. Выборочно откройте 5–10 элементов из разных частей файла и проверьте корректность заполнения реквизитов — особенно числовых полей и дат, где чаще всего бывают сдвиги форматов.

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

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

Количество загруженных элементов
Норма

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

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

Существенно меньше без объяснений в протоколе

Числа и суммы
Норма

Значения совпадают с файлом, нет умножения на 100 или потери копеек

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

Сдвиг разрядов, округление, пропущенные значения

Дубли справочника
Норма

Существующие элементы обновлены, новых дублей нет

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

Появились элементы с одинаковым наименованием или артикулом

Частые проблемы и их решения

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

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

FAQ

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

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

Как загрузить данные в регистр сведений, например цены номенклатуры?

В типовой обработке выберите в качестве объекта регистр сведений (например, «Цены номенклатуры») и сопоставьте колонки измерениям и ресурсам. Обязательно укажите поля, образующие ключ записи, чтобы при повторной загрузке цены обновлялись, а не задваивались.

Что делать, если файл очень большой — сотни тысяч строк?

Разбейте файл на части по 20–50 тысяч строк и загружайте порциями, контролируя протокол после каждой. Либо используйте программную загрузку с транзакционной записью пакетами — это быстрее и безопаснее, чем один гигантский проход.

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

Не настроены или неверно выбраны поля поиска. Для контрагентов надёжнее искать по паре «ИНН + КПП», а не по наименованию — одно и то же предприятие в файле и базе может быть записано по-разному.

Можно ли загрузить Excel в 1С:Бухгалтерию 8.3 без программиста?

Да. В Бухгалтерии 3.0 есть встроенная обработка «Загрузка данных из табличного документа», а для номенклатуры и контрагентов — упрощённые мастера загрузки. Программист понадобится только для нестандартных объектов или сложных преобразований данных.

Итог

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

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