Имя: Пароль:
1C
 
Если возможность в ДО 2.1 применить действие "Обработка" для нескольких процессов
,
0 Momus
 
26.05.23
15:08
Перед запуском определенных процессов необходимо выполнить одно и то же действие. Для этого в шаблоне процесса каждого добавил действие "Обработка" и там провожу определенные операции. Эта обработка одинакова для каждого из этих процессов. Можно ли как-то оптимизировать, чтобы не приходилось менять эту "обработку" в каждом шаблоне?
1 Momus
 
26.05.23
15:24
пока только один вариант на уме - это событие -> дополнительный обработчик бизнес-события. Но свои манипуляции хотелось бы сделать еще на этапе заполнения процесса
2 Масянька
 
26.05.23
15:26
(0) А нельзя это сакральное действие "Обработка" проводить для нужных видов документов?
3 Масянька
 
26.05.23
15:27
+ (2) Хотя, нет - разницы никакой...
А что за действие-то?
4 Momus
 
26.05.23
15:29
(3) Изменить исполнителей по определенному алгоритму, одинаковому для кучи процессов
5 Масянька
 
26.05.23
15:43
(4) Зачем?
6 Momus
 
26.05.23
15:45
(5) потому что изначально исполнители не те наверно?
7 Donkey_hot
 
26.05.23
15:46
(0) А в общий модуль вынести алгоритм не вариант? В "обработке" оставить только вызов с необходимыми параметрами?
8 Масянька
 
26.05.23
15:47
(6) А зачем исполнители в документе?
У нас исполнители в процессах.
9 Donkey_hot
 
26.05.23
15:48
(6) Плюс еще как вариант - автоподстановки.
10 Momus
 
26.05.23
15:50
(7) ну как вариант, да. В ДО просто столько фишек из коробки есть, мб есть и на мой случай
11 Momus
 
26.05.23
15:51
(9) их и использую, но проблема заключается в том, что количество исполнителей заранее неизвестно и зависит на самом деле от базы, интегрированной с ДО
12 Масянька
 
26.05.23
15:53
(11) Извините, что я вмешиваюсь... А нельзя в процессе по условию добавлять?
13 Donkey_hot
 
26.05.23
15:53
(10) Я подобную схему использовал в бизнес-событиях, в сам пользовательский обработчик только вызов, имя функции = имени события (для удобства), а всю логику в общий модуль расширения. Отлаживать проще, по крайней мере.
14 Momus
 
26.05.23
15:55
(12) не совсем понял о чем речь
15 Momus
 
26.05.23
15:58
(13) события не хочу использовать из-за блокировки данных, к тому же гораздо нагляднее, если вся логика процесса описана в шаблоне. В отдельный модуль вынести хорошая идея, жаль только изменять не очень удобно. Динамические обновления стараюсь не использовать, даже если меняется всего программный код
16 Масянька
 
26.05.23
15:59
(14) https://postimg.cc/nMp3FhH9 - последняя колонка (выделено синим условия (так выглядит - https://postimg.cc/v1DdStKM))
17 Масянька
 
26.05.23
16:00
18 Momus
 
26.05.23
16:05
(16) если я правильно понял, то в шаблоне у вас изначально есть определенный список согласующий лиц, в котором затем условием маршрутизации вы отсекаете лишних исполнителей?
19 Momus
 
26.05.23
16:08
(18) если это так, то такой вариант, увы, мне не подходит, т.к. список исполнителей заранее неизвестен
20 Donkey_hot
 
26.05.23
16:11
(15) Программный модуль в расширении обновлять это ИМХО совсем безопасная манипуляция, даже пользователям такое доверили. Зато можно точки останова ставить, а набитый в Предприятии код как отлаживать? Только через ЖР. В общем, я плюсОв наблюдаю больше. Решение за Вами, разумеется.
21 Donkey_hot
 
26.05.23
16:13
(20) А все-таки, действительно, пример того, что должно произойти. Исполнитель поменяться где должен? В этапе процесса?
22 Momus
 
26.05.23
16:14
(20) я понимаю, что безопасно) Такова политика предприятия, ибо после бездумных обновлений предыдущего программиста пришлось чистить кэш куче пользователей
23 Масянька
 
26.05.23
16:20
(19) Ты бы описали алгоритм...
В ссылке условие: если есть признак ЭЦП - идет (процесс) по ветке с Диадоком, если нет - идет (процесс) через тендерную площадку.
24 Масянька
 
26.05.23
16:21
+ (23) Причем, это 6-ой этап комплексного процесса.
25 Momus
 
26.05.23
16:21
(23) ну а список-то исполнителей фиксированный?
26 Масянька
 
26.05.23
16:24
(25) Я не вижу разницы.
Задать условие: если что-то1 - исполнитель = Иванов, если что-то2 - Исполнитель = Сидоров, если что-то3 - Исполнитель = Печкин.
27 Momus
 
26.05.23
16:24
(21) Исполнители определяются в интегрированной базе, моя задача в ДО назначить их исполнителями при создании документа. Исполнители в доп. реквизитах, которые прописаны в автоподстановках, но их количество нефиксированное: может и 1 исполнитель, а может и 10 быть в документе. Собственно суть обработки - это заменить исполнителей и убрать лишние задачи. Если, например, будет задача без исполнителя, которая никогда не стартанет (например, из-за условия маршрутизации), то автоматический старт невозможен.
28 Momus
 
26.05.23
16:24
(26) а если их может быть 100?
29 Momus
 
26.05.23
16:25
не прописывать же 100 условий...
30 Donkey_hot
 
26.05.23
17:56
(27) Назначить исполнителями в определенные этапы процесса, а лишние этапы удалить? И заполнить, видимо, при создании процесса, а не документа?
31 Donkey_hot
 
26.05.23
17:57
(30) Автоподстановка ведь и массив может возвращать. А ненужные можно вешать на служебного пользователя и выполнять автоматически. Это не то, чтобы рекомендация, так - варианты накидываю)
32 Bigbro
 
26.05.23
18:25
сделайте вызов функции в шаблоне процесса.
а сама функция пусть долбится к вашей интегрированной базе и получает там исполнителей, которых вы дальше уже будете в процессе использовать.
через DMService или Rabbit - вроде проверенные варианты.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший