1С УХ и Документооборот
Добрый день.
Есть база 1С УХ, там настроена стандартными средствами Интеграция с 1С Документооборот. Интеграция настроена "Версия коммерческого договора" в УХ - "Внутренние документы" в ДО. Но работает она как-то странно. Когда в УХ создаётся договор и по нему штатными средствами запускается процесс согласования через "Создать" - "Процесс 1С: Документооборот", договор в ДО переносится, процесс там создаётся, всё хорошо. А если просто создать и записать договор, то он не переносится. Сейчас в УХ куча старых договоров, которые бы надо массово перенести в ДО. Если бы обмен срабатывал по перезаписи, можно было бы программно их всех перезаписать и всё. Поэтому вопрос - как сделать, чтобы договора переносились при перезаписи, а не при создании процесса?
Есть база 1С УХ, там настроена стандартными средствами Интеграция с 1С Документооборот. Интеграция настроена "Версия коммерческого договора" в УХ - "Внутренние документы" в ДО. Но работает она как-то странно. Когда в УХ создаётся договор и по нему штатными средствами запускается процесс согласования через "Создать" - "Процесс 1С: Документооборот", договор в ДО переносится, процесс там создаётся, всё хорошо. А если просто создать и записать договор, то он не переносится. Сейчас в УХ куча старых договоров, которые бы надо массово перенести в ДО. Если бы обмен срабатывал по перезаписи, можно было бы программно их всех перезаписать и всё. Поэтому вопрос - как сделать, чтобы договора переносились при перезаписи, а не при создании процесса?
По теме из базы знаний
- 1С:Управление Холдингом 8, часть 2: Организация процесса закупок в холдинге (настройка системы и управление мастер-данными)
- Сравнение функциональности 1С:ERP и 1С:УХ
- Ускорим проведение в 1С:Управление холдингом
- Маршруты согласования в 1С: УХ
- 1С:ERP Управление предприятием 2.5 vs 1С:Управление холдингом 3.2: битва за эффективность в управлении бизнесом
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Интеграция с ДО так и не может, это же не синхронизация, когда идет, упрощая, объект в объект, тут на один объект может быть куча всяких разных правил интеграции, переноса в ДО.
(1)
Чисто теоретически (потому что сейчас нет под рукой двух связанных баз, только Демо УТ) можно попробовать так:
Если настроена интеграция, то в интегрируемых объектах есть вкладка "Документооборот", где есть команды "Создать" или "Выбрать".
Кнопка "Создать" уводит в процедуру НачатьСозданиеСвязанногоОбъектаДО(ОбъектИС, ОписаниеОповещения, ОткрытьФорму = Ложь) Экспорт общего модуля "ИнтеграцияС1СДокументооборотКлиент". Вот от неё можно и танцевать вариативно:
1. Если нужно просто отправить в ДО кучу договоров по известному правилу - отобрать их с каким-нибудь условием и по одному скормить в эту процедуру (только не забыть что модуль клиентский);
2. Если нужен еще и контроль нет ли уже созданного - вызывать ту же процедуру, что идет из создания процесса: СоздатьБизнесПроцесс(Предмет = Неопределено, ГлавнаяЗадача = Неопределено, ОписаниеОповещения = Неопределено) Экспорт (модуль "ИнтеграцияС1СДокументооборотКлиент");
3. Если нужно постоянное создание, то либо, как писали выш,е по подписке на событие на запись, либо переопределить событие "ПослеЗаписи" договора и скармливать серверной процедуре (вызываемой предыдущими клиентскими) модуля "ИнтеграцияС1СДокументооборотВызовСервера" СоздатьОбъектДОПоПравилу(ОбъектИС, Правило) Экспорт после записи. Но тогда еще и правило определить нужно будет самому.
А если просто создать и записать договор, то он не переносится
Интеграция с ДО так и не может, это же не синхронизация, когда идет, упрощая, объект в объект, тут на один объект может быть куча всяких разных правил интеграции, переноса в ДО.
(1)
Поэтому вопрос - как сделать, чтобы договора переносились при перезаписи, а не при создании процесса?
Чисто теоретически (потому что сейчас нет под рукой двух связанных баз, только Демо УТ) можно попробовать так:
Если настроена интеграция, то в интегрируемых объектах есть вкладка "Документооборот", где есть команды "Создать" или "Выбрать".
Кнопка "Создать" уводит в процедуру НачатьСозданиеСвязанногоОбъектаДО(ОбъектИС, ОписаниеОповещения, ОткрытьФорму = Ложь) Экспорт общего модуля "ИнтеграцияС1СДокументооборотКлиент". Вот от неё можно и танцевать вариативно:
1. Если нужно просто отправить в ДО кучу договоров по известному правилу - отобрать их с каким-нибудь условием и по одному скормить в эту процедуру (только не забыть что модуль клиентский);
2. Если нужен еще и контроль нет ли уже созданного - вызывать ту же процедуру, что идет из создания процесса: СоздатьБизнесПроцесс(Предмет = Неопределено, ГлавнаяЗадача = Неопределено, ОписаниеОповещения = Неопределено) Экспорт (модуль "ИнтеграцияС1СДокументооборотКлиент");
3. Если нужно постоянное создание, то либо, как писали выш,е по подписке на событие на запись, либо переопределить событие "ПослеЗаписи" договора и скармливать серверной процедуре (вызываемой предыдущими клиентскими) модуля "ИнтеграцияС1СДокументооборотВызовСервера" СоздатьОбъектДОПоПравилу(ОбъектИС, Правило) Экспорт после записи. Но тогда еще и правило определить нужно будет самому.
(4) ну я гипотетически написал. Я с ДО не делал документооборот, у нас обмен УХ-УХ через веб-сервис.
Так вот, надо просто посмотреть, где регистрируются изменения для ДО - на плане обмена или в регистре сведений. Поковыряйте регламентные задания обмена с ДО, найдете. Можете их в отладчике позапускать, поотлаживать.
Так вот, надо просто посмотреть, где регистрируются изменения для ДО - на плане обмена или в регистре сведений. Поковыряйте регламентные задания обмена с ДО, найдете. Можете их в отладчике позапускать, поотлаживать.
(5) Через план обмена сделано. И там "Авторегистрация" стоит "разрешить". Судя по документации, Авторегистрация как раз и нужна, чтобы при любом изменении объекта автоматом регистрировались и прилетали изменения. И руками по идее ничего делать не надо. Но не срабатывает так, почему-то.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот