При совместном внедрении конфигураций «1С:Управление производственным предприятием» (УПП) и «1С:Документооборот» (ДО) часто возникает вопрос: достаточно ли типового функционала из коробки для полноценной работы пользователей или требуется приобретение специализированных модулей и доработка конфигурации?
Разберем архитектурные особенности обеих систем, выясним причину ограничений штатного механизма и подробно рассмотрим практические варианты реализации взаимодействия.
Проанализируем структуру обеих конфигураций. В поставку дистрибутивов 1С:УПП и 1С:Документооборот действительно входят типовые правила обмена. Однако их возможности строго ограничены следующими рамками:
Библиотека интеграции с 1С:Документооборотом (БИД) от фирмы «1С» разработан исключительно для управляемых форм и современных версий Библиотеки стандартных подсистем (БСП). Так как УПП 1.3 функционирует на обычных формах (толстый клиент) и старой версии БСП, подсистема БИД в ней штатно отсутствует и не может быть внедрена простым объединением конфигураций.Таким образом, штатных средств УПП достаточно только для синхронизации справочников. Для полноценного взаимодействия с документами и задачами необходимо выбрать один из альтернативных способов интеграции.
Рассмотрим применение готовых сертифицированных модулей интеграции. Такие решения адаптируют алгоритмы БИД для работы в режиме обычных форм и встраиваются в кодовую базу УПП.
При использовании готового модуля архитектура работает следующим образом:
1С:Документооборот публикуется на веб-сервере (IIS или Apache) с предоставлением доступа к стандартным веб-сервисам (в частности, DMService).Если требуется реализовать точечное взаимодействие (например, отправку на согласование только определенных видов документов), разработаем собственный механизм на основе веб-сервисов или HTTP-запросов.
Разберем реализацию по шагам:
DMService либо создаем собственный HTTP-сервис в ДО.WSСсылка или используем объект HTTPСоединение для передачи данных.Посмотрим на пример вызова методов интеграции через объект HTTPСоединение из модуля УПП:
Функция ОтправитьДокументНаСогласование(СсылкаНаДокумент)
Сервер = "do.company.local";
Порт = 80;
Пользователь = "WSUser";
Пароль = "WSPassword";
ЗащищенноеСоединение = Неопределено;
Соединение = Новый HTTPСоединение(Сервер, Порт, Пользователь, Пароль, , , ЗащищенноеСоединение);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ПараметрыДокумента = Новый Структура;
ПараметрыДокумента.Вставить("Номер", СсылкаНаДокумент.Номер);
ПараметрыДокумента.Вставить("Дата", Формат(СсылкаНаДокумент.Дата, "ДФ=yyyy-MM-ddTHH:mm:ss"));
ПараметрыДокумента.Вставить("Сумма", СсылкаНаДокумент.СуммаДокумента);
ПараметрыДокумента.Вставить("Организация", Строка(СсылкаНаДокумент.Организация));
ЗаписатьJSON(ЗаписьJSON, ПараметрыДокумента);
ТелоЗапроса = ЗаписьJSON.Закрыть();
Запрос = Новый HTTPЗапрос("/do_base/hs/integration/createdoc");
Запрос.УстановитьТелоИзСтроки(ТелоЗапроса, КодировкаТекста.UTF8);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Если Ответ.КодСостояния = 200 Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
Чтобы минимизировать изменения в конфигурации УПП и не усложнять установку типовых обновлений, логику взаимодействия с ДО можно вынести во внешние обработки (обработки заполнения табличных частей, внешние печатные формы или подключаемые обработки обслуживания):
Если для бизнес-процессов компании не требуется интерактивная реакция в реальном времени, рассмотрим доработку штатных правил обмена через конфигурацию Конвертация данных, редакция 2.1:
ЗаказПокупателя конвертируется во ВнутреннийДокумент в ДО).Итог: штатных средств обмена УПП и ДО достаточно исключительно для синхронизации справочной информации. Если перед предприятием стоит задача работы с процессами, задачами и согласованием документов непосредственно из УПП, необходимо использовать готовые модули интеграции, разрабатывать собственные веб-сервисы или модернизировать правила конвертации данных.