Документооборот 3.0 написать скрипт

1. user1969907 19.07.23 15:24 Сейчас в теме
Здравствуйте! В созданный документ, добавлен дополнительный реквизит с типом "Дополнительное значение".
В ходе выполнения обработки, на этапе ознакомления, пользователь должен иметь возможность прямо в Задаче, проставить значение этого доп реквизита, чтобы он затем перенесся в документ.

Я продублировал этот реквизит в Доп. свойства процесса "Ознакомление" - Доп. свойства задачи исполнителя.
Когда приходить задача Ознакомления в Дереве задачи в Дополнительных реквизитах он отображается. Но как сделать чтобы он перенесся в документ? Насколько я понял, это нужно делать через скрипт в схеме Настройки обработки.

Вот что у меня получилось:
ДокументОб = Параметры.ОбработкаОбъект.Владелец.ПолучитьОбъект(); //тут получаем объект
ДопРеквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "ОценкаВыполнения_f383c8d2fe2244f7a5338051fa127d42");
//тут получаем доп реквизит, который требуется найти
СтрДР = ДокументОб.ДополнительныеРеквизиты.Найти(ДопРеквизит, "Свойство"); //получаем значение нашего реквизита в документе
Если СтрДР = Неопределено тогда
СтрДР = ???
КонецЕсли;
ДокументОб.Записать();


Вот как получить значение доп реквизита из Задачи Ознакомление, не понимаю.

Подскажите пожалуйста!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. maxis33 45 19.07.23 15:39 Сейчас в теме
Не знаю как в 3.0, а в ДО 2.1 в схеме комплексного процесса вставлял выполнение кода, где после выполнения задачи "Указать причину отказа" текст введенный в этой задаче записывался в доп. реквизит договора.
Кстати, посмотрите как можно получать и устанавливать значения дополнительных реквизитов.

ВнутреннийДокумент = Процесс.Предметы[0].Предмет;

Запрос = Новый Запрос;

//Поиск текста отказа 

Запрос.Текст = "ВЫБРАТЬ
|	ЗадачаИсполнителя.Ссылка КАК Ссылка,
|	ЗадачаИсполнителя.РезультатВыполнения КАК РезультатВыполнения
|ИЗ
|	Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя
|ГДЕ
|	ЗадачаИсполнителя.Предметы.Предмет = &Предмет
|	И ЗадачаИсполнителя.Выполнена
|	И ЗадачаИсполнителя.Наименование like ""Указать причину отказа%""";
Запрос.УстановитьПараметр("Предмет", ВнутреннийДокумент);

Результат = Запрос.Выполнить();            
КомментарийДействияВДиадоке = "";            

Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл 
	КомментарийДействияВДиадоке = Выборка.РезультатВыполнения;
КонецЦикла;


СтатусДиадок = СокрЛП(УправлениеСвойствами.ЗначениеСвойства(ВнутреннийДокумент, "СтатусДиадок"));

Если СтатусДиадок = "Требуется подпись" ИЛИ СтатусДиадок =  "Требуется подпись. Требуется подписать извещение" Тогда
	
	ТаблицаСвойствИЗначений = Новый ТаблицаЗначений;
	ТаблицаСвойствИЗначений.Колонки.Добавить("Свойство");
	ТаблицаСвойствИЗначений.Колонки.Добавить("Значение");
	
	НовСвойство = ТаблицаСвойствИЗначений.Добавить();
	НовСвойство.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя","ОписаниеДействияВДиадоке");
	НовСвойство.Значение = "ПередатьПоМаршрутуОтказа";
	
	НовСвойство = ТаблицаСвойствИЗначений.Добавить();
	НовСвойство.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя","КомментарийДействияВДиадоке");
	НовСвойство.Значение = КомментарийДействияВДиадоке;
	УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(ВнутреннийДокумент,ТаблицаСвойствИЗначений);
	
КонецЕсли;
Показать
Оставьте свое сообщение

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