Бизнес-Процесс. Как получить следующую точку маршрута? #763975


#0 by totparen
Сабж. Есть метод ПолучитьВходящиеТочки, работает в том числе и для точки вида "Действие", есть метод ПолучитьИсходящиеТочки, но помему-то работает только для точек вида "Разделение". Как можно найти исходящие точки для действия?
#1 by Сниф
А зачем? Ведь в каждой точке есть свои обработчики.
#2 by totparen
Нужна зашить универсальный алгоритм в задачу. Анализировать следующую ТМ.
#3 by totparen
Можно конечно перебрать все точки маршрута и вычислить ПолучитьВходящиеТочки = ТекущаяТочкаМаршрута, но это костыль.
#4 by Сниф
То есть использовать схему нестандартным образом? Тогда можно на декорациях-стрелках и справочнике. Кажется, вы это и хотите сделать. Если так - то перебрать все элементы схемы, узнать для которых ПолучитьВходящиеТочки= ТекущаяТочкаМаршрута, именно так. Тупо узнать куда ведут стрелочки от текущей точки - перебрать все другие узлы. И это не костыль, это норма. Ведь вы сознательно отказываетесь от стандартного программирования бизнес-процесса.
#5 by totparen
Что-то типа этого. Всё-равно считаю костылём. Функция ПолучитьИсходящиеТочки(пТочкаМаршрута)
#6 by Сниф
Как-то мне пришлось делать бизнес-процесс, где около 100 строк в табличной части - и каждая строка должна согласовываться по инстанциям отдельно от других (согласование бюджетных операций).   Для решения я оставил в схеме только Старт, Финиш, и бесконечный цикл проверки. А всю логику вынес в табличную часть "История" и модуль. И что значит "зашить универсальный алгоритм в задачу"? Если его зашить в модуле - это одно. Если вы хотите, чтобы схема бизнес-процесса редактировалась в пользовательском режиме - тогда нужно делать декорации-стрелки и, например, хранить код в справочнике.
#7 by Сниф
Вы не ответили на вопрос :) Цель - программирование бизнес-процесса в конфигураторе или пользователям дать такую возможность?
#8 by totparen
Цель - при открытии формы задачи, анализировать следующую точку маршрута, и если следующая ТМ вида "точка выбора" - запрашивать у пользователя вариант(результат выполнения) задачи. Что бы на следующем этапе проскочить через выбор. Как-то так. БП только осваиваю...
#9 by totparen
+ Задачу могут ведь формировать разные бизнес процессы. Вот и анализировать карты маршрута для универсальности.
#10 by Сниф
так на то она и точка выбора - запрашивать у пользователя вариант ответа. Другого назначения у точки выбора и нет. Тогда вам можно использовать стандартный механизм. Я уже не помню (и лень поднять конфу из бекапа), но у точки выбора есть во входящих параметрах, кажется, результат выбора, или как его. Вот туда и передаете, что выбрал пользователь. И логика сама дальше по схеме бежит) Не нужно программировать - какая точка следующая. Это рисуется в схеме.
#11 by totparen
Входящие параметры у обработчика точки выбора ТочкаВыбораВарианта и Результат. Если выбор зависит от пользователя, то мне нужно это и запросить у пользователя. Не создавать же мне дополнительный диалог, после выполнения задачи. Как это делать по правильному?
#12 by cw014
Есть ПолучитьИсходящуюТочку - работает для разделения и ПолучитьИсходящиеТочки - для всего остального
#13 by totparen
Хм... действительно. То что нужно. Почему-то забраковал эту функция изначально. Мерси. Вот чуял что должна быть функция.
#14 by totparen
А как всё-таки обрабатывать выбор варианта, если он зависит от результата выполнения предыдущей точки действия?
#15 by Smile 8D
Обычно добавляют реквизит в бизнес-процесс и присваивают ему значение (в предыдущей точке). А в обработчике выбора пишут условие на значение этого реквизита.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С