Как настроить интеграцию 1С:УПП и 1С:Документооборот для обмена электронными УПД?

Программист 1С v8.3 (Обычные формы) Бухгалтерский учет
← На главную

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

Вариант 1: Использование Библиотеки интеграции с документооборотом (БИД)

Первым делом проанализируем штатные возможности 1С. Для 1С:УПП 1.3 существует специальная версия Библиотеки интеграции с документооборотом. Это наиболее стабильный и поддерживаемый вендором путь. БИД позволяет реализовать так называемую «бесшовную интеграцию».

Рассмотрим, как это работает по шагам:

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

Вариант 2: Разработка собственного обмена на базе HTTP-сервисов

Если типовая библиотека кажется слишком тяжеловесной или требуется специфическая логика (например, полная копия всех XML-квитанций обмена), проанализируем вариант создания собственного решения на HTTP-сервисах. Это современная альтернатива устаревшему COMConnector.

Алгоритм реализации может быть следующим:

В базе 1С:Документооборот создаем подписку на событие при завершении процесса подписания электронного документа. В этой подписке инициируем HTTP-запрос к веб-сервису на стороне УПП.

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


// В базе ДО (отправка данных)
Процедура ПриЗавершенииЭДО(ДокументСсылка)
    СервисУПП = "http://server/upp/hs/integration/receive_upd";
    Запрос = Новый HTTPЗапрос(СервисУПП);
    // Получаем XML файл самого УПД из присоединенных файлов
    ФайлЭД = ПолучитьФайлЭлектронногоДокумента(ДокументСсылка); 
    Запрос.УстановитьТелоИзДвоичныхДанных(ФайлЭД);
    
    Соединение = Новый HTTPСоединение("server", , "user", "pass");
    Ответ = Соединение.ОтправитьДляОбработки(Запрос);
КонецПроцедуры

На стороне 1С:УПП создаем HTTP-сервис, который принимает XML-пакет, разбирает его и создает документ. Для разбора XML-файла УПД (формализованного документа) используем встроенные средства работы с XML или чтение по XSD-схеме оператора ЭДО.


// В базе УПП (прием данных)
Функция ReceiveUPD(Запрос)
    ТелоЗапроса = Запрос.ПолучитьТелоКакДвоичныеДанные();
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьТекст(ПолучитьСтрокуИзДвоичныхДанных(ТелоЗапроса));
    
    // Логика разбора XML согласно формату ФНС (Приказ ММВ-7-15/820@)
    // Создаем документ ПоступлениеТоваровУслуг
    НовоеПоступление = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
    НовоеПоступление.Дата = ТекущаяДата();
    // Заполняем табличную часть из данных XML
    Пока ЧтениеXML.Прочитать() Цикл
        // Читаем узлы номенклатуры, количества и цены
    КонецЦикла;
    НовоеПоступление.Записать(РежимЗаписиДокумента.Запись);
    
    Возврат Новый HTTPСервисОтвет(200);
КонецФункции

Вариант 3: Передача ссылок и файлов (Минималистичный подход)

Выясним, как поступить, если автоматическое создание документов в УПП пока не требуется, но бухгалтеру нужно видеть оригинал ЭД. В УПП можно хранить только навигационные ссылки на объекты в ДО.

Посмотрим на этот метод подробнее:

Важные технические нюансы интеграции

При любом выбранном варианте мы обязательно столкнемся с проблемой синхронизации нормативно-справочной информации (НСИ). Проанализируем критические моменты:

  1. Контрагенты: Синхронизацию лучше всего настраивать по паре ИНН + КПП. Если используется обмен через Конвертацию данных 2.0, необходимо настроить правила поиска именно по этим полям.
  2. Номенклатура: Это самое слабое звено. В электронном УПД поставщик присылает свои наименования. Чтобы в УПП документ заполнился корректно, необходимо вести регистр сведений «Номенклатура контрагентов», где сопоставлять текстовое название из XML с объектом справочника Номенклатура в УПП.
  3. Договоры: Синхронизацию договоров рекомендуется делать по номеру и дате в рамках конкретного контрагента, либо заставлять пользователей выбирать договор в ДО вручную перед отправкой данных в УПП.

Рекомендации по реализации

Подведем итог. Если бюджет и время позволяют, наилучшим решением будет внедрение БИД. Это даст «бесшовность», которую так ценит бизнес: бухгалтер в УПП видит все процессы по документу в реальном времени.

Если же задача стоит остро и бюджет ограничен, разработайте HTTP-сервис в УПП, который будет принимать только готовый XML файл УПД. Это позволит «рождать» черновики поступлений в УПП автоматически. Не забудьте, что для юридической значимости файлы электронных подписей (.sig или .p7s) также должны быть доступны для просмотра из УПП, что реализуется либо через хранение путей к сетевым томам ДО, либо через передачу двоичных данных в справочник ХранилищеДополнительнойИнформации.

← На главную