|
Документооборот DMservice - возможность изменения реквизитов БП Согласования | ☑ | ||
---|---|---|---|---|
0
dimitory
20.10.18
✎
19:12
|
Добрый день!
Есть ли возможность, используя DMService документооборота, составить запрос на старт БП Согласования с определением значения дополнительного реквизита? Реквизит был добавлен в Документообороте для БП Согласования (ЗапросПравИзIDM булев). на данный момент запускается все подобным образом: Функция ЗапуститьБизнесПроцесс(Прокси, Объект) Экспорт Запрос = СоздатьОбъект(Прокси, "DMLaunchBusinessProcessRequest"); Запрос.businessProcess = Объект; Ответ = ВыполнитьЗапрос(Прокси, Запрос); ПроверитьВозвратВебСервиса(Прокси, Ответ); Возврат Ответ; КонецФункции Функция ПодготовитьШапкуБизнесПроцесса(Прокси, Тип, Форма, Исключения = "") Экспорт Объект = СоздатьОбъект(Прокси, Тип); Объект.name = Форма.Наименование; Объект.objectId = СоздатьОбъект(Прокси, "DMObjectID"); Объект.objectId.id = Форма.ID; Объект.objectId.type = Тип; //Общая шапка бизнес-процессов ЗаполнитьОбъектXDTOИзОбъектногоРеквизита(Прокси, Форма, "Автор", Объект.author, "DMUser"); ЗаполнитьОбъектXDTOИзОбъектногоРеквизита(Прокси, Форма, "Состояние", Объект.state, "DMBusinessProcessState"); Если Форма.ДоступнаМультипредметность Тогда ЗаполнитьПроцессПредметамиИзФормы(Прокси, Форма.Предметы, Объект); Иначе ЗаполнитьОбъектXDTOИзОбъектногоРеквизита(Прокси, Форма, "Предмет", Объект.target, "DMObject"); КонецЕсли; Если Найти(Исключения, "Важность") = 0 Тогда ЗаполнитьОбъектXDTOИзОбъектногоРеквизита(Прокси, Форма, "Важность", Объект.importance, "DMBusinessProcessImportance"); КонецЕсли; Если Найти(Исключения, "Шаблон") = 0 Тогда ЗаполнитьОбъектXDTOИзОбъектногоРеквизита(Прокси, Форма, "Шаблон", Объект.businessProcessTemplate, Тип + "Template"); КонецЕсли; Объект.beginDate = Форма.ДатаНачала; Если Найти(Исключения,"Стартован") = 0 Тогда Объект.started = Форма.Стартован; КонецЕсли; Если Найти(Исключения,"Завершен") = 0 Тогда Объект.completed = Форма.Завершен; КонецЕсли; Если Найти(Исключения,"Описание") = 0 Тогда Объект.description = Форма.Описание; КонецЕсли; Если Найти(Исключения,"Срок") = 0 Тогда Объект.dueDate = Форма.Срок; КонецЕсли; Если ЗначениеЗаполнено(Форма.ГлавнаяЗадачаID) Тогда Ответ = ПолучитьОбъект(Прокси, Форма.ГлавнаяЗадачаТип, Форма.ГлавнаяЗадачаID); ГлавнаяЗадачаПриемник = СоздатьОбъект(Прокси,"DMBusinessProcessTask"); ЗаполнитьЗначенияСвойствXDTO(Прокси,ГлавнаяЗадачаПриемник,Ответ.Objects[0]); Объект.parentTask = ГлавнаяЗадачаПриемник; КонецЕсли; Возврат Объект; КонецФункции Функция ПодготовитьБизнесПроцесс(Прокси, ЭтаФорма) ОбъектXDTO = ПодготовитьШапкуБизнесПроцесса( Прокси, "DMBusinessProcessApproval", ЭтаФорма, "Срок"); //специфика Исполнения ОбъектXDTO.durationDays = 0; ОбъектXDTO.durationHours = 0; ЗаполнитьОбъектXDTOИзОбъектногоРеквизита(Прокси, ЭтаФорма, "ВариантСогласования", ОбъектXDTO.approvalType, "DMApprovalType"); Исполнители = ЭтаФорма.Исполнители; //исполнители Для Каждого Строка Из Исполнители Цикл Исполнитель = СоздатьОбъект(Прокси, "DMBusinessProcessApprovalParticipant"); Если Строка.ИсполнительТип = "DMUser" Тогда ЗаполнитьОбъектXDTOИзОбъектногоРеквизита(Прокси, Строка, "Исполнитель", Исполнитель.user, "DMUser"); Иначе ЗаполнитьОбъектXDTOИзОбъектногоРеквизита(Прокси, Строка, "Исполнитель", Исполнитель.role, "DMBusinessProcessExecutorRole"); ЗаполнитьОбъектXDTOИзОбъектногоРеквизита(Прокси, Строка, "ОсновнойОбъектАдресации", Исполнитель.mainAddressingObject, "DMMainAddressingObject"); ЗаполнитьОбъектXDTOИзОбъектногоРеквизита(Прокси, Строка, "ДополнительныйОбъектАдресации", Исполнитель.secondaryAddressingObject, "DMSecondaryAddressingObject"); КонецЕсли; ОбъектXDTO.performers.Добавить(Исполнитель); ЗаполнитьОбъектXDTOИзОбъектногоРеквизита(Прокси, Строка, "ПорядокСогласования", Исполнитель.approvalOrder, "DMApprovalOrder", Истина); КонецЦикла; Возврат ОбъектXDTO; КонецФункции |
|||
1
dimitory
20.10.18
✎
19:19
|
Или же другой есть вариант Быстро проходить по большому количеству БП Согласования в Документообороте с целью сбора информации - от какого источника они были запущены?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |