Вход | Регистрация

1С:Предприятие ::

Метки: 

Старт бизнес- процесса Документооборота из другой конфигурации

Я
   ВикторП
 
25.06.18 - 17:27
Настроена интеграция конфигурации (УТ) с документооборотом. Ручной запуск бизнес- процесса работает.
Как "сделать" старт бизнес- процесса Документооборота из другой конфигурации по событию в этой конфигурации?
 
 
   anatoly
 
1 - 25.06.18 - 17:58
интеграция - через web-service?

в таком варианте из УПП 1.3 у меня все стартовало..
   ВикторП
 
2 - 25.06.18 - 20:36
Да, через веб-сервис. Нужнен не ручной старт, программный
   PR
 
3 - 25.06.18 - 20:41
(2) Нужно дописывать
   alkorolev
 
4 - 25.06.18 - 23:38
ну если это легендарная бесшовная интеграция, то что-то типа этого:

    ИнтегрированныйОбъект = Новый Структура;
    ИнтегрированныйОбъект.Вставить("Объект", ОбъектСсылка);
    ИнтегрированныйОбъект.Вставить("ПравилоЗаполнения", 
        Справочники.ПравилаИнтеграцииС1СДокументооборотом.НайтиПоНаименованию("Твое правило"));
    ИнтегрированныйОбъект.Вставить("ТипОбъектаДокументооборота", "DMInternalDocument");
    ИнтегрированныйОбъект.Вставить("ИдентификаторОбъектаДокументооборота", Строка(ОбъектСсылка.УникальныйИдентификатор()));
    
    ОбъектXDTO = ИнтеграцияС1СДокументооборот.ПолучитьXDTOИзмененийИзОбъекта(ИнтегрированныйОбъект);
    Прокси = ИнтеграцияС1СДокументооборотПовтИсп.ПолучитьПрокси();
    
    Запрос = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMGetNewObjectRequest");
    Запрос.type = ИнтегрированныйОбъект.ТипОбъектаДокументооборота;
    Результат = Прокси.execute(Запрос);
    ИнтеграцияС1СДокументооборот.ПроверитьВозвратВебСервиса(Прокси, Результат);
    
    ЕстьФайлы = Ложь;
    Если ОбъектXDTO.files.Count() > 0 Тогда
        files = Новый Массив;
        ЕстьФайлы = Истина;
        Для Каждого file Из ОбъектXDTO.files Цикл
            files.Добавить(file);
        КонецЦикла;
        ОбъектXDTO.files.Clear();
    КонецЕсли;
        
    ОбъектXDTO.author = Результат.author;
    ОбъектXDTO.subdivision = Результат.subdivision;
    ИнтеграцияС1СДокументооборот.СоздатьНовыйОбъект(Прокси, ОбъектXDTO);
    
    Если ЕстьФайлы Тогда
        Для Каждого file Из files Цикл
            ОбъектXDTO.files.Добавить(file);
        КонецЦикла;
        ИнтеграцияС1СДокументооборот.ЗаписатьОбъект(Прокси, ОбъектXDTO);
    КонецЕсли;
   ВикторП
 
5 - 26.06.18 - 10:07
(4) Откуда это?
   alkorolev
 
6 - 26.06.18 - 16:27
(5) из ЕРП выковыривал
   rphosts
 
7 - 26.06.18 - 17:41
Зачем ковырять, стандартной доки вроде хватает https://its.1c.ru/db/biddoc#content:304:hdoc
   ВикторП
 
8 - 26.06.18 - 21:26
Не хватает:)
   alkorolev
 
9 - 26.06.18 - 22:50
(7) как говорил один мой коллега: "это не наш метод!"
   rphosts
 
10 - 27.06.18 - 02:42
(8) ну мне как-то хватило что-бы интегрировать корп с нетленкой...
 
 Рекламное место пустует
   rphosts
 
11 - 27.06.18 - 02:44
(9) не наш метод это когда как вчера ко мне пристали: а что-бы не синтегрировать перку с корпом... у кого просрочка - того не выпускать с работы... разумеется были посланы.
   ВикторП
 
12 - 27.06.18 - 08:35
Мне не нужно интегрировать, это уже есть. Мне нужно запустить бизнес процесс документооборота не из документооборота, а из конфигурации, которая с ней интегрирована с помощью БИД, на которую вы прислали ссылку. Спасибо, но нужно не это.
Просто интеграция даёт возможность запуска процесса вручную, а надо автоматически, по событию, например, в УТ провели документ, в документообороте запустился процесс
   alkorolev
 
13 - 27.06.18 - 09:06
(12) в (4) был код создания предмета согласования. Само согласование:

    Предмет = Новый Структура;
    Предмет.Вставить("id", мИдентификаторОбъектаДокументооборота);
    Предмет.Вставить("type", "DMInternalDocument");
    
    ИдентификаторШаблона = ГУИДШаблонаСогласования();

    Шаблон = Новый Структура;
    Шаблон.Вставить("id", ИдентификаторШаблона);
    Шаблон.Вставить("type",    "DMBusinessProcessApprovalTemplate");
    
    Прокси = ИнтеграцияС1СДокументооборотПовтИсп.ПолучитьПрокси();
    ШаблонПроцесса = ИнтеграцияС1СДокументооборот.НовыйБизнесПроцессПоШаблону(Прокси, "DMBusinessProcessApproval", Шаблон, Предмет);
    
    НовыйПроцесс = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, ШаблонПроцесса.ObjectId.type);
    ИнтеграцияС1СДокументооборот.ЗаполнитьЗначенияСвойствXDTO(Прокси, НовыйПроцесс, ШаблонПроцесса);
    
    РезультатЗапуска = ИнтеграцияС1СДокументооборот.ЗапуститьБизнесПроцесс(Прокси, НовыйПроцесс);
    БизнесПроцессID = РезультатЗапуска.businessProcess.objectID.id;
   ВикторП
 
14 - 27.06.18 - 11:09
Пока я "нашел" обработку ИнтеграцияС1СДокументооборот , а в ней форму СозданиеБизнесПроцесса .Мне кажется , я уже близок с своей цели :)


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует