При внедрении бесшовной интеграции между 1С:ERP Управление предприятием и 1С:Документооборот (ДО) (есть готовый модуль для бесшовной интеграции 1С:ERP и 1С:ДО) одной из самых частых проблем является «односторонняя работа» процесса. Согласование в 1С:ДО успешно завершается, пользователи ставят визы, но в 1С:ERP статус документа (например, «Заявки на расходование денежных средств») остается неизменным. Рассмотрим подробно, почему это происходит и какими способами можно наладить автоматическое обновление данных.
Для начала проанализируем, как система понимает, откуда и куда передавать данные. В настройках интеграции есть две ключевые вкладки, которые часто путают:
СостояниеСогласования в ДО и Статус в ERP — для проверки расхождений есть инструмент сравнения данных между базами 1С.Однако на практике стандартные правила не всегда срабатывают автоматически при завершении задачи. Часто требуется либо регламентное задание, либо программное вмешательство.
Выясним одну из скрытых причин сбоя — ошибки при попытке записи документа в 1С:ERP. Когда 1С:ДО пытается вернуть статус «Согласовано», информационная система (ERP) инициирует запись объекта. Если в документе не заполнены обязательные реквизиты, запись будет отклонена, а статус не изменится.
Проанализируем типичный пример с документом ЗаявкаНаРасходованиеДенежныхСредств. Если в ERP настроен строгий контроль заполнения статьи движения денежных средств (ДДС), а в заявке на момент согласования она не была указана, система выдаст ошибку: «Не заполнена колонка "Статья движения денежных средств"». Эту ошибку можно увидеть только в Журнале регистрации (поможет мониторинг ошибок в журнале регистрации и фоновых заданиях) под именем того пользователя, от лица которого работает интеграция. Убедитесь, что все реквизиты, необходимые для проведения документа в нужном статусе, заполнены до отправки на согласование.
Если типовые правила интеграции не обеспечивают нужной гибкости, воспользуемся проверенным программным способом. В системе существует общий модуль ИнтеграцияС1СДокументооборотПереопределяемый, предназначенный специально для кастомизации логики бесшовной интеграции.
Рассмотрим пример реализации кода в процедуре ПриИзмененииСостоянияСогласования. Этот код позволяет принудительно менять статусы в 1С:ERP в зависимости от вердикта в 1С:ДО:
Если ТипЗнч(ПредметСогласования) = Тип("ДокументСсылка.ЗаявкаНаРасходованиеДенежныхСредств") Тогда
Объект = ПредметСогласования.ПолучитьОбъект();
Если Состояние = Перечисления.СостоянияСогласованияВДокументообороте.НаСогласовании Тогда
Объект.Статус = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.ОтправленаНаСогласование;
ИначеЕсли Состояние = Перечисления.СостоянияСогласованияВДокументообороте.НеСогласован Тогда
Объект.Статус = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.Отклонена;
ИначеЕсли Состояние = Перечисления.СостоянияСогласованияВДокументообороте.Согласован Тогда
Объект.Статус = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.КОплате;
КонецЕсли;
Если Объект.Модифицированность() Тогда
Объект.Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;
КонецЕсли;
Данный подход гарантирует, что как только в 1С:ДО изменится состояние документа, 1С:ERP мгновенно отреагирует на это событие, минуя сложные настройки правил обмена.
Важно помнить, что в бесшовной интеграции данные не всегда перемещаются мгновенно. Рассмотрим роль регламентного задания Интеграция с 1С:Документооборотом — Выполнение обмена данными (рекомендуем контроль выполнения регламентных заданий обмена). Именно оно отвечает за опрос веб-сервисов 1С:ДО и получение изменений.
Проанализируем шаги для проверки:
Если интеграция работала, но после обновления платформы перестала авторизовываться, обратим внимание на особенности публикации веб-сервисов. Начиная с версии 8.3.9, механизмы взаимодействия через HTTP стали более строгими.
Посмотрим на возможные решения этой ситуации:
DMService — для этого подойдёт анализатор HTTP-запросов и ответов для поиска ошибок интеграции.Подводя итог, можно сказать, что для корректной работы согласования необходимо обеспечить три условия: правильно настроенные правила получения данных, отсутствие блокировок записи документа в ERP и стабильную работу регламентных заданий обмена.