|
Условие бизнес процесса | ☑ | ||
---|---|---|---|---|
0
bamond
13.06.13
✎
11:48
|
Всем привет. Подскажите по поводу прохождения условия в бизнес процессе , уже голову сломал в поисках косяка....
условие : Процедура Условие1ПроверкаУсловия(ТочкаМаршрутаБизнесПроцесса, Результат) Если ЭтотОбъект.ОтправитьНаДоработку = Истина тогда Результат = Ложь; иначе Результат = Истина; КонецЕсли; КонецПроцедуры кнопка НЕ СОГЛАСОВАНО: &НаКлиенте Процедура НеСогласовано(Команда) ЭтаФорма.Реквизит1.ОтправитьНаДоработку=Истина; Доработка(); Реквизит1.ОтправитьНаДоработку=Истина; ПараметрыЗаписи = Новый Структура; ПараметрыЗаписи.Вставить("ВыполнитьЗадачу", Истина); Если Не Записать(ПараметрыЗаписи) Тогда Возврат; КонецЕсли; ПоказатьОповещениеПользователя( НСтр("ru = 'Выполнение:'"), ПолучитьНавигационнуюСсылку(Объект.Ссылка), Строка(Объект.Ссылка), БиблиотекаКартинок.Информация32); Оповестить("ЗадачаВыполнена", Объект.Ссылка); Записать(); Закрыть(); КонецПроцедуры &НаКлиенте Процедура Доработка() Реквизит1.ОтправитьНаДоработку=Истина; Записать(); КонецПроцедуры ___________________________________________ P.S. много раз и разными способами указывал ИСТИНУ что бы наверняка))) Так вот.. Смотря точками остановы в коде кнопки всё проставляется как надо... галочка истина проставляется... а когда дело доходит до проверки условия , то там опять стоит Ложь.... что тут не так подскажите пожалуйста =((( Задача в том что на форме есть кнопка типо булево ( скрытая ) и при нажатии на кнопку на форме НЕ СОГЛАСОВАНО , булево проставлялось в ИСТИНА и в условие по фактору ИСТИНА маршрут шел по пути НЕТ |
|||
1
Михаил Козлов
13.06.13
✎
11:55
|
Элемент записывали?
|
|||
2
Лефмихалыч
13.06.13
✎
12:01
|
(0) Признак "Отправить на доработку" нужно хранить в отдельном регистре, который свяжет предмет согласования и бизнес процесс. Кнопка "Не согласовано" в задаче должна записывать запись в этот регистр, а проверка условия должна получать запись из этого регистра по своему бизнес процессу и его предмету.
В форме задачи совать что-то в реквизиты бизнес процесса - глупая затея. Особенно, если есть групповые задачи, а реквизит один (хотя в этом случае надо будет и регистр переделать, но это проще, чем БП ломать). Записывать признак в саму задачу тоже идиотизм, т.к. при проверке условия нужно будет нужную задачу искать (а она уже выполнена). |
|||
3
Лефмихалыч
13.06.13
✎
12:02
|
в самом предмете признак хранить тем более глупо, поскольку теоретически можно несколько БП запустить на соновани одного предмета. Да и опять же - групповые задачи бывают
|
|||
4
bamond
13.06.13
✎
13:00
|
(1) (2) Не очень понимаю о чем речь идет =((( Можно где то посмотреть пример кода на эту тему?
А задача у меня не групповая, а обычная последовательная где на каждом этапе согласующий может "не согласовать" и процесс уведомит инициатора и завершится конфигурация Документооборот Я сейчас окончательно запутался))) P.S. курю мануал "руководство разработчика" официальный... там вообще ничего об этом нет... 3 строчки только на тему как сделать условие где результат ложь или истина... а как правильно написать ЕСЛИ ..... ТОГДА... такого нет =( |
|||
5
bamond
13.06.13
✎
17:04
|
Подскажите пожалуйста поподробнее .. ((
|
|||
6
Лефмихалыч
14.06.13
✎
10:39
|
Посмтори в типовых. В УТ 10.3, например, есть БП "Согласование заказа". В Документообороте есть отельный процесс "согласование" чего угодно. Посмотри, как там сделано
|
|||
7
bamond
14.06.13
✎
11:02
|
Там вообще всё запутано... у них сделано через перечисления... я сделал так же впринципе через их же перечисления... всеравно не работает , такое ощущение что не записывает результат выбора ( или не выбирает его при условии )
&НаКлиенте Процедура НеСогласовано(Команда) ПараметрыЗаписи = Новый Структура; ПараметрыЗаписи.Вставить("ВыполнитьЗадачу", Истина); ПараметрыЗаписи.Вставить("РезультатСогласования", РезультатыСогласованияНеСогласовано); Если Не Записать(ПараметрыЗаписи) Тогда Возврат; КонецЕсли; Закрыть(); КонецПроцедуры Процедура Условие1ПроверкаУсловия(ТочкаМаршрутаБизнесПроцесса, Результат) Если РезультатСогласования = Перечисления.РезультатыСогласования.НеСогласовано тогда Результат = Истина; иначе Результат = Ложь; КонецЕсли; КонецПроцедуры Даже если руками выбираешь РезультатСогласования... всеравно никак =(( P.S. вариант согласования реквизит БП |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |