Как загрузить сопоставленный классификатор алкогольной номенклатуры магазина-партнера в 1С

Программист 1С v8.3 (Управляемые формы) 1С:Розница Торговля и дистрибуция
← На главную

При открытии новой торговой точки или объединении сетей часто возникает задача быстрого наполнения номенклатурного справочника. Если у партнера уже есть готовая база с привязанными алкогольными кодами ЕГАИС, возникает логичное желание загрузить эти сопоставления напрямую. Рассмотрим архитектуру хранения данных в 1С и ЕГАИС, выясним причины ограничений транспортного модуля и разберем корректные способы переноса каталога между учетными системами.

Почему нельзя загрузить номенклатуру магазина через ЕГАИС

Проанализируем техническую архитектуру протокола УТМ (Универсального транспортного модуля) ЕГАИС. В системе присутствует стандартная команда отправки запроса номенклатуры по коду ФСРАР контрагента (QueryAP). Однако этот механизм имеет строгое техническое ограничение:

  1. Фильтрация по типу контрагента: Запрос номенклатуры по FSRAR_ID в ЕГАИС возвращает список продукции исключительно в том случае, если запрошенный контрагент имеет статус производителя или импортера.
  2. Отсутствие данных по розничным продавцам: Для оптовых поставщиков и розничных магазинов ЕГАИС не формирует список привязанной номенклатуры через запрос по контрагенту. В системе ЕГАИС алкогольная продукция жестко привязана к ее происхождению (заводу-изготовителю или импортеру), а не к текущему владельцу партии товара.
  3. Разделение данных: Вся информация о том, какому конкретно наименованию внутренней учетной системы (справочник Номенклатура) и какому потребительскому штрихкоду (EAN-13) соответствует тот или иной алкокод ЕГАИС, хранится исключительно внутри локальной базы 1С магазина-партнера.

Таким образом, решить задачу исключительно средствами УТМ ЕГАИС невозможно. Переносить сопоставление необходимо напрямую из учетной системы партнера в вашу базу 1С.

Архитектура хранения сопоставлений алкоголя в 1С

В типовых конфигурациях (1С:Розница, 1С:Управление торговлей, 1С:УНФ, 1С:ERP, 1С:Комплексная автоматизация) хранение данных об алкогольной продукции реализовано через три ключевых объекта:

  1. Справочник КлассификаторАлкогольнойПродукцииЕГАИС — содержит данные о продукции с точки зрения регулятора (наименование по ЕГАИС, 19-значный код алкогольной продукции AlcCode, объем тары, крепость, производитель и импортер).
  2. Справочник Номенклатура — локальный товарный справочник вашей организации, к которому привязаны единицы измерения, ставки НДС и потребительские штрихкоды из регистра сведений ШтрихкодыНоменклатуры.
  3. Регистр сведений СоответствиеНоменклатурыЕГАИС — связующее звено между позицией справочника Номенклатура (включая характеристики и серии при их наличии) и элементом справочника КлассификаторАлкогольнойПродукцииЕГАИС.

Рассмотрим рабочие варианты переноса каталога и сопоставлений из базы партнера в вашу рабочую базу 1С.

Способ 1. Прямой перенос данных между базами 1С через XML

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

  1. Выгрузка из базы источника: С помощью стандартной обработки «Выгрузка и загрузка данных XML» выгружаем из базы партнера три объекта: справочник Номенклатура, справочник КлассификаторАлкогольнойПродукцииЕГАИС и регистр сведений СоответствиеНоменклатурыЕГАИС (а также регистр ШтрихкодыНоменклатуры).
  2. Загрузка в базу приемник: Загружаем полученный файл в целевую базу. При этом автоматически сохраняются уникальные идентификаторы (GUID), что исключает появление пустых ссылок («Объект не найден») в регистре соответствия.
  3. Обновление классификатора через ЕГАИС: Если карточки алкогольной продукции требуют синхронизации статусов, по загруженным элементам справочника КлассификаторАлкогольнойПродукцииЕГАИС можно отправить повторные запросы в УТМ по алкокодам.

Способ 2. Перенос через таблицу сопоставления (Штрихкод — Алкокод)

Если конфигурации баз различаются или требуется выборочный перенос, применяем перенос через сопоставительную таблицу (Excel или CSV-файл).

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

  1. Штрихкод товара (EAN-13).
  2. Наименование номенклатуры.
  3. Код алкогольной продукции ЕГАИС (AlcCode, 19 знаков).
  4. Код вида алкогольной продукции, крепость и емкость (опционально, для предварительной сверки).

Пошаговый процесс загрузки и связывания в базе приемнике:

  1. Загрузка номенклатуры: С помощью обработки «Загрузка данных из табличного документа» создаем карточки в справочнике Номенклатура и регистрируем штрихкоды.
  2. Запрос данных в ЕГАИС: По списку полученных алкокодов выполняем групповой запрос через УТМ («Запрос алкогольной продукции по коду ЕГАИС»). В результате ЕГАИС вернет официальные регистрационные карточки, которые автоматически запишутся в справочник КлассификаторАлкогольнойПродукцииЕГАИС.
  3. Формирование связей: Заполняем регистр сведений СоответствиеНоменклатурыЕГАИС программно или с помощью типовой обработки сопоставления.

Технические нюансы и контроль дублей

Обратим внимание на критически важные аспекты при переносе готовых сопоставлений:

  1. Отношение «один ко многим»: Одной физической позиции номенклатуры (и одному штрихкоду) может соответствовать несколько различных алкокодов ЕГАИС. Это происходит, когда одна и та же продукция разливается на разных филиалах завода или ввозится разными компаниями-импортерами. Убедимся, что в регистре СоответствиеНоменклатурыЕГАИС для одной номенклатуры сопоставлены все действующие алкокоды.
  2. Целостность ссылок: Нельзя загружать только записи регистра сведений СоответствиеНоменклатурыЕГАИС без самих элементов номенклатуры и классификатора ЕГАИС. Это приведет к нарушению ссылочной целостности базы данных.
← На главную