Как настроить работу 1С-ЭДО в нескольких базах 1С:Розница при использовании одного ИНН?

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

При автоматизации розничной сети часто возникает ситуация, когда на разных торговых точках (или в офисе и магазине) устанавливаются самостоятельные базы данных 1С:Розница, в которые можно перенести накопленные сведения, выбрав подбор решений для переноса данных в 1С:Розницу. Если при этом организация использует электронный документооборот (например, 1С-ЭДО через оператора Калуга Астрал), администраторы часто совершают ошибку: подключают одну и ту же учетную запись ЭДО (один уникальный идентификатор участника) в обеих конфигурациях.

В результате пользователи сталкиваются с проблемой: как только одна из баз выполняет сеанс обмена и загружает входящие файлы (УПД, счета-фактуры, накладные), вторая база эти документы «теряет» и больше не видит. Разберем подробно, почему так происходит, и проанализируем все технические варианты решения этой проблемы.

Выясняем причину: как устроен механизм доставки документов ЭДО

Каждая учетная запись ЭДО имеет уникальный буквенно-цифровой код — идентификатор абонента (ID). Когда поставщик отправляет вам электронный документ, сервер оператора ЭДО (в данном случае Калуга Астрал) помещает этот документ в транспортный ящик, привязанный к вашему ID.

Когда программа 1С:Розница инициирует обмен (вызывается регламентное задание или пользователь нажимает кнопку «Отправить и получить»), система обращается к серверу оператора и скачивает новые пакеты данных. Для сервера ЭДО этот процесс является подтверждением доставки. Файлы помечаются как «доставленные». При последующем запросе — будь то из этой же или из другой базы 1С — сервер ЭДО больше не отдает эти документы, так как считает транзакцию завершенной.

Следовательно, использовать один и тот же идентификатор ЭДО параллельно в двух независимых базах без дополнительной настройки обмена невозможно. Рассмотрим два основных способа решения этой проблемы.

---

Решение 1. Разделение идентификаторов ЭДО по торговым точкам (Рекомендуемый способ)

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

Законодательство и технические возможности операторов ЭДО позволяют регистрировать несколько уникальных идентификаторов ЭДО на одно юридическое лицо (один ИНН). Разберем по шагам, как это реализовать:

  1. Создание отдельных профилей настроек ЭДО:

    Для каждой базы 1С:Розница (для каждого магазина или подразделения) необходимо выпустить свой идентификатор ЭДО. В первой базе настраивается профиль с ID №1, во второй базе — профиль с ID №2. В качестве назначения или понятного имени учетной записи укажите физический адрес магазина или название торговой точки (например, «Магазин на Ленина» и «Магазин на Мира»).

  2. Отправка приглашений контрагентам:

    Из каждой базы 1С отправьте приглашения вашим поставщикам. Поставщик в своей программе увидит, что у вашей организации (один ИНН) теперь есть два разных адреса доставки (два разных ID).

  3. Маршрутизация на стороне поставщика:

    Чтобы поставщик не путал, на какой именно ID отправлять конкретную накладную, в его системе (например, в 1С:Управление торговлей или 1С:ERP) настраивается связь между вашими торговыми точками и договорами. Для каждой точки в базе поставщика создается отдельное соглашение или договор, в параметрах которого жестко прописывается соответствующий ID ЭДО покупателя. При формировании отгрузки менеджер поставщика выбирает нужную точку доставки (договор), и система автоматически отправляет УПД на правильный идентификатор.

---

Решение 2. Использование единого ID ЭДО с последующей синхронизацией между базами

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

В этом случае обмен с оператором ЭДО настраивается строго в одной базе (например, в центральном офисе или в базе первого магазина). Во второй базе модуль 1С-ЭДО деактивируется. Все документы поступают в первую базу, а затем пересылаются во вторую. Рассмотрим варианты реализации такой синхронизации:

Вариант А. Настройка распределенной информационной базы (РИБ)

Если ваши магазины работают в рамках единой торговой сети и вам в любом случае нужна централизованная база данных для консолидации остатков и продаж, лучшим решением станет создание РИБ. В этом случае:

Вариант Б. Односторонний обмен через универсальный формат EnterpriseData

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

Вариант В. Кастомная маршрутизация через HTTP-сервисы (для программистов)

Если требуется передавать не просто учетные документы (например, Документ.ПоступлениеТоваров), а именно оригинальные файлы электронных документов (пакеты ЭДО) для их последующего подписания во второй базе, можно написать расширение конфигурации. Разберем пример реализации передачи ссылки на документ во вторую базу через HTTP-соединение:


// Пример процедуры отправки метаданных полученного пакета ЭДО во вторую базу
Процедура ОтправитьПакетВоВторуюБазу(ПакетЭДО) Экспорт
    
    // Формируем структуру данных для передачи
    ДанныеПередачи = Новый Структура;
    ДанныеПередачи.Вставить("ИдентификаторДокумента", ПакетЭДО.ИдентификаторДокумента);
    ДанныеПередачи.Вставить("ДатаДокумента", ПакетЭДО.Дата);
    ДанныеПередачи.Вставить("КонтрагентИНН", ПакетЭДО.Контрагент.ИНН);
    ДанныеПередачи.Вставить("СуммаДокумента", ПакетЭДО.СуммаДокумента);
    
    // Преобразуем в JSON
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();
    ЗаписатьJSON(ЗаписьJSON, ДанныеПередачи);
    СтрокаJSON = ЗаписьJSON.Закрыть();
    
    // Настраиваем HTTP-соединение со второй базой
    Сервер = "192.168.1.100"; // IP-адрес или имя сервера второй базы
    Порт = 8080;
    Пользователь = "SyncUser";
    Пароль = "StrongPassword";
    
    HTTPСоединение = Новый HTTPСоединение(Сервер, Порт, Пользователь, Пароль);
    HTTPЗапрос = Новый HTTPЗапрос("/retail_point2/hs/edo_integration/v1/receive");
    HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJSON, КодировкаТекста.UTF8);
    
    Попытка
        HTTPОтвет = HTTPСоединение.ОтправитьДляАнализа(HTTPЗапрос);
        Если HTTPОтвет.КодСостояния <> 200 Тогда
            ЗаписьЖурналаРегистрации("ЭДО.Синхронизация", УровеньЖурналаРегистрации.Ошибка, , , 
                "Ошибка передачи пакета. Код ответа: " + HTTPОтвет.КодСостояния);
        КонецЕсли;
    Исключение
        ЗаписьЖурналаРегистрации("ЭДО.Синхронизация", УровеньЖурналаРегистрации.Ошибка, , , 
            "Не удалось установить соединение со второй базой: " + ОписаниеОшибки());
    КонецПопытки;
    
КонецПроцедуры

---

Разъяснение: Настройка «Основного оператора ЭДО» в личном кабинете «Честного Знака»

В процессе обсуждения данной проблемы часто возникает сопутствующий вопрос: как быть с маркировкой и системой «Честный Знак» (ГИС МТ)? Какой ЭДО указывать в качестве основного в личном кабинете, если у нас настроено несколько разных подключений?

Давайте проанализируем реальное техническое назначение настройки «Основной оператор ЭДО» в профиле ГИС МТ:

  1. Документы от самого ЦРПТ:

    Эта настройка указывает системе «Честный Знак», на какой конкретно из ваших абонентских ящиков отправлять закрывающие документы (акты, счета-фактуры) за услуги самой системы маркировки (например, за предоставление платных кодов эмиссии).

  2. Работа со встроенным сервисом «ЭДО Лайт»:

    Если вы планируете принимать или отправлять УПД с маркированным товаром без использования сторонних программ (напрямую в веб-интерфейсе «Честного Знака»), то именно его нужно обязательно отметить в профиле как «Основной оператор ЭДО». Без этой настройки функционал бесплатного «ЭДО Лайт» будет заблокирован.

  3. Обычные коммерческие поставки от дистрибьюторов:

    Для стандартного получения маркированного товара от ваших поставщиков выбор «основного» оператора в ЛК ЧЗ не имеет значения. Коммерческие операторы (включая Калугу Астрал, Тензор, Такском и др.) интегрированы с ГИС МТ напрямую. Как только вы подписываете входящий УПД в своей программе 1С:Розница, оператор ЭДО автоматически передает сведения о кодах маркировки в «Честный Знак». Право собственности на коды перейдет к вашей организации в штатном режиме, независимо от того, какой оператор выбран «основным» в личном кабинете.

Таким образом, если вы разделяете ЭДО на два разных идентификатора в двух базах 1С для разных магазинов, вы можете выбрать любой из них в качестве основного в ЛК Честного Знака — на корректность списания и поступления маркированного товара это никак не повлияет.

← На главную