Получение доп. реквизита в доп. обработчике
Добрый день,
помогите, пожалуйста, понять, что я делаю не так.
Хочу сделать доп. обработчик, который бы автоматически запускал процесс ознакомления после согласования документа и подставлял в него дополнительных адресатов из доп. реквизитов документа. Возникла проблема в получении доп. реквизитов.
У вида документа "_Служебная записка" есть 4 доп. реквизита (Адресат 2, Адресат 3, Адресат 4, Адресат 5) с составным типом данных: Пользователь, Подразделение, Рабочая группа.
Пытаюсь получить доп. реквизиты через запрос:
Доп. обработчик подписан на "Завершение процесса".
В произошедших бизнес-событиях вижу, что процесс не удалось обработать, но в Журнал регистрации никаких ошибок не падает :(
P.S. Нет ли более простого способа получения доп. реквизитов, как, например, в скриптах автозаполнения шаблонов файлов "ПолучитьЗначениеДопРеквизитаОбъекта(Файл.ВладелецФайла.Ссылка, "Название доп. реквизита") ?
помогите, пожалуйста, понять, что я делаю не так.
Хочу сделать доп. обработчик, который бы автоматически запускал процесс ознакомления после согласования документа и подставлял в него дополнительных адресатов из доп. реквизитов документа. Возникла проблема в получении доп. реквизитов.
У вида документа "_Служебная записка" есть 4 доп. реквизита (Адресат 2, Адресат 3, Адресат 4, Адресат 5) с составным типом данных: Пользователь, Подразделение, Рабочая группа.
Пытаюсь получить доп. реквизиты через запрос:
БизнесПроцесс = Событие.Источник;
Если ТипЗнч(БизнесПроцесс) = Тип("БизнесПроцессСсылка.Согласование")
И (БизнесПроцесс.РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано
ИЛИ БизнесПроцесс.РезультатСогласования = Перечисления.РезультатыСогласования.СогласованоСЗамечаниями) Тогда
ТипыДокументов = Новый Массив;
ТипыДокументов.Добавить(Тип("СправочникСсылка.ВнутренниеДокументы"));
ВидыДокументов = Новый Массив;
ВидыДокументов.Добавить(Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("_Служебная записка"));
ОсновныеПредметы = МультипредметностьКлиентСервер.ПолучитьМассивПредметовОбъекта(БизнесПроцесс, ТипыДокументов, Истина);
Для Каждого Предмет ИЗ ОсновныеПредметы Цикл
Если ВидыДокументов.Найти(Предмет.ВидДокумента) <> Неопределено Тогда
ШаблонПроцесса = Справочники.ШаблоныОзнакомления.НайтиПоНаименованию("Ознакомление адресата");
Если ШаблонПроцесса <> Неопределено Тогда
Процесс = БизнесПроцессы.Ознакомление.СоздатьБизнесПроцесс();
Процесс.Заполнить(Новый Структура("Предметы, Шаблон", Предмет, ШаблонПроцесса));
Процесс.Автор = Предмет.Подготовил;
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| ВнутренниеДокументыДополнительныеРеквизиты.Свойство КАК Свойство,
| ВнутренниеДокументыДополнительныеРеквизиты.Значение КАК Значение
|ИЗ
| Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ВнутренниеДокументыДополнительныеРеквизиты
|ГДЕ
| ВнутренниеДокументы.Ссылка = &ВладелецФайла
| И (ВнутренниеДокументыДополнительныеРеквизиты.Свойство = &ДопАдресат2
| ИЛИ ВнутренниеДокументыДополнительныеРеквизиты.Свойство = &ДопАдресат3
| ИЛИ ВнутренниеДокументыДополнительныеРеквизиты.Свойство = &ДопАдресат4
| ИЛИ ВнутренниеДокументыДополнительныеРеквизиты.Свойство = &ДопАдресат5)";
Запрос.УстановитьПараметр("ВладелецФайла", Предмет.Ссылка);
Запрос.УстановитьПараметр("ДопАдресат2", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Адресат 2"));
Запрос.УстановитьПараметр("ДопАдресат3", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Адресат 3"));
Запрос.УстановитьПараметр("ДопАдресат4", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Адресат 4"));
Запрос.УстановитьПараметр("ДопАдресат5", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Адресат 5"));
РезультатВыборки = Запрос.Выполнить().Выбрать();
Пока РезультатВыборки.Следующий() Цикл
Если ТипЗнч(РезультатВыборки.Значение) = Тип("СправочникСсылка.Пользователи") Тогда
Строка = Процесс.Исполнители.Добавить();
Строка.Исполнитель = Справочники.Пользователи.НайтиПоНаименованию(РезультатВыборки.Значение);
ИначеЕсли ТипЗнч(РезультатВыборки.Значение) = Тип("СправочникСсылка.СтруктураПредприятия") Тогда
Строка = Процесс.Исполнители.Добавить();
Строка.Исполнитель = Справочники.СтруктураПредприятия.НайтиПоНаименованию(РезультатВыборки.Значение);
ИначеЕсли ТипЗнч(РезультатВыборки.Значение) = Тип("СправочникСсылка.РабочиеГруппы") Тогда
Строка = Процесс.Исполнители.Добавить();
Строка.Исполнитель = Справочники.РабочиеГруппы.НайтиПоНаименованию(РезультатВыборки.Значение);
КонецЕсли;
КонецЦикла;
Процесс.Дата = ТекущаяДата();
Процесс.Записать();
Процесс.Старт();
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ПоказатьДоп. обработчик подписан на "Завершение процесса".
В произошедших бизнес-событиях вижу, что процесс не удалось обработать, но в Журнал регистрации никаких ошибок не падает :(
P.S. Нет ли более простого способа получения доп. реквизитов, как, например, в скриптах автозаполнения шаблонов файлов "ПолучитьЗначениеДопРеквизитаОбъекта(Файл.ВладелецФайла.Ссылка, "Название доп. реквизита") ?
По теме из базы знаний
Найденные решения
ВсеСвойства = УправлениеСвойствами.ПолучитьСписокСвойств(Предмет, Истина, Ложь);
Дальше перебором. Удобного способа в ДО нет, т.к. он давно не обновляется и там старая версия БСП. В конфигурациях со свежими БСП в доп реквизиты добавили удобную штуку - возможность добавления уникального идентификатора для доп реквизита, чтобы к нему можно было удобно обращаться. См. картинку
Дальше перебором. Удобного способа в ДО нет, т.к. он давно не обновляется и там старая версия БСП. В конфигурациях со свежими БСП в доп реквизиты добавили удобную штуку - возможность добавления уникального идентификатора для доп реквизита, чтобы к нему можно было удобно обращаться. См. картинку
Прикрепленные файлы:
(10) Рискну предложить такой вариант:
БизнесПроцесс = Событие.Источник;
Если ТипЗнч(БизнесПроцесс) = Тип("БизнесПроцессСсылка.Согласование")
И (БизнесПроцесс.РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано
ИЛИ БизнесПроцесс.РезультатСогласования = Перечисления.РезультатыСогласования.СогласованоСЗамечаниями) Тогда
ТипыДокументов = Новый Массив;
ТипыДокументов.Добавить(Тип("СправочникСсылка.ВнутренниеДокументы"));
ВидыДокументов = Новый Массив;
ВидыДокументов.Добавить(Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("_Служебная записка"));
ОсновныеПредметы = МультипредметностьКлиентСервер.ПолучитьМассивПредметовОбъекта(БизнесПроцесс, ТипыДокументов, Истина);
Для Каждого Предмет ИЗ ОсновныеПредметы Цикл
Если ВидыДокументов.Найти(Предмет.ВидДокумента) <> Неопределено Тогда
ШаблонПроцесса = Справочники.ШаблоныОзнакомления.НайтиПоНаименованию("Ознакомление адресата");
Если ШаблонПроцесса <> Неопределено Тогда
ПроцессОзнакомления = БизнесПроцессы.Ознакомление.СоздатьБизнесПроцесс();
ПроцессОзнакомления.Заполнить(Новый Структура("Предметы, Шаблон", Предмет, ШаблонПроцесса));
ПроцессОзнакомления.Автор = Предмет.Подготовил;
ПроцессОзнакомления.Дата = ТекущаяДата();
ЗначенияСвойств = УправлениеСвойствами.ПолучитьЗначенияСвойств(Предмет, Истина, Ложь);
ТаблицаИсполнители = ПроцессОзнакомления.Исполнители;
Для Каждого СтрокаТаблицы ИЗ ЗначенияСвойств Цикл
ЗначениеСвойства = СтрокаТаблицы.Значение;
Если НЕ ПользователиДокументооборот.ЭтоКонтейнер(ЗначениеСвойства) Тогда
Продолжить;
КонецЕсли;
ВыбранныеИсполнители = ПользователиДокументооборот.СоставКонтейнера(ЗначениеСвойства);
Для Каждого ВыбранныйИсполнитель ИЗ ВыбранныеИсполнители Цикл
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Исполнитель", ВыбранныйИсполнитель);
НайденныеСтроки = ТаблицаИсполнители.НайтиСтроки(ПараметрыОтбора);
Если НайденныеСтроки.Количество() = 0 Тогда
НоваяСтрокаИсполнитель = ТаблицаИсполнители.Добавить();
НоваяСтрокаИсполнитель.Исполнитель = ВыбранныйИсполнитель;
КонецЕсли;
КонецЦикла;
КонецЦикла;
ПроцессОзнакомления.Записать();
ПроцессОзнакомления.Старт();
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Нашла ошибку в запросе. С получением доп. реквизитов теперь проблем нет.
Но я почему-то вообразила, что можно добавить в исполнители целое подразделение или рабочую группу %))
вот здесь:
Получается, придется запросом же выбирать из справочников подразделений и рабочих групп всех пользователей, в них содержащихся и добавлять их в процесс?
И вопрос про более простой способ получения доп. реквизитов остается открытым...
Нашла ошибку в запросе. С получением доп. реквизитов теперь проблем нет.
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| ВнутренниеДокументы.ДополнительныеРеквизиты.Свойство КАК Свойство,
| ВнутренниеДокументы.ДополнительныеРеквизиты.Значение КАК Значение
|ИЗ
| Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы
|ГДЕ
| ВнутренниеДокументы.Ссылка = &ЭтотДокумент
| И (ВнутренниеДокументы.ДополнительныеРеквизиты.Свойство = &ДопАдресат2
| ИЛИ ВнутренниеДокументы.ДополнительныеРеквизиты.Свойство = &ДопАдресат3
| ИЛИ ВнутренниеДокументы.ДополнительныеРеквизиты.Свойство = &ДопАдресат4
| ИЛИ ВнутренниеДокументы.ДополнительныеРеквизиты.Свойство = &ДопАдресат5)";
Запрос.УстановитьПараметр("ЭтотДокумент", Предмет.Ссылка);
Запрос.УстановитьПараметр("ДопАдресат2", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Адресат 2"));
Запрос.УстановитьПараметр("ДопАдресат3", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Адресат 3"));
Запрос.УстановитьПараметр("ДопАдресат4", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Адресат 4"));
Запрос.УстановитьПараметр("ДопАдресат5", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Адресат 5"));
ПоказатьНо я почему-то вообразила, что можно добавить в исполнители целое подразделение или рабочую группу %))
вот здесь:
ИначеЕсли ТипЗнч(РезультатВыборки.Значение) = Тип("СправочникСсылка.СтруктураПредприятия") Тогда
Строка = Процесс.Исполнители.Добавить();
Строка.Исполнитель = Справочники.СтруктураПредприятия.НайтиПоНаименованию(РезультатВыборки.Значение);
ИначеЕсли ТипЗнч(РезультатВыборки.Значение) = Тип("СправочникСсылка.РабочиеГруппы") Тогда
Строка = Процесс.Исполнители.Добавить();
Строка.Исполнитель = Справочники.РабочиеГруппы.НайтиПоНаименованию(РезультатВыборки.Значение);
КонецЕсли;
Получается, придется запросом же выбирать из справочников подразделений и рабочих групп всех пользователей, в них содержащихся и добавлять их в процесс?
И вопрос про более простой способ получения доп. реквизитов остается открытым...
ВсеСвойства = УправлениеСвойствами.ПолучитьСписокСвойств(Предмет, Истина, Ложь);
Дальше перебором. Удобного способа в ДО нет, т.к. он давно не обновляется и там старая версия БСП. В конфигурациях со свежими БСП в доп реквизиты добавили удобную штуку - возможность добавления уникального идентификатора для доп реквизита, чтобы к нему можно было удобно обращаться. См. картинку
Дальше перебором. Удобного способа в ДО нет, т.к. он давно не обновляется и там старая версия БСП. В конфигурациях со свежими БСП в доп реквизиты добавили удобную штуку - возможность добавления уникального идентификатора для доп реквизита, чтобы к нему можно было удобно обращаться. См. картинку
Прикрепленные файлы:
(3) спасибо большое за информацию
в итоге остановилась на варианте с функцией Предмет.ДополнительныеРеквизиты.Найти()
Вот так получилось для типов значений Пользователь и Подразделение. Осталось для Рабочих групп настроить :)
в итоге остановилась на варианте с функцией Предмет.ДополнительныеРеквизиты.Найти()
ДопАдресаты = Новый Массив;
ДопАдресаты.Добавить("Адресат 2");
ДопАдресаты.Добавить("Адресат 3");
ДопАдресаты.Добавить("Адресат 4");
ДопАдресаты.Добавить("Адресат 5");
Для Каждого ДопАдресат ИЗ ДопАдресаты Цикл
ДопАдресатНомер = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(ДопАдресат);
ДопАдресатЗначение = Предмет.ДополнительныеРеквизиты.Найти(ДопАдресатНомер, "Свойство").Значение;
Если ЗначениеЗаполнено(ДопАдресатЗначение) Тогда
Если ТипЗнч(ДопАдресатЗначение) = Тип("СправочникСсылка.Пользователи") Тогда
Строка = Процесс.Исполнители.Добавить();
Строка.Исполнитель = Справочники.Пользователи.НайтиПоНаименованию(ДопАдресатЗначение);
ИначеЕсли ТипЗнч(ДопАдресатЗначение) = Тип("СправочникСсылка.СтруктураПредприятия") Тогда
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| Пользователи.Ссылка КАК Пользователь
|ИЗ
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Подразделение = &АдресатПодразделение";
Запрос.УстановитьПараметр("АдресатПодразделение", ДопАдресатЗначение);
ВыборкаПользователейПодразделения = Запрос.Выполнить().Выбрать();
Пока ВыборкаПользователейПодразделения.Следующий() Цикл
Строка = Процесс.Исполнители.Добавить();
Строка.Исполнитель = Справочники.Пользователи.НайтиПоНаименованию(ВыборкаПользователейПодразделения.Пользователь);
КонецЦикла;
ИначеЕсли ТипЗнч(ДопАдресатЗначение) = Тип("СправочникСсылка.РабочиеГруппы") Тогда
КонецЕсли;
КонецЕсли;
КонецЦикла;
ПоказатьВот так получилось для типов значений Пользователь и Подразделение. Осталось для Рабочих групп настроить :)
(4)
(3)
Что-то никак не получается у меня для Рабочих групп настроить добавление исполнителей
Добавляет одного пустого пользователя и все...
(3)
Что-то никак не получается у меня для Рабочих групп настроить добавление исполнителей
ИначеЕсли ТипЗнч(ДопАдресатЗначение) = Тип("СправочникСсылка.РабочиеГруппы") Тогда
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| РабочиеГруппы.Состав.Пользователь КАК Пользователь
|ИЗ
| Справочник.РабочиеГруппы КАК РабочиеГруппы
|ГДЕ
| РабочиеГруппы.Ссылка = &АдресатРабочаяГруппа";
Запрос.УстановитьПараметр("АдресатРабочаяГруппа", ДопАдресатЗначение);
ВыборкаПользователейРабочейГруппы = Запрос.Выполнить().Выбрать();
Пока ВыборкаПользователейРабочейГруппы.Следующий() Цикл
Строка = Процесс.Исполнители.Добавить();
Строка.Исполнитель = Справочники.Пользователи.НайтиПоНаименованию(ВыборкаПользователейРабочейГруппы.Пользователь);
КонецЦикла;
КонецЕсли;
ПоказатьДобавляет одного пустого пользователя и все...
(9) У меня не получилось ее правильно использовать вначале, сейчас попробовала еще раз и все заработало :) И спасибо большое за функцию СоставКонтейнераПользователей, сейчас все работает как надо и без запросов )
Вот что получилось в итоге
Еще раз спасибо всем за помощь )
Вот что получилось в итоге
БизнесПроцесс = Событие.Источник;
Если ТипЗнч(БизнесПроцесс) = Тип("БизнесПроцессСсылка.Согласование")
И (БизнесПроцесс.РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано
ИЛИ БизнесПроцесс.РезультатСогласования = Перечисления.РезультатыСогласования.СогласованоСЗамечаниями) Тогда
ТипыДокументов = Новый Массив;
ТипыДокументов.Добавить(Тип("СправочникСсылка.ВнутренниеДокументы"));
ВидыДокументов = Новый Массив;
ВидыДокументов.Добавить(Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("_Служебная записка"));
ОсновныеПредметы = МультипредметностьКлиентСервер.ПолучитьМассивПредметовОбъекта(БизнесПроцесс, ТипыДокументов, Истина);
Для Каждого Предмет ИЗ ОсновныеПредметы Цикл
Если ВидыДокументов.Найти(Предмет.ВидДокумента) <> Неопределено Тогда
ШаблонПроцесса = Справочники.ШаблоныОзнакомления.НайтиПоНаименованию("Ознакомление адресата");
Если ШаблонПроцесса <> Неопределено Тогда
Процесс = БизнесПроцессы.Ознакомление.СоздатьБизнесПроцесс();
Процесс.Заполнить(Новый Структура("Предметы, Шаблон", Предмет, ШаблонПроцесса));
Процесс.Автор = Предмет.Подготовил;
СписокСвойств = УправлениеСвойствами.ПолучитьСписокСвойств(Предмет);
СписокЗначений = УправлениеСвойствами.ПолучитьЗначенияСвойств(Предмет);
Для Каждого Свойство ИЗ СписокСвойств Цикл
Если Лев(Свойство.Заголовок, 8) = "Адресат " Тогда
ДопАдресатЗначение = СписокЗначений.Найти(Свойство.Ссылка, "Свойство").Значение;
Если ЗначениеЗаполнено(ДопАдресатЗначение) Тогда
Если ТипЗнч(ДопАдресатЗначение) = Тип("СправочникСсылка.Пользователи") Тогда
Строка = Процесс.Исполнители.Добавить();
Строка.Исполнитель = Справочники.Пользователи.НайтиПоНаименованию(ДопАдресатЗначение);
ИначеЕсли ТипЗнч(ДопАдресатЗначение) = Тип("СправочникСсылка.СтруктураПредприятия") Тогда
ПользователиПодразделения = Справочники.СтруктураПредприятия.СоставКонтейнераПользователей(ДопАдресатЗначение);
Для Каждого ПользовательПодразделения ИЗ ПользователиПодразделения Цикл
Строка = Процесс.Исполнители.Добавить();
Строка.Исполнитель = Справочники.Пользователи.НайтиПоНаименованию(ПользовательПодразделения);
КонецЦикла;
ИначеЕсли ТипЗнч(ДопАдресатЗначение) = Тип("СправочникСсылка.РабочиеГруппы") Тогда
ПользователиРабочейГруппы = Справочники.РабочиеГруппы.СоставКонтейнераПользователей(ДопАдресатЗначение);
Для Каждого ПользовательРабочейГруппы ИЗ ПользователиРабочейГруппы Цикл
Строка = Процесс.Исполнители.Добавить();
Строка.Исполнитель = Справочники.Пользователи.НайтиПоНаименованию(ПользовательРабочейГруппы);
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Процесс.Дата = ТекущаяДата();
Процесс.Записать();
Процесс.Старт();
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ПоказатьЕще раз спасибо всем за помощь )
(10) Рискну предложить такой вариант:
БизнесПроцесс = Событие.Источник;
Если ТипЗнч(БизнесПроцесс) = Тип("БизнесПроцессСсылка.Согласование")
И (БизнесПроцесс.РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано
ИЛИ БизнесПроцесс.РезультатСогласования = Перечисления.РезультатыСогласования.СогласованоСЗамечаниями) Тогда
ТипыДокументов = Новый Массив;
ТипыДокументов.Добавить(Тип("СправочникСсылка.ВнутренниеДокументы"));
ВидыДокументов = Новый Массив;
ВидыДокументов.Добавить(Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("_Служебная записка"));
ОсновныеПредметы = МультипредметностьКлиентСервер.ПолучитьМассивПредметовОбъекта(БизнесПроцесс, ТипыДокументов, Истина);
Для Каждого Предмет ИЗ ОсновныеПредметы Цикл
Если ВидыДокументов.Найти(Предмет.ВидДокумента) <> Неопределено Тогда
ШаблонПроцесса = Справочники.ШаблоныОзнакомления.НайтиПоНаименованию("Ознакомление адресата");
Если ШаблонПроцесса <> Неопределено Тогда
ПроцессОзнакомления = БизнесПроцессы.Ознакомление.СоздатьБизнесПроцесс();
ПроцессОзнакомления.Заполнить(Новый Структура("Предметы, Шаблон", Предмет, ШаблонПроцесса));
ПроцессОзнакомления.Автор = Предмет.Подготовил;
ПроцессОзнакомления.Дата = ТекущаяДата();
ЗначенияСвойств = УправлениеСвойствами.ПолучитьЗначенияСвойств(Предмет, Истина, Ложь);
ТаблицаИсполнители = ПроцессОзнакомления.Исполнители;
Для Каждого СтрокаТаблицы ИЗ ЗначенияСвойств Цикл
ЗначениеСвойства = СтрокаТаблицы.Значение;
Если НЕ ПользователиДокументооборот.ЭтоКонтейнер(ЗначениеСвойства) Тогда
Продолжить;
КонецЕсли;
ВыбранныеИсполнители = ПользователиДокументооборот.СоставКонтейнера(ЗначениеСвойства);
Для Каждого ВыбранныйИсполнитель ИЗ ВыбранныеИсполнители Цикл
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Исполнитель", ВыбранныйИсполнитель);
НайденныеСтроки = ТаблицаИсполнители.НайтиСтроки(ПараметрыОтбора);
Если НайденныеСтроки.Количество() = 0 Тогда
НоваяСтрокаИсполнитель = ТаблицаИсполнители.Добавить();
НоваяСтрокаИсполнитель.Исполнитель = ВыбранныйИсполнитель;
КонецЕсли;
КонецЦикла;
КонецЦикла;
ПроцессОзнакомления.Записать();
ПроцессОзнакомления.Старт();
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Показать
(11)
Спасибо за Ваш вариант )
Подскажите, пожалуйста, а можно ли в запущенный процесс добавить исполнителей?
Методом
не получается
Спасибо за Ваш вариант )
Подскажите, пожалуйста, а можно ли в запущенный процесс добавить исполнителей?
Методом
БизнесПроцесс = Событие.Источник;
...
Строка = БизнесПроцесс.Исполнители.Добавить();
Строка.Исполнитель = Справочники.Пользователи.НайтиПоНаименованию("Администратор");
не получается
(11)
Воспользуюсь вашим вариантом, спасибо ;) Только заменю процесс "Согласование" на "Исполнение".
А как можно получить конкретного исполнителя из процесса? Например, если в задачах на исполнение есть исполнитель "Пупкин Иван Иванович", то обработчик срабатывает.
Если ТипЗнч(БизнесПроцесс) = Тип("БизнесПроцессСсылка.Согласование")
Воспользуюсь вашим вариантом, спасибо ;) Только заменю процесс "Согласование" на "Исполнение".
А как можно получить конкретного исполнителя из процесса? Например, если в задачах на исполнение есть исполнитель "Пупкин Иван Иванович", то обработчик срабатывает.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот