Загрузка справочника товаров в 1С 8.3 разными способами

· 9 мин

Содержание

Самый быстрый способ подгрузить номенклатуру — встроенная загрузка из Excel . В «1С:Бухгалтерии 3.0» откройте Справочники → Номенклатура, нажмите Загрузить в командной панели списка, выберите файл и сопоставьте колонки с реквизитами. Новые позиции создаются пачкой за один проход.

Если конфигурация другая (УТ, ERP, УНФ) или нужно перенести тысячи строк с ценами и остатками, подключают универсальную обработку, обмен по формату CommerceML или загрузку через правила обмена. Выбор зависит от того, откуда данные: разовая выгрузка из Excel — одно, регулярная синхронизация с сайтом или другой базой — совсем другое.

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

Чем загружать: четыре рабочих способа

Прежде чем грузить, определитесь с источником и периодичностью. От этого зависит инструмент.

СпособКогда применятьФормат источника
Встроенная загрузка из ExcelРазовый импорт списка товаров в БП 3.0.xlsx, .xls, буфер обмена
Универсальная обработкаЛюбая конфигурация, гибкий маппинг.xlsx, .ods, .mxl
Обмен по CommerceMLРегулярный обмен с сайтом или интернет-магазином.xml (import.xml, offers.xml)
Правила обмена (EnterpriseData)Перенос между базами 1С.xml + файл правил

Для одноразовой задачи «загнать прайс в базу» не настраивайте обмен — это избыточно. Встроенной загрузки или универсальной обработки хватит.

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

Как подготовить файл Excel или CSV

Файл решает половину успеха. Загрузчик читает таблицу построчно, поэтому структура должна быть плоской.

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

  • 📋 Одна строка — одна позиция. Никаких объединённых ячеек и подытогов внутри таблицы.
  • 🏷️ Шапка в одну строку. Заголовки колонок — ровно в первой строке, без «двухэтажных» шапок.
  • 🔢 Числа — числом. Цена и количество не должны быть текстом. Уберите пробелы-разделители тысяч; разделитель дробной части — как в региональных настройках базы.
  • 🧾 Артикул — отдельная колонка. Это будущий ключ поиска, по нему система отличит новый товар от существующего.
  • 📐 Единица измерения — как в классификаторе. шт, кг, л, м. Непонятную единицу загрузчик не подставит.
  • 💰 Ставка НДС — текстом ровно так, как в справочнике ставок (20%, 10%, Без НДС). Иначе строка не сопоставится.

Для CSV критична кодировка. Файл в UTF-8 база может прочитать как кракозябры, если ожидает windows-1251. Если русские буквы «поехали» — пересохраните CSV в нужной кодировке или откройте его в Excel и сохраните как .xlsx.

Минимальный набор реквизитов для товара — наименование, вид номенклатуры (товар/услуга/работа) и единица измерения. Без них элемент не запишется, и строка свалится в ошибку.

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

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

Чистить прайс удобнее в Excel до загрузки, а не разгребать дубли и пустые реквизиты уже в справочнике.

Встроенная загрузка из Excel: самый простой путь

В «1С:Бухгалтерии 3.0» загрузчик уже встроен в справочник. Это самый быстрый вариант для прайса на пару сотен позиций.

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

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

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

В «Управлении торговлей 11», ERP и УНФ встроенной кнопки «Загрузить» в карточке номенклатуры исторически нет — там переходят к универсальной обработке или обмену. Если не нашли кнопку в своей конфигурации, не ищите её вслепую: переходите к следующему способу.

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

Главная причина, по которой после загрузки в справочнике оказывается два «молока» вместо одного, — не задан ключ поиска. Загрузчик каждую строку считает новым товаром и создаёт его заново.

Перед первой боевой загрузкой всегда выбирайте поле поиска (идентификатор) — чаще всего это артикул. Тогда повторный импорт того же прайса обновит позиции, а не задвоит их.

Типовое сопоставление колонок прайса и реквизитов номенклатуры:

Сопоставление полей
Наименование→Наименование (полное и для печати)
Артикул→Артикул (ключ поиска)
Цена закупки→Регистр цен, вид «Закупочная»
Цена продажи→Регистр цен, вид «Розничная»
Ставка НДС→Справочник «Ставки НДС»
Единица→Единица измерения (из классификатора)
Штрихкод→Регистр «Штрихкоды номенклатуры»
Группа→Папка справочника номенклатуры

Обратите внимание: цены, штрихкоды и остатки — это не реквизиты карточки, а отдельные регистры. Встроенные загрузчики умеют их заполнять заодно, но при настройке обмена эти данные идут отдельными сообщениями (в CommerceML — файл offers.xml).

Обмен через XML: CommerceML и правила обмена

Когда номенклатура приезжает из интернет-магазина или другой программы, работает обмен по XML. Это не разовая загрузка, а настраиваемый канал.

CommerceML — стандартный формат обмена товарами с сайтами (в том числе с 1С-Битрикс). Каталог приходит файлом import.xml (описания, группы, свойства), цены и остатки — файлом offers.xml. Настраивается обмен в Администрирование → Синхронизация данных → Обмен с сайтом (в УТ/КА раздел может называться «Интеграция с сайтом»). В сообщении указываете каталог с XML-файлами — система разбирает их и создаёт или обновляет позиции по внутренним идентификаторам.

EnterpriseData и правила обмена нужны, когда данные переносятся между базами 1С — например, из старой учётной системы в новую. Здесь обмен идёт по единому формату EnterpriseData либо по правилам, собранным в «Конвертации данных 3». Настройка — в том же разделе Администрирование → Синхронизация данных, но вы загружаете ещё и файл правил, который описывает соответствие объектов двух конфигураций.

Обмен — не способ «быстро загрузить прайс из Excel». Если XML-файла у вас нет и его неоткуда взять, этот путь не ваш: возвращайтесь к загрузке из таблицы.

Отдельно про идентификацию при обмене. CommerceML и правила обмена ищут позиции не по артикулу, а по внутреннему идентификатору (GUID), который присваивается при первом обмене. Поэтому дубли при XML-обмене возникают реже, чем при ручной загрузке из Excel: пока используется тот же канал, система узнаёт ранее переданные товары. Проблемы начинаются, если выгружать каталог то из одной системы, то из другой — идентификаторы перестают совпадать.

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

Для разового переноса каталога между базами 1С правила обмена избыточны, но если обмен будет регулярным (каждую ночь подтягивать новые товары), настроенный канал окупается — ручной импорт больше не нужен.

Автоматизация: универсальная обработка и свой код

Универсальная внешняя обработка «Загрузка данных из табличного документа» грузит данные в любую конфигурацию без доработок. Её открывают через Файл → Открыть и выбирают файл обработки (.epf).

Порядок работы с ней:

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

Открытие внешних обработок может быть запрещено политикой безопасности базы. Если Файл → Открыть не предлагает запустить .epf, профиль безопасности или права пользователя блокируют внешний код — вопрос решается с администратором, а не обходом.

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

Ссылка = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);
Если Ссылка.Пустая() Тогда
    Элемент = Справочники.Номенклатура.СоздатьЭлемент();
    Элемент.Наименование = Наименование;
    Элемент.Артикул      = Артикул;
    // заполнить вид номенклатуры и единицу измерения
    Элемент.Записать();
Иначе
    // обновить существующий при необходимости
КонецЕсли;

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

Собственный код удобно повесить на регламентное задание — тогда база сама заберёт новый файл по расписанию (раз в час, раз в сутки). Файл кладут в заранее оговорённый каталог, обработка его читает, загружает новые позиции и сдвигает обработанный файл в архивную папку, чтобы не разобрать его повторно. Это тот случай, когда вложения в разработку оправданы: загружать прайс руками каждый день — лишняя рутина.

Почему загрузка падает: разбор ошибок

Чаще всего ломается не инструмент, а данные. Вот как по симптому понять причину.

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

Перед боевой загрузкой прогоните файл на 5–10 строках и проверьте результат в справочнике. Проще поправить одну ошибку на десяти позициях, чем разбирать тысячу задвоенных карточек.

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

Можно ли загрузить номенклатуру вместе с ценами и остатками?
Цены — да, встроенный загрузчик и обработка умеют заполнять регистр цен. Остатки так не грузят: их вводят документом оприходования или начального ввода, иначе учёт разойдётся с проводками.
Как не создать дубли при повторной загрузке?
Задайте поле поиска (идентификатор) — обычно артикул. При повторном импорте система найдёт позицию по артикулу и обновит её, а не создаст заново.
Чем отличается загрузка из Excel от обмена по CommerceML?
Из Excel — разовый импорт таблицы вручную. CommerceML — настраиваемый канал обмена с сайтом: система сама разбирает XML-файлы с каталогом, ценами и остатками по расписанию.
Не нашёл кнопку «Загрузить» в своей конфигурации — что делать?
Встроенный загрузчик есть не везде. В УТ, ERP и УНФ используйте универсальную обработку «Загрузка данных из табличного документа» или настройте обмен.
Открытие внешней обработки заблокировано, можно ли обойти?
Нет, это решает администратор через профиль безопасности и права пользователя. Либо вам временно выдадут права, либо загрузку выполнит специалист с нужным доступом.