Здравствуйте,
Такой вопрос, написан код на удаление одинаковых пользователей, соответственно есть проверка на то, сколько пользователей в БП, но сложилась такая ситуация, что оказывается может быть очень редко, но может, что согласованты в бп одинаковые и соответственно, когда в коде прилетает 2 бп, там уже 0 исполнителей, так как в коде он удалил одинаковых и далее такой пустой БП не запускается, как синтаксически обойти ситуацию условием, что если 0 исполнителей, то нужно сохранить исполнителей, не удалять или оставить 1, даже не знаю, как лучше
Такой вопрос, написан код на удаление одинаковых пользователей, соответственно есть проверка на то, сколько пользователей в БП, но сложилась такая ситуация, что оказывается может быть очень редко, но может, что согласованты в бп одинаковые и соответственно, когда в коде прилетает 2 бп, там уже 0 исполнителей, так как в коде он удалил одинаковых и далее такой пустой БП не запускается, как синтаксически обойти ситуацию условием, что если 0 исполнителей, то нужно сохранить исполнителей, не удалять или оставить 1, даже не знаю, как лучше
Если БизнесПроцесс.Исполнители.Количество() > 1 Тогда
///если исполнителей по бп 0, тол сохранить исполнителей
МассивУникальныхЮзеров = Новый Массив;
МассивСтрокКУдалению = Новый Массив;
Для каждого Стр из БизнесПроцесс.Исполнители цикл
Если ТипЗнч(Стр.Исполнитель) = Тип("СправочникСсылка.ПолныеРоли") Тогда
ИсполнительПользователь = Справочники.Пользователи.ПустаяСсылка();
УЮ_ПользователяПоРоли(Стр.Исполнитель, ИсполнительПользователь);
ПолученныйЮзер = ИсполнительПользователь;
Иначе
ПолученныйЮзер = Стр.Исполнитель;
КонецЕсли;
Если МассивУникальныхЮзеров.Найти(ПолученныйЮзер) = Неопределено Тогда
МассивУникальныхЮзеров.Добавить(ПолученныйЮзер)
Иначе
МассивСтрокКУдалению.Добавить(Стр);
КонецЕсли;
КонецЦикла;
для каждого элтуд из МассивСтрокКУдалению Цикл
БизнесПроцесс.Исполнители.Удалить(элтуд)
КонецЦикла;
ПоказатьПо теме из базы знаний
- Модуль "Интеграция с 1С:Документооборот" для УПП/КА/УТ 10.3/БГУ 1.0/ЗБУ 1.0. 1С-Совместимо
- Автозаполнение реквизитов контрагентов по ИНН для БП3.0, ERP2.5, УТ11.5, КА2.5, Розница 2.3, Документооборот 2.1
- Видеокурс-самоучитель "1С:Документооборот 2.1 и 3.0" для самостоятельного внедрения
- Внедрение 1С:Документооборот для оптимизации управления документами на предприятии любого масштаба
- Интеграция с 1С:Документооборотом. Интегрируй меня полностью
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Но появился следующий вопрос, так как клиента не устраивает такой формат, как завершить или даже не создавать второе согласование, где были удалены повторяющиеся исполнители, а то с 0 комплексный процесс вообще не стартует
Ситуация получается такая, как пример в 1 согласовании Админ Василий, во 2 согласовании Админ Василий, удаляются 2 из последнего согласования и все комплексный комом встает, вообще не создается, вот нужно обойти ситуацию и вообще не создавать
Ситуация получается такая, как пример в 1 согласовании Админ Василий, во 2 согласовании Админ Василий, удаляются 2 из последнего согласования и все комплексный комом встает, вообще не создается, вот нужно обойти ситуацию и вообще не создавать
(4) Сейчас уже сделано так, что удаляются повторяющиеся сначала в согласовании, а потом в ветке согласований(по выполненным задачам)
А теперь вопрос возник такой, а вдруг 2 согласования с одинаковыми исполнителями, то второе согласование останется без исполнителей вообще и по идее в типовом коде, уходит в зацикливание, так как не может быть 0 исполнителей
Но вроде я справился, у меня не запустилось второе согласование, если там 0 исполнителей
А теперь вопрос возник такой, а вдруг 2 согласования с одинаковыми исполнителями, то второе согласование останется без исполнителей вообще и по идее в типовом коде, уходит в зацикливание, так как не может быть 0 исполнителей
Но вроде я справился, у меня не запустилось второе согласование, если там 0 исполнителей
А, с ролями в процессах у ДО есть проблемы, да.
Причём почти всё уже есть, чтобы согласование по ролям нормально работало, но пришлось чуть-чуть доработать.
Типовая автоподстановка "Все согласовавшие документ" работает криво, поэтому мы сделали свою "Все согласовавшие документ (с ролями)", в которой правильно определяем исполнителей, чтобы не было дублей. И вроде ещё что-то делали, но так с ходу вспомнить не могу, только что проблема была в случае нового цикла согласования, визы неправильно пересоздавались.
Причём почти всё уже есть, чтобы согласование по ролям нормально работало, но пришлось чуть-чуть доработать.
Типовая автоподстановка "Все согласовавшие документ" работает криво, поэтому мы сделали свою "Все согласовавшие документ (с ролями)", в которой правильно определяем исполнителей, чтобы не было дублей. И вроде ещё что-то делали, но так с ходу вспомнить не могу, только что проблема была в случае нового цикла согласования, визы неправильно пересоздавались.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот