Как настроить бесшовную интеграцию между 1С:ERP и 1С:Документооборот?
В учетных системах (1С:Бухгалтерия, 1С:Управление торговлей, 1С:Зарплата и управление персоналом или 1С:ERP) может возникнуть необходимость отправить учетный документ на обработку в 1С:Документообороте. Для решения этой задачи необходимо в учетной системе настроить бесшовную интеграцию с 1С:Документооборотом.
Настройки обменов и бесшовная интеграция в 1С:Документооборот подробно рассмотрены в видеокурсе.
Перед настройкой бесшовной интеграции желательно предварительно настроить синхронизацию данных НСИ. Как это сделать, написано в статье "Обмен НСИ с 1С:ERP в 1С:Документооборот".
В статье "Публикация на веб-сервере базы 1С:Документооборот" описано, как опубликовать веб-сервис DMService на веб-сервере.
Проверим работу веб-сервиса документооборота - наберем в браузере: http://localhost:8080/doc/ws/dm.1cws?wsdl.
Заходим в программу 1С:ERP.
В 1С:ERP под Администратором открываем раздел «Администрирование», панель навигации «Интеграция - 1С:Документооборот». Заполняем параметры интеграции.
Войдем теперь в 1С:ERP под пользователем, который также есть в 1С:Документообороте (в нашем примере это пользователь Козлов).
Для того, чтобы Козлов смог увидеть свои задачи 1С:Документооборота из 1С:ERP ему нужно указать настройки авторизации.
Теперь доступны задачи и другие функции 1С:Документооборота из интерфейса 1С:ERP.
Продолжим настройку интеграции под Администратором.
Нажимаем на ссылку «Правила интеграции с 1С:Документооборотом».
Обмен контрагентами
Создаем правило для обмена контрагентами. Хотя у нас контрагенты обмениваются через правила обмена, все равно будет полезно их интегрировать через бесшовную интеграцию, чтобы можно было запускать на основании контрагентов процессы.
Откроем теперь справочник «Контрагенты» (будьте внимательны, именно Контрагенты, а не Партнеры).
И отправим поставщика «Транспортная компания» на согласование другому сотруднику (например, Волкову).
У Волкова в 1С:ERP придет задача.
Также данная задача будет видна у Волкова и в 1С:Документооборот.
Обмен договорами
Перед заполнением правила перейдем в 1С:Документооборот и создадим новую папку «Договоры».
И создадим новые виды внутренних документов «Договор с поставщиком», «Договор с клиентом» и «Договор прочий». Настройки у всех видов договор будут одинаковыми.
В 1С:ERP создадим новое правило интеграции для договоров. Заполним правила заполнения реквизитов 1С:Документооборота.
Значение папки указываем из значений списка папок внутренних документов 1С:Документооборот. Реквизит не обновляемый.
Для заполнения вида документа воспользуемся выражением на встроенном языке.
Поле ответственный в 1С:Документообороте заполним значением Менеджер из 1С:ERP. Поскольку у нас справочник «Пользователи» синхронизирован, то можно не беспокоиться, что в 1С:Документообороте окажется данный пользователь, который есть в 1С:ERP.
Проверим работу нашего правила из 1С:ERP в 1С:Документооборот.
Создаем новый договор в 1С:ERP.
В панели навигации Договора переходим в Документооборот и нажимаем ссылку «Создать внутренний документ».
Дозаполняем поля «Вариант продления» и нажимаем кнопку «Записать и закрыть».
Теперь можем с данным внутренним документом работать как с обычной карточкой 1С:Документооборот: прикладывать файлы, запускать процессы, учитывать трудозатраты, вести переписку.
В правилах заполнения часть реквизитов обновляемые. За обновление реквизитов связанных объектов отвечают два регламентных задания:
- «Интеграция с 1С:Документооборотом – Выполнить обмен данными» на стороне 1С:ERP;
- «Формирование сообщений обмена для интегрированных систем» на стороне 1С:Документооборота.
Откроем эти регламентные задания, зададим им расписание и укажем пользователя, под кем они должны исполняться.
Проверим обновляемость реквизитов. В 1С:ERP в договоре поменяем менеджера: вместо Волкова поставим Козлова. В наших правилах поле «Подготовил» указано как не обновляемое, а поле «Ответственный» - обновляемое.
Заполним правила заполнения реквизитов 1С:ERP. Зеркально заполним поля обратного заполнения из 1С:Документооборот в 1С:ERP.
Поле «Статус» заполним выражением на встроенном языке.
Обмен заявками на расходование денежных средств
Перед заполнением правила перейдем в 1С:Документооборот и создадим новую папку «Заявки». Дадим на нее права всем пользователям только на чтение и изменение (пользователи в ДО должны иметь права только на добавление файлов счетов к заявкам). Как настроить права на разные реквизиты в зависимости от состояния документа познакомимся в теме права доступа.
Создадим новый вид внутреннего документа «Заявка на расходование ДС».
Создаем новое правило интеграции для заявок на расходование ДС. Заполняем закладку «Передача в 1С:Документооборот».
На закладке «Передача из 1С:Документооборот» заполняем только поле «Статус».
В 1С:ERP создаем на основании договора заявку на расходование ДС.
Создадим внутренний документ по данной заявке.
Видим, что все настроенные данные мигрировали в карточку документа.
Теперь согласуем и утвердим данную карточку в 1С:Документообороте. В самой заявке на расходование средств в 1С:ERP состояние должно установиться в значение «К оплате».
Настройки обменов и бесшовная интеграция в 1С:Документооборот подробно рассмотрены в видеокурсе.
авторизуйтесь
Настроила обновление статуса документа на основании согласовании в ДО по бесщовной интгерации. Если согласование проходит в документообороте, то все ок. Статус обновляется. Если в согласование в дкументообороте через ERP, то статус не обновляется. В этом случае сообщение не формируется для ERP?
Вероятней всего имеется ввиду что пользователю при первом входе в ЕРП будет предложено ввести пароль от ДО (Вводится 1 раз и запоминается).
В остальном интеграция работает
Можно ли каким-то образом разорвать одну из связей?
При попытке переименования одного из подразделений в ERP, связь просто перескакивает
Однако вопрос не в этом. Можно ли убрать регистрацию со всех объектов, чтобы система не пыталась их обменять? Это не повредит системе?
Чтобы убрать регистрацию с объектов откройте Все функции, Обработки, Регистрация изменения для обмена данными, указываете узел обмена и нажимаете у объекта правой кнопкой мышкой команду Отменить регистрацию объекта.
Подскажите, пожалуйста - поддерживает ли "бесшовную интеграцию" 1С:Документооборот ПРОФ?
Показать еще комментарии (3)
В продолжении темы - возможна ли в 1С:ДО ПРОФ публикация через веб-сервис?
В ДО ПРОФ можно опуюликовать веб-сервисы.
Подробное сравнение версий можно почитать вот здесь: http://v8.1c.ru/doc8/versions.htm
У нас из ERP в Документооборот настроена связь. Можно создавать документы ДО на основании документов ERP.
Возможна ли обратная связь, чтобы из внутреннего документа ДО можно было создавать элемент справочника (например, договор)?
Показать еще комментарии (2)
В каких правилах нужно настраивать обмен внутренний документ ДО -> договор ERP, в правилах Документооборота или в правилах корреспондента ERP?
Но это уже доработка.
Где можно увеличить это время ожидания?
Настроены правила обмена из заказа на внутреннее потребления ERP во внутренний документ ДО. С некоторых пор начала выпадать ошибка.
Пользователь переходит на вкладку документооборот в заказе на внутреннее потребление, нажимает создать, заполняет документ. При попытке записать связанный документ ДО выходит окно с ошибкой:
{ОбщийМодуль.ОбработкаЗапросовXDTOДокументы.Модуль(2874)}: Ошибка при вызове метода контекста (Заблокировать)
ОбъектДО.Заблокировать();
по причине:
Не удалось заблокировать запись. Действие (изменение, удаление или блокировка записи) не выполнено.
Ошибка блокировки объекта. Объект уже заблокирован:
пользователь: obmen, сеанс: 186, начат: 22.03.2017 в 9:42:39, приложение: WS-соединение
Из-за чего это может быть?
Такой вопрос- при интеграции 1с док и 1с Ут. Возможно создание и согласования договора в 1с документообороте, и только после регистрации этого договора перенос его к контрагенту в 1С УТ.
https://infostart.ru/1c/articles/1184532/
В общий модуль "ИнтеграцияС1СДокументооборотПереопределяемый" в пустую процедуру "ПриИзмененииСостоянияСогласования" добавил код:
Если ТипЗнч(ПредметСогласования) = Тип("ДокументСсылка.ЗаявкаНаРасходованиеДенежныхСредств") Тогда
Объект = ПредметСогласования.ПолучитьОбъект();
Если Состояние = Перечисления.СостоянияСогласованияВДокументообороте.НаСогласовании Тогда
Объект.Статус = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.НЗ_ОтправленаНаСогласование;
ИначеЕсли Состояние = Перечисления.СостоянияСогласованияВДокументообороте.НеСогласован Тогда
Объект.Статус = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.Отклонена;
ИначеЕсли Состояние = Перечисления.СостоянияСогласованияВДокументообороте.Согласован Тогда
Объект.Статус = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.КОплате;
КонецЕсли;
Если Объект.Модифицированность() Тогда
Объект.Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;
КонецЕсли;
Если Источник.Установлено("statusConfirmation") И Источник.statusConfirmation.name = "Утвержден" И
Источник.Установлено("statusApproval") И Источник.statusApproval.name = "Согласован" И
Источник.Установлено("statusPerformance") И Источник.statusPerformance.name = "Исполнен" Тогда
Результат = Перечисления.мс_СтатусыЗаявкиНаСпеццвет.Выполнен;
ИначеЕсли Источник.Установлено("statusConfirmation") И Источник.statusConfirmation.name = "Утвержден" И
Источник.Установлено("statusApproval") И Источник.statusApproval.name = "Согласован" Тогда
Результат = Перечисления.мс_СтатусыЗаявкиНаСпеццвет.ВРаботеЛить;
ИначеЕсли Источник.Установлено("statusConfirmation") И Источник.statusConfirmation.name = "Утвержден" И
Источник.Установлено("statusApproval") И Источник.statusApproval.name = "Не согласован" Тогда
Результат = Перечисления.мс_СтатусыЗаявкиНаСпеццвет.Аннулирован;
ИначеЕсли Источник.Установлено("statusConfirmation") И Источник.statusConfirmation.name = "Не утвержден" Тогда
Результат = Перечисления.мс_СтатусыЗаявкиНаСпеццвет.Аннулирован;
ИначеЕсли Источник.Установлено("statusConfirmation") И Источник.statusConfirmation.name = "Утвержден" Тогда
Результат = Перечисления.мс_СтатусыЗаявкиНаСпеццвет.УтвержденоОфисом;
КонецЕсли;
Работает
Работаю с заявками на расход ДС.
Воссоздала полностью весь описанный путь. Заявки в ДО создаются, согласование и утверждение заявок проходит нормально.
Но обратно в ЕРП данные не попадают. Статус документа Заявка (в ЕРП) не меняется. В чем собака зарыта? Не нужно ли опубликовывать на веб сервере и базу ЕРП в том числе?
Показать еще комментарии (1)
У меня такая же проблема. После согласования в ДО статус заявки в ERP не меняется. Пробовал самые разные варианты настроек, в том числе те, что в данной статье.
Вам удалось решить проблему?
Проблема в том, что не удается правило создать. Список объектов БП Корп программно ограничен.
А возможна обратная интеграция, когда документ создается в 1С:ДО и мигрирует в учетную систему? А если к одной базе ДО подключено несколько учетных систем?
С уважением, Александр.
Но отвечу для тех, кто тоже столкнется с этим вопросом - нет, обратная миграция должна быть реализована другими средствами, бесшовная интеграция под это не "заточена".
Я, для решения этой задачи, соорудил (на стороне интегрируемой учетной системы) подсистему для работы через стандартный REST-интерфейс (ODATA).
Через условия применимости все сделал как хотел.
Есть 1С:ERP Управление предприятием 2 (2.1.3.82) и Документооборот 8 КОРП, редакция 2.0 (2.0.15.6).
Настраиваю бесшовную интеграцию.
В правилах обмена при указании "Вида документа" не могу выбрать пункт "Из выражения на встроенном языке".
Не подскажите в чем может быть дело?
С уважением, Сергей.