Как работать с согласованием и передачей на подпись

Согласования, запросы согласования или подписи можно делать с помощью PatchTask, который создаётся методом Box.CreatePatchTask().

Пример

В примере ниже выбираются документы для согласования (про возможности получения документов см. Как получить список документов) и передаются случайному сотруднику, который по каким-то причинам оказался под номером 1 в списке сотрудников.

Другие действия согласования отличаются только вторым аргументом PatchTask.AddToPatch() и создаваемым для заполнения объектом

Процедура ДобавитьЗапросСогласованияСотруднику(dd_PatchTask, ДокументИлиДокументы, dd_Employee)
    КоллекцияЗапросовНаОтправку = dd_PatchTask.AddToPatch(ДокументИлиДокументы, "Approve");
    Для Каждого dd_ApprovementRequestToSend Из КоллекцияЗапросовНаОтправку Цикл
        dd_ApprovementRequestToSend.Comment = "Согласуйте документ, пожалуйста";
        dd_ApprovementRequestToSend.TargetUserId = dd_Employee.User.Id;
    КонецЦикла;
КонецПроцедуры


Процедура ЗапроситьСогласованиеДокументаУСотрудника(dd_Box)
    dd_DocumentBase_Collection = ПолучитьДокументДляСогласования(dd_Box);
    dd_Employee = dd_Box.GetEmployees().GetItem(0);
    dd_PatchTask = dd_Box.CreatePatchTask();
    ДобавитьЗапросСогласованияСотруднику(dd_PatchTask, dd_DocumentBase_Collection, dd_Employee);
    РезультатОтпраки = dd_PatchTask.Send();
КонецПроцедуры

См.также

HowTo_reply_document