|
ДО. Помогите с непосредственным руководителем автора документа | ☑ | ||
---|---|---|---|---|
0
greenprog
29.09.23
✎
09:03
|
Настраиваю шаблон процесса. На одном из шагов настройки шаблона процесса Ответственный за документ - Непосредственный руководитель ответственного за документ - дальше уже по пользователям определенным. Так вот, все срабатывает и работает пока автор документа подчененный, если же автор сам непосредственный руководитель ответственного, процесс не срабатывает. Сделал условие у Непосредственного руководителя:
Если Предмет.Подготовил.Подразделение.Руководитель = Предмет.Ответственный Тогда Результат = Истина; Иначе Результат = Ложь; КонецЕсли; Все равно не срабатывает. Что я делаю не так? |
|||
1
maxab72
29.09.23
✎
09:03
|
В ДО 2.1 я определял, является ли ответственный документа руководителем подразделения так, в шаблоне условия:
УстановитьПривилегированныйРежим(Истина); Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | Подразделения.Ссылка |ИЗ | Справочник.СтруктураПредприятия КАК Подразделения |ГДЕ | Подразделения.Руководитель = &АвторДокумента"; Запрос.УстановитьПараметр("АвторДокумента", Предмет.Ответственный); РезультатЗапроса = Запрос.Выполнить(); Если НЕ РезультатЗапроса.Пустой() Тогда Результат = Истина; Иначе Результат = Ложь; КонецЕсли; УстановитьПривилегированныйРежим(Ложь); Ответственного можно в коде заменить на автора |
|||
2
greenprog
29.09.23
✎
09:47
|
(1) Не срабатывает
|
|||
3
greenprog
29.09.23
✎
09:47
|
(1) Хотя проверку проходит, а условие не срабатывает
|
|||
4
maxab72
29.09.23
✎
10:18
|
2(3) Опишите поподробнее. Возможно этап процесса, который следует за проверкой, направляется пользователю, не имеющему прав на документ или процесс. Или иная причина, не связанная с условием.
|
|||
5
greenprog
29.09.23
✎
11:38
|
(4) https://ibb.co/2dkGpCw
Автору присвоил права Администратора и следующему после него тоже дал админские права. Вот это пишет: по причине: Ошибка при выполнении обработчика - 'ВложенныйПроцессПередСозданиемВложенныхБизнесПроцессов' по причине: Эта задача не может быть выполнена. Не найдены исполнители для автоподстановки "ВнутреннийДокумент.Непосредственный руководитель ответственного за документ". Обратитесь к администратору. Попробуйте стартовать процесс еще раз. |
|||
6
maxab72
29.09.23
✎
11:50
|
А это подразделение в структуре предприятия самое верхнее? Или если не самое верхнее, у вышележащего руководитель назначен?
|
|||
7
greenprog
29.09.23
✎
12:05
|
сделал верхним не изменилось
|
|||
8
maxab72
29.09.23
✎
12:11
|
Нет, как раз если самое верхнее, то у руководителя такого подразделения НЕТ собственного непосредственного руководителя.
нужна проверка на его наличие, что это ген.директор или управляющий или как у вас там называется. Вот код из типовой. Как ищется автоподстановка "Непосредственный руководитель" Руководитель = Справочники.Пользователи.ПустаяСсылка(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СтруктураПредприятия.Ссылка КАК Подразделение, | СтруктураПредприятия.Родитель, | СтруктураПредприятия.Руководитель |ИЗ | РегистрСведений.СведенияОПользователяхДокументооборот КАК СведенияОПользователяхДокументооборот | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СтруктураПредприятия КАК СтруктураПредприятия | ПО СведенияОПользователяхДокументооборот.Подразделение = СтруктураПредприятия.Ссылка |ГДЕ | СведенияОПользователяхДокументооборот.Пользователь = &Пользователь"; Запрос.УстановитьПараметр("Пользователь", Ответственный); Выборка = Запрос.Выполнить().Выбрать(); Если НЕ Выборка.Следующий() Тогда Возврат Руководитель; КонецЕсли; Подразделение = Выборка.Подразделение; Родитель = Выборка.Родитель; Руководитель = Выборка.Руководитель; Если Руководитель <> Ответственный Тогда Возврат Руководитель; КонецЕсли; Пока Родитель <> Неопределено Цикл Подразделение = Родитель; РеквизитыПодразделения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта( Подразделение, "Родитель, Руководитель"); Родитель = РеквизитыПодразделения.Родитель; Руководитель = РеквизитыПодразделения.Руководитель; Если Руководитель <> Ответственный Тогда Прервать; КонецЕсли; КонецЦикла; Возврат Руководитель; |
|||
9
greenprog
29.09.23
✎
12:22
|
(8) Точно!!! Спасибо вы правы!! Вернул в подчинение обратно подрахделение и присвоил руководителя. Все заработало!!! Огромное спасибо!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |