Документооборот - отмена задачи через XDTO

1. mikki_1C 11.08.17 15:36 Сейчас в теме
В документообороте есть экспортная функция "ИзменитьЗадачу(Узел, ОбъектXDTO)"
где по условию "Если Не ОбъектXDTO.executed И Задача.Выполнена Тогда"
происходит отмена выполнения задачи БизнесПроцессыИЗадачиВызовСервера.ОтменитьВыполнениеЗадачи(Ссылка)

Но как выполнить данный вызов из другой базы ?

для принятия задачи используется
ЗадачаXDTO = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMObject");
		ID_объекта= ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMObjectID");
		ID_объекта.id = ID;
		ID_объекта.type = "DMBusinessProcessTask";
		ЗадачаXDTO.objectID = ID_объекта;
		ЗадачаXDTO.name = "";
		Запрос.tasks.Добавить(ЗадачаXDTO);

а как отменить?
Вознаграждение за ответ
Показать полностью
Найденные решения
2. John_Dewar 11.08.17 16:19 Сейчас в теме +1 $m
Попробуй так

Попытка
		Прокси 		= ИнтеграцияС1СДокументооборотПовтИсп.ПолучитьПрокси();
	Исключение
		Возврат "Ошибка получения прокси. " + ОписаниеОшибки();
	КонецПопытки;
	Попытка
		Ответ  		= ИнтеграцияС1СДокументооборот.ПолучитьОбъект(Прокси, РеквизитыЗадачи.ТипЗадачи, РеквизитыЗадачи.ИдЗадачи);
	Исключение
		Возврат "Ошибка получения задачи ДО. " + ОписаниеОшибки();
	КонецПопытки;
	
	ЗадачаXDTO 	= Ответ.objects[0];
	ЗадачаXDTO.executed = Ложь;
	Попытка
		Ответ = ИнтеграцияС1СДокументооборот.ЗаписатьОбъект(Прокси, ЗадачаXDTO);
	Исключение
		Возврат "Ошибка записи задачи ДО. " + ОписаниеОшибки();
	КонецПопытки;
Показать
3. mikki_1C 11.08.17 16:22 Сейчас в теме
Сделал сразу после написания вопроса на форуме следующим образом:
ОбъектыXDTO = ИнтеграцияС1СДокументооборот.ПолучитьОбъект(Прокси, "DMBusinessProcessApprovalTaskApproval", ТекущаяСтрокаЗадачаID);
	Задача = ОбъектыXDTO.objects[0];
	Ответ = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMApprovalResult");
	Ответ.objectID = ИнтеграцияС1СДокументооборот.СоздатьObjectID(Прокси, "Согласовано", "DMApprovalResult");
	Ответ.name = НСтр("ru = 'Согласовано'");
	Задача.approvalResult = Ответ;
	Задача.executed = Ложь;
	Задача.endDate = ТекущаяДатаСеанса();
	Задача.executionComment = "";
	Ответ = ИнтеграцияС1СДокументооборот.ЗаписатьОбъект(Прокси, Задача);
Показать


Но за ответ спасибо - попробую Ваш вариант :)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. John_Dewar 11.08.17 16:19 Сейчас в теме +1 $m
Попробуй так

Попытка
		Прокси 		= ИнтеграцияС1СДокументооборотПовтИсп.ПолучитьПрокси();
	Исключение
		Возврат "Ошибка получения прокси. " + ОписаниеОшибки();
	КонецПопытки;
	Попытка
		Ответ  		= ИнтеграцияС1СДокументооборот.ПолучитьОбъект(Прокси, РеквизитыЗадачи.ТипЗадачи, РеквизитыЗадачи.ИдЗадачи);
	Исключение
		Возврат "Ошибка получения задачи ДО. " + ОписаниеОшибки();
	КонецПопытки;
	
	ЗадачаXDTO 	= Ответ.objects[0];
	ЗадачаXDTO.executed = Ложь;
	Попытка
		Ответ = ИнтеграцияС1СДокументооборот.ЗаписатьОбъект(Прокси, ЗадачаXDTO);
	Исключение
		Возврат "Ошибка записи задачи ДО. " + ОписаниеОшибки();
	КонецПопытки;
Показать
3. mikki_1C 11.08.17 16:22 Сейчас в теме
Сделал сразу после написания вопроса на форуме следующим образом:
ОбъектыXDTO = ИнтеграцияС1СДокументооборот.ПолучитьОбъект(Прокси, "DMBusinessProcessApprovalTaskApproval", ТекущаяСтрокаЗадачаID);
	Задача = ОбъектыXDTO.objects[0];
	Ответ = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMApprovalResult");
	Ответ.objectID = ИнтеграцияС1СДокументооборот.СоздатьObjectID(Прокси, "Согласовано", "DMApprovalResult");
	Ответ.name = НСтр("ru = 'Согласовано'");
	Задача.approvalResult = Ответ;
	Задача.executed = Ложь;
	Задача.endDate = ТекущаяДатаСеанса();
	Задача.executionComment = "";
	Ответ = ИнтеграцияС1СДокументооборот.ЗаписатьОбъект(Прокси, Задача);
Показать


Но за ответ спасибо - попробую Ваш вариант :)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот