При внедрении бесшовной интеграции между 1С:ERP Управление предприятием и 1С:Документооборот (ДО) специалисты часто сталкиваются с вопросом: как избежать избыточного дублирования данных и обеспечить редактирование исходного документа ERP непосредственно из интерфейса ДО? Рассмотрим этот вопрос подробно, проанализируем архитектурные ограничения и найдем эффективные способы решения задачи.
Для начала разберем, как технически устроена «бесшовная интеграция». Многие пользователи ошибочно полагают, что интеграция позволяет работать напрямую с таблицами базы ERP из базы ДО. На самом деле это не так. В системе 1С:ДО обязательно должен существовать объект-контейнер. Обычно это Внутренний документ (в версии 2.1) или Документ предприятия (в версии 3.0).
Этот объект выступает «отражением» (прокси-объектом) заявки из ERP. Процессы согласования, задачи и история изменений в ДО привязываются именно к этому внутреннему документу. Без него стандартный механизм бизнес-процессов ДО просто не будет знать, что именно он согласовывает. Поэтому полностью отказаться от создания документа в ДО при использовании типового функционала невозможно.
Проанализируем ситуацию, описанную в сообщениях форума: пользователь создает заявку в ERP, она транслируется в ДО, там ее редактируют (например, меняют сумму или статью ДДС), но в исходной заявке ERP данные остаются прежними. Причина кроется в недонастроенных Правилах интеграции.
Стандартно интеграция настраивается на передачу данных «Туда» (из ERP в ДО). Однако для обратного влияния необходимо настроить вкладку «Получение из ДО» в правилах обмена на стороне ERP. Рассмотрим, как это сделать по шагам.
Чтобы изменения, внесенные в документообороте, возвращались в ERP, выполним следующие действия:
Заявка на расходование денежных средств.СуммаДокумента, СтатьяДДС, Подразделение.Проанализируем технический нюанс: для работы этой связи система использует XDTO-пакеты. Если вы добавляете в обмен нетиповые реквизиты, вам потребуется расширить состав свойств в правилах обмена, чтобы программный интерфейс понимал, куда именно записывать данные в объект ДокументОбъект.ЗаявкаНаРасходованиеДенежныхСредств.
Для минимизации путаницы пользователей рекомендуется использовать метод «невидимого документа». Рассмотрим, как это работает:
Пользователь в ERP нажимает кнопку «Согласовать». Система в фоновом режиме создает карточку в 1С:ДО, заполняет ее и запускает процесс. При этом пользователю не обязательно заходить в саму базу ДО. Он может работать через панель документооборота прямо в карточке ERP. Все задачи, которые приходят согласующим лицам, также могут открываться из ERP. Таким образом, наличие «лишнего» документа в ДО становится технической формальностью, не обременяющей бизнес-логику.
Если вы используете новую версию 1С:Документооборот 3.0, ситуация упрощается. В этой версии реализован механизм согласования внешних объектов. Выясним основные преимущества этого метода:
В ДО 3.0 можно запустить процесс согласования, где предметом будет выступать не ссылка на внутренний документ, а непосредственно ссылка на объект в ERP. Это требует предварительной настройки веб-сервисов, но позволяет избежать дублирования реквизитов. В этом случае в базе ДО хранится только «заголовок» процесса и задачи, а все данные читаются напрямую из ERP через IntegrationService.
Если типовой функционал категорически не подходит и нужно согласовывать заявку вообще без создания документов в ДО, рассмотрим вариант реализации через веб-сервисы. Проанализируем примерную логику кода для старта процесса из ERP:
// Пример упрощенного вызова процесса в ДО через веб-сервис
Прокси = ИнтеграцияС1СДО.ПолучитьПроксиДляВерсии21();
ПараметрыПроцесса = Прокси.СоздатьОбъект("ДанныеБизнесПроцесса");
ПараметрыПроцесса.Наименование = "Согласование заявки №" + Объект.Номер;
// Вместо ссылки на документ ДО передаем навигационную ссылку ERP
ПараметрыПроцесса.Описание = ПолучитьНавигационнуюСсылку(Объект.Ссылка);
Прокси.СтартПроцесса(ПараметрыПроцесса);
Однако помните: при таком подходе вы теряете возможность стандартного формирования листа согласования в ERP, так как ERP «не знает», к какому объекту в ДО привязан этот процесс. Это решение потребует написания собственных обработчиков для получения статусов согласования.
Подводя итог, можно сказать, что наиболее стабильным и правильным с точки зрения методологии 1С является путь настройки Правил получения данных в рамках бесшовной интеграции. Это позволяет:
Постарайтесь избегать «костылей» в виде прямых запросов к базе или удаления документов в ДО сразу после согласования, так как это нарушит механизмы аудита и истории изменений, которые являются критически важными для управленческого учета денежных средств.