Импорт данных в 1С 8.3: загрузка из Excel, XML и JSON

· 9 мин

Содержание

Импорт данных в 1С 8.3 делают тремя способами: загрузкой из Excel или табличного документа через типовую обработку, обменом через XML с правилами конвертации и программной загрузкой (JSON, код). Какой выбрать — зависит от того, что именно нужно перенести: справочник номенклатуры, остатки, документы или всю базу целиком.

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

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

Что и в каком формате можно загрузить

1С читает несколько типов файлов-источников, и от формата зависит способ загрузки:

  • 📊 Excel и таблицы — .xlsx, .xls, .ods, .mxl, .csv. Подходят для справочников (номенклатура, контрагенты, цены) и табличных частей.
  • 🧩 XML — универсальный формат для обмена между базами 1С и с внешними системами. Работает через правила обмена или формат EnterpriseData.
  • 🏦 Текстовые файлы обмена — выписки из клиент-банка в формате 1CClientBankExchange, файлы маркировки, прослеживаемости.
  • 🔧 JSON — для интеграций с сайтами и внешними сервисами, загружается кодом.

Простое правило: справочники и прайсы — через Excel; перенос между базами 1С — через XML или синхронизацию; данные с сайта или из API — через JSON.

С чего начать: подготовка файла-источника

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

Перед загрузкой из Excel проверьте файл
Выполнено: 0 / 7

Если в колонке с ценой встречается текст («по запросу», «уточнять»), строка либо не загрузится, либо запишет ноль. Такие ячейки лучше очистить заранее.

Отдельно продумайте, по какому полю 1С будет искать совпадения. Для номенклатуры это обычно артикул или код, для контрагентов — ИНН. Если уникального поля нет, при повторной загрузке появятся дубли.

Загрузка из Excel через типовую кнопку

В «1С:Бухгалтерии 8» (редакция 3.0) в списках справочников есть встроенная загрузка из файла — отдельная обработка не нужна.

На примере номенклатуры:

  1. Откройте Справочники → Номенклатура.
  2. Нажмите кнопку Загрузить в командной панели списка.
  3. Выберите файл Excel или вставьте данные из буфера обмена.
  4. В окне сопоставления свяжите колонки файла с реквизитами 1С: наименование, артикул, единица, ставка НДС.
  5. Проверьте цветовую подсветку строк — ошибочные 1С выделяет, пока их не исправить.
  6. Нажмите Загрузить данные.

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

Контрагентов в «Бухгалтерии» удобнее не грузить списком, а добавлять по ИНН: 1С сама подтянет реквизиты из сервиса проверки. Массовая загрузка из файла нужна, когда контрагентов сотни.

Банковскую выписку импортируют иначе — через обмен с программой «Клиент-банк». Откройте Банк и касса → Банковские выписки, нажмите Загрузить и укажите файл выгрузки из банка в формате 1CClientBankExchange (обычно kl_to_1c.txt). 1С разнесёт поступления и списания по документам автоматически.

В «Управлении торговлей 11» список номенклатуры открывают из раздела НСИ и администрирование, кнопка загрузки из файла там работает так же, как в «Бухгалтерии». А вот в «Зарплате и управлении персоналом 3.1» справочники сотрудников и физлиц обычно не грузят прайс-подобным списком: начальные данные по сотрудникам и остаткам отпусков переносят через помощник начального заполнения или синхронизацию с кадровой базой, а не через загрузку из Excel. Это важное отличие: кадровые данные связаны между собой (физлицо → сотрудник → трудовой договор), и простая загрузка списком их разорвёт.

Универсальная загрузка из табличного документа

Когда встроенной кнопки нет (нужно загрузить в документ, в регистр или в нетиповой справочник), применяют универсальную обработку загрузки из табличного документа. Она идёт в комплекте поставки и работает в любой конфигурации.

Принцип работы:

  1. Откройте обработку через Файл → Открыть (файл с расширением .epf) или из меню функций, если она добавлена в базу.
  2. В поле режима укажите, куда грузим — справочник или табличную часть документа.
  3. Загрузите исходный Excel в табличную область обработки.
  4. Для каждой колонки выберите реквизит-приёмник и признак поиска (по какому полю искать существующий элемент).
  5. Включите флажок Загружать данные в режиме обмена, если не нужно пересчитывать итоги при каждой строке — так быстрее.
  6. Запустите загрузку и дождитесь отчёта о результате.

Таблица поможет выбрать инструмент под задачу:

Что загружаемИнструментПоиск дублей
Номенклатура, ценыКнопка «Загрузить» в списке (БП 3.0)По коду или артикулу
КонтрагентыЗагрузка из файла / подбор по ИННПо ИНН + КПП
Документы, регистрыУниверсальная обработка из табличного документаПо реквизиту-ключу
Выписка банкаОбмен с клиент-банкомПо номеру и дате

Универсальная обработка создаёт объекты напрямую, минуя часть проверок формы. Сначала прогоните её на копии базы и убедитесь, что движения и проводки формируются верно.

Обмен через XML и правила конвертации

Для переноса данных между базами 1С используют XML. Здесь три разных механизма — не путайте их.

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

Универсальный обмен в формате XML по правилам. Работает между разными конфигурациями. Логику сопоставления объектов описывают в правилах обмена — отдельном файле .xml, который создают в специальной конфигурации «Конвертация данных ». В правилах задают три вещи: какой объект источника соответствует какому объекту приёмника, как перекладываются отдельные реквизиты и по какому полю искать уже существующий объект, чтобы не задвоить. Готовые правила подключают в универсальной обработке обмена, указывают файл выгрузки и запускают загрузку.

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

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

Сопоставление реквизитов удобно продумать заранее:

Сопоставление полей
Наименование товара→Номенклатура.Наименование
Артикул→Номенклатура.Артикул
Ставка НДС→Справочник ставок НДС
Код контрагента→Контрагенты (поиск по ИНН)

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

Импорт JSON и программная загрузка

JSON применяют для интеграции с сайтами, маркетплейсами и внешними API. Встроенной кнопки для него нет — данные читают кодом. Платформа умеет работать с JSON объектами ЧтениеJSON и ЗаписьJSON.

Базовое чтение файла выглядит так:

ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.ОткрытьФайл("C:\data\price.json");
Данные = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();

Для Каждого Строка Из Данные Цикл
    // Строка — структура с полями из файла;
    // создаём или находим элемент справочника по ключу
КонецЦикла;

Функция ПрочитатьJSON возвращает соответствие или массив, который дальше обходят циклом и раскладывают по объектам базы. Поля из файла связывают с реквизитами по имени ключа.

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

Частый подводный камень здесь — кодировка. Файлы из внешних систем приходят в UTF-8, а старые выгрузки — в Windows-1251; при неверной кодировке русские буквы превращаются в «кракозябры». Кодировку указывают при открытии файла, и если текст читается нечитаемо, первым делом меняют именно её, а не структуру разбора. Если же данные приходят не файлом, а по сети (от сайта или маркетплейса), их принимают через HTTP-сервис, опубликованный из 1С, — но это уже отдельная интеграционная задача, а не разовый импорт.

Автоматизация и пакетная загрузка

Разовую загрузку делают руками, а регулярную — ставят на поток. Три рабочих способа:

  1. Регламентное задание. Обработку-загрузчик оформляют как регламентное задание в разделе Администрирование → Обслуживание (или настраивают программно). Файл кладут в общую папку, задание подхватывает его по расписанию.
  2. Запуск из командной строки. 1С умеет выполнять внешнюю обработку в пакетном режиме, без участия пользователя:
"C:\Program Files\1cv8\8.3.24.1234\bin\1cv8.exe" ENTERPRISE ^
  /IBConnectionString"File=C:\bases\buh" /N"Загрузчик" /P"пароль" ^
  /Execute"C:\scripts\ЗагрузкаПрайса.epf" /C"C:\in\price.xlsx"

Параметр /Execute запускает обработку, /C передаёт в неё строку (например, путь к файлу через ПараметрЗапуска). Такую команду ставят в планировщик Windows.

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

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

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

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

Типичные ошибки при импорте и как их устранить

Большинство проблем предсказуемы и лечатся на этапе подготовки файла:

Диагностика: выберите симптом

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

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

Можно ли загрузить документы, а не только справочники?
Да, через универсальную обработку загрузки из табличного документа или программно. Но документы после загрузки обычно нужно провести отдельно — проверьте, что движения и проводки сформировались.
В каком формате Excel лучше готовить файл?
Современный .xlsx без макросов и объединённых ячеек. Старый .xls и файлы с защитой листа часто читаются с ошибками.
Чем выгрузка-загрузка XML отличается от синхронизации?
Выгрузка-загрузка XML — разовый перенос между одинаковыми базами. Синхронизация через EnterpriseData — постоянный автоматический обмен между типовыми конфигурациями по встроенным правилам.
Как избежать дублей при повторной загрузке?
Задайте поиск по уникальному полю (код, артикул, ИНН) и следите, чтобы его значения в файле были без лишних пробелов и в одном регистре. Тогда 1С обновит существующие элементы, а не создаст новые.
Нужны ли права программиста, чтобы сделать импорт?
Для загрузки из Excel встроенной кнопкой — нет, хватает прав на справочник. Для внешних обработок и загрузки XML обычно требуются расширенные права, а для пакетного запуска — отдельный служебный пользователь.