Импорт номенклатуры в 1С из Excel и XML: от файла до готового справочника

· 10 мин

Содержание

Чтобы загрузить каталог в 1С 8.3, откройте список номенклатуры и нажмите в командной панели кнопку Загрузить: программа примет файл Excel (xls, xlsx), CSV или ODS, покажет таблицу и попросит сопоставить колонки с реквизитами товара. Для большого каталога с поставщика или сайта удобнее импорт через XML — по правилам обмена или в формате CommerceML.

Какой способ выбрать, зависит от источника. Разовый прайс на 300 позиций — встроенная загрузка. Каталог на 20 000 товаров, который обновляется каждую ночь, — обмен по расписанию.

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

1. Подготовка файла каталога перед загрузкой в 1С

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

Что должно быть в таблице

Минимальный набор колонок для справочника «Номенклатура»:

КолонкаЗачем нужнаПример
НаименованиеОбязательный реквизитПерчатки нитриловые, размер M
АртикулКлюч для поиска дублейNT-M-100
Единица измеренияБез неё товар не попадёт в документышт
Ставка НДСПодставляется в документы продажи20%
Группа (папка)Раскладывает каталог по разделамРасходные материалы
Вид номенклатурыТовар, услуга, материалТовар
ШтрихкодДля торговли и маркировки4601234567890

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

Чистка данных в Excel

📌 Что проверить в файле до импорта:

  • 🧹 одна строка — один товар, без объединённых ячеек и промежуточных итогов;
  • 🔢 артикулы с ведущими нулями (000125) переведены в текстовый формат, иначе Excel срежет нули;
  • ✂️ лишние пробелы в начале и конце убраны функцией СЖПРОБЕЛЫ (в английском Excel — TRIM);
  • 🧮 формулы заменены значениями: «Копировать → Вставить как значения»;
  • 🔁 дубли артикулов найдены через условное форматирование «Повторяющиеся значения»;
  • 📏 единицы измерения написаны одинаково: не «шт», «шт.» и «штук» вперемешку.

Неразрывный пробел (символ 160) не видно глазами, но 1С считает «Перчатки M» и «Перчатки M» разными строками. Замените его через «Найти и заменить»: в поле поиска введите Alt+0160 на цифровой клавиатуре.

Подготовка базы

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

2. Встроенная загрузка товаров в список номенклатуры

В Бухгалтерии 3.0 и Управлении торговлей 11 загрузка из таблицы встроена в сам справочник. Внешние обработки не нужны.

КонфигурацияГде запустить
Бухгалтерия предприятия 3.0Справочники → Номенклатура → кнопка Загрузить
Управление торговлей 11НСИ и администрирование → НСИ → Номенклатура → команда загрузки в командной панели или в меню Ещё

Пошаговый импорт

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

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

Сначала загрузите 10–20 строк как пробу. Если колонки встали правильно, грузите весь файл тем же сопоставлением.

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

Встроенный помощник умеет только номенклатуру и пару справочников. Если нужно загрузить каталог в нетиповую конфигурацию, в табличную часть документа или в регистр сведений , используют внешнюю обработку ЗагрузкаДанныхИзТабличногоДокумента.epf. Её распространяет фирма 1С вместе с технологическими обработками для управляемых форм.

Как открыть обработку

  • Через Главное меню → Файл → Открыть — если у пользователя есть право на интерактивное открытие внешних обработок.
  • Через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки — если база работает в безопасном режиме или прав на открытие файлов нет.

Порядок работы

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

Главное преимущество перед встроенным помощником — гибкость. Например, всем 5 000 строкам можно одной настройкой проставить родителя, вид номенклатуры и ставку НДС, не добавляя колонки в Excel.

Если поле поиска не отмечено, обработка не ищет существующие элементы и при повторном запуске создаёт копию каждого товара.

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

4. Правила обмена и сопоставление полей каталога

Когда каталог приходит из другой программы — второй базы 1С, учётной системы поставщика, складской программы, — таблица Excel уже не подходит. Нужен структурированный XML и правила, которые объясняют 1С, какое поле куда класть.

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

Правила обмена описывают три вещи:

  • 🎯 объект-источник и приёмник: что во входящем файле считать товаром и в какой справочник его писать;
  • 🔑 правила поиска: по какому полю находить уже существующий товар (код, артикул, наименование, внутренний идентификатор);
  • 🔄 правила конвертации свойств: какое поле источника в какой реквизит 1С, с преобразованием значений.

Типичная карта полей для каталога поставщика:

Сопоставление полей
Артикул поставщика→Артикул
Полное наименование→Наименование
Единица (код ОКЕИ)→Единица измерения
Ставка НДС (число)→Ставка НДС
Категория→Родитель (группа номенклатуры)
EAN-13→Штрихкод

Чем загружать файл по правилам

Правила в формате XML разрабатывают в конфигурации «Конвертация данных ». Загружают их вместе с файлом данных обработкой «Универсальный обмен данными в формате XML» (для 8.3 — V8Exchan83.epf). На закладке загрузки указывают файл данных; правила обычно уже лежат внутри файла выгрузки.

Для обмена между типовыми конфигурациями последних версий отдельные правила писать не нужно. БП 3.0, УТ 11, ERP и УНФ обмениваются через формат EnterpriseData, а настраивается такой обмен в разделе Администрирование → Синхронизация данных.

Самое ценное в правилах — правило поиска. Когда оно задано по артикулу, повторная загрузка обновляет карточки, а не плодит дубли. Когда по наименованию — любая правка названия у поставщика порождает новый товар.

5. Импорт каталога товаров из файлов XML

XML встречается в трёх видах, и у каждого свой путь в 1С.

ФорматОткуда приходитЧем загружать
CommerceML 2 (import.xml, offers.xml)Интернет-магазин, маркетплейс-агрегатор, поставщикОбмен с сайтом в конфигурации
Выгрузка «Конвертации данных»Другая база 1С с правиламиV8Exchan83.epf
Выгрузка «Выгрузка и загрузка данных XML»База 1С на той же конфигурацииТа же обработка в режиме загрузки

CommerceML: каталог и предложения раздельно

Стандарт CommerceML делит данные на два файла:

  • 📦 import.xml — классификатор (группы) и каталог (товары, артикулы, свойства, описания);
  • 💰 offers.xml — пакет предложений: цены по типам и остатки.

Картинки товаров лежат рядом в папке import_files. Если её не передать, товары загрузятся без изображений.

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

Обработка «Выгрузка и загрузка данных XML»

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

  1. В базе-источнике выделите справочник Номенклатура и выгрузите его в файл.
  2. В базе-приёмнике откройте ту же обработку, переключитесь на закладку загрузки и укажите файл.
  3. Запустите загрузку.

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

6. Автоматическая загрузка каталога по расписанию

Ручной импорт оправдан, пока каталог меняется раз в месяц. Если поставщик присылает обновления ежедневно, настройте автоматизацию.

Варианты автоматизации

  • ⏰ Расписание синхронизации. В настройках обмена через Администрирование → Синхронизация данных для узла задаётся расписание: например, каждый день в 03:00 или каждые 30 минут в рабочее время.
  • 🌐 Обмен с сайтом. Сайт сам обращается к 1С по HTTP по протоколу CommerceML. Расписание задаётся на стороне сайта или модуля обмена.
  • 🧩 Дополнительная обработка с регламентной командой. Внешнюю обработку загрузки регистрируют в Дополнительные отчеты и обработки. Команда с типом «Вызов серверного метода» получает собственное расписание и выполняется без участия пользователя.

Где выполняются регламентные задания

Вариант базыКак работают задания
Клиент-сервернаяВыполняет сервер 1С, пользователи не нужны
ФайловаяТолько пока открыт хотя бы один сеанс; задания исполняются в сеансе пользователя
Публикация на веб-сервереМожно включить выполнение заданий в настройках публикации

Для файловой базы это частая ловушка: расписание на 03:00 настроено, а утром каталог не обновлён, потому что ночью программу никто не открывал.

Проверить, отработало ли задание, можно в Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания. Там видно время последнего запуска и текст ошибки, если он был.

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

7. Почему каталог не загружается в 1С: разбор сбоев

Симптомы, которые чаще всего всплывают после импорта, и что за ними стоит.

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

Частые ошибки и как их избежать

  • 🚫 Загружать сразу весь файл без пробы на 10–20 строках.
  • 🚫 Использовать наименование как единственный ключ поиска.
  • 🚫 Грузить цены в реквизиты карточки вместо документа установки цен.
  • 🚫 Менять идентификаторы товаров на сайте после первого обмена.

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

Можно ли загрузить в 1С каталог с картинками?
Да. В CommerceML изображения передаются в папке import_files вместе с import.xml. Встроенная загрузка из Excel картинки не переносит, их добавляют в карточки отдельно.
Сколько строк можно загрузить за один раз?
Жёсткого ограничения нет, упор в память компьютера и время. Файлы свыше 10–20 тысяч строк надёжнее делить на части по группам.
Как обновить уже загруженный каталог, не создав дублей?
Загружать с тем же ключом поиска, что и в первый раз, — по артикулу или идентификатору. Тогда найденные товары обновятся, а новые добавятся.
Нужен ли Excel на компьютере, чтобы загрузить xlsx?
Нет. Платформа 1С 8.3 читает xlsx сама. Excel нужен только для подготовки файла.
Как загрузить остатки вместе с каталогом?
Отдельно. Сначала товары в справочник, потом остатки документом ввода начальных остатков или поступлением; в CommerceML остатки приходят в offers.xml.