Документооборот - отмена задачи через XDTO
В документообороте есть экспортная функция "ИзменитьЗадачу(Узел, ОбъектXDTO)"
где по условию "Если Не ОбъектXDTO.executed И Задача.Выполнена Тогда"
происходит отмена выполнения задачи БизнесПроцессыИЗадачиВызовСервера.ОтменитьВыполнениеЗадачи(Ссылка)
Но как выполнить данный вызов из другой базы ?
для принятия задачи используется
а как отменить?
где по условию "Если Не ОбъектXDTO.executed И Задача.Выполнена Тогда"
происходит отмена выполнения задачи БизнесПроцессыИЗадачиВызовСервера.ОтменитьВыполнениеЗадачи(Ссылка)
Но как выполнить данный вызов из другой базы ?
для принятия задачи используется
ЗадачаXDTO = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMObject");
ID_объекта= ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMObjectID");
ID_объекта.id = ID;
ID_объекта.type = "DMBusinessProcessTask";
ЗадачаXDTO.objectID = ID_объекта;
ЗадачаXDTO.name = "";
Запрос.tasks.Добавить(ЗадачаXDTO);
а как отменить?
Найденные решения
Попробуй так
Попытка
Прокси = ИнтеграцияС1СДокументооборотПовтИсп.ПолучитьПрокси();
Исключение
Возврат "Ошибка получения прокси. " + ОписаниеОшибки();
КонецПопытки;
Попытка
Ответ = ИнтеграцияС1СДокументооборот.ПолучитьОбъект(Прокси, РеквизитыЗадачи.ТипЗадачи, РеквизитыЗадачи.ИдЗадачи);
Исключение
Возврат "Ошибка получения задачи ДО. " + ОписаниеОшибки();
КонецПопытки;
ЗадачаXDTO = Ответ.objects[0];
ЗадачаXDTO.executed = Ложь;
Попытка
Ответ = ИнтеграцияС1СДокументооборот.ЗаписатьОбъект(Прокси, ЗадачаXDTO);
Исключение
Возврат "Ошибка записи задачи ДО. " + ОписаниеОшибки();
КонецПопытки;
Показать
Сделал сразу после написания вопроса на форуме следующим образом:
Но за ответ спасибо - попробую Ваш вариант :)
ОбъектыXDTO = ИнтеграцияС1СДокументооборот.ПолучитьОбъект(Прокси, "DMBusinessProcessApprovalTaskApproval", ТекущаяСтрокаЗадачаID);
Задача = ОбъектыXDTO.objects[0];
Ответ = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMApprovalResult");
Ответ.objectID = ИнтеграцияС1СДокументооборот.СоздатьObjectID(Прокси, "Согласовано", "DMApprovalResult");
Ответ.name = НСтр("ru = 'Согласовано'");
Задача.approvalResult = Ответ;
Задача.executed = Ложь;
Задача.endDate = ТекущаяДатаСеанса();
Задача.executionComment = "";
Ответ = ИнтеграцияС1СДокументооборот.ЗаписатьОбъект(Прокси, Задача);
ПоказатьНо за ответ спасибо - попробую Ваш вариант :)
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Попробуй так
Попытка
Прокси = ИнтеграцияС1СДокументооборотПовтИсп.ПолучитьПрокси();
Исключение
Возврат "Ошибка получения прокси. " + ОписаниеОшибки();
КонецПопытки;
Попытка
Ответ = ИнтеграцияС1СДокументооборот.ПолучитьОбъект(Прокси, РеквизитыЗадачи.ТипЗадачи, РеквизитыЗадачи.ИдЗадачи);
Исключение
Возврат "Ошибка получения задачи ДО. " + ОписаниеОшибки();
КонецПопытки;
ЗадачаXDTO = Ответ.objects[0];
ЗадачаXDTO.executed = Ложь;
Попытка
Ответ = ИнтеграцияС1СДокументооборот.ЗаписатьОбъект(Прокси, ЗадачаXDTO);
Исключение
Возврат "Ошибка записи задачи ДО. " + ОписаниеОшибки();
КонецПопытки;
Показать
Сделал сразу после написания вопроса на форуме следующим образом:
Но за ответ спасибо - попробую Ваш вариант :)
ОбъектыXDTO = ИнтеграцияС1СДокументооборот.ПолучитьОбъект(Прокси, "DMBusinessProcessApprovalTaskApproval", ТекущаяСтрокаЗадачаID);
Задача = ОбъектыXDTO.objects[0];
Ответ = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMApprovalResult");
Ответ.objectID = ИнтеграцияС1СДокументооборот.СоздатьObjectID(Прокси, "Согласовано", "DMApprovalResult");
Ответ.name = НСтр("ru = 'Согласовано'");
Задача.approvalResult = Ответ;
Задача.executed = Ложь;
Задача.endDate = ТекущаяДатаСеанса();
Задача.executionComment = "";
Ответ = ИнтеграцияС1СДокументооборот.ЗаписатьОбъект(Прокси, Задача);
ПоказатьНо за ответ спасибо - попробую Ваш вариант :)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот