|
Условие бизнес-процесса | ☑ | ||
---|---|---|---|---|
0
Tateossian
07.12.15
✎
15:40
|
Все привет!
Не выполняется точка условия маршрута бизнес-процесса. Что не так? Процедура проверки определена: Процедура СогласованоПроверкаУсловия(ТочкаМаршрутаБизнесПроцесса, Результат) Результат = Согласование = Перечисления.СтатусыСогласованияЗаявкиНаОплату.НаСогласовании; ОбщегоНазначенияКлиентСервер.СообщитьПользователю("СогласованоПроверкаУсловия"); КонецПроцедуры Схемка БП: ЯД https://yadi.sk/i/WdRRXEY4m3oo3 Ргхост http://rghost.ru/87MywWBPb/image.png |
|||
1
Tateossian
07.12.15
✎
15:41
|
Точка "Согласовано?"
|
|||
2
Tateossian
07.12.15
✎
15:45
|
Адресация полностью программная, это может быть как-то связано?
|
|||
3
GROOVY
07.12.15
✎
15:49
|
Не выполняется - это как. результат всегда Ложь, или после предыдущий точки действия, точка условия не выполняет обработчик?
|
|||
4
Tateossian
07.12.15
✎
15:56
|
(3)
Я в отладчике ставил точку на строке "Результат = Согласование = Перечисления.СтатусыСогласованияЗаявкиНаОплату.НаСогласовании;" В процедурину вообще не заходит. |
|||
5
butterbean
07.12.15
✎
15:58
|
(4) ты на сервере тестируешь? или файловая у тебя?
|
|||
6
Tateossian
07.12.15
✎
15:58
|
(3) Где-то вычитал, что должна быть явно определена процедура обработки события "ОбработкаПроверкиВыполнения" в задаче. Там вот так:
Процедура ОбработкаПроверкиВыполнения(Результат) Результат = Истина; КонецПроцедуры Здесь тоже не входит в процедуру. Видимо, до проверки не доходит. Почему так может быть? |
|||
7
Tateossian
07.12.15
✎
15:59
|
(5) #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
|||
8
Tateossian
07.12.15
✎
15:59
|
На сервере, отладка включена
|
|||
9
ejikbeznojek
07.12.15
✎
15:59
|
А почему в строке
Результат = Согласование = Перечисления.СтатусыСогласованияЗаявкиНаОплату.НаСогласовании; Два равно? |
|||
10
Tateossian
07.12.15
✎
16:01
|
(9) А в чем проблема?
|
|||
11
butterbean
07.12.15
✎
16:01
|
а у тебя б.процесс вообще стартует? движется? задачи создаваемые смотрел?
|
|||
12
Tateossian
07.12.15
✎
16:02
|
(11) БП стартует, первая задача создается. Тут все ок. А вот после первой задачи дальнейшие действия не происходят.
|
|||
13
GROOVY
07.12.15
✎
16:03
|
Событие с обработчиком связано?
Как выполняются задачи по точкам действия, надеюсь не "Выполнена = Истина"? |
|||
14
butterbean
07.12.15
✎
16:03
|
(12) задача выполняется? а что после этого, БП завершен или что?
|
|||
15
GROOVY
07.12.15
✎
16:03
|
(12) Тогда точно Выполнена = Истина. Есть метод ВыполнитьЗадачу(), используй его.
|
|||
16
Tateossian
07.12.15
✎
16:04
|
(13) Какой кусок кода привести? Таких мест точно нет "Выполнена = Истина"?
|
|||
17
GROOVY
07.12.15
✎
16:04
|
Как задачи создаются? Как они выполняются (ну судя по всему речь только о первой).
|
|||
18
Tateossian
07.12.15
✎
16:05
|
(15) У меня есть обработчики ПриВыполнении, которые выполняются.
ВыполнитьЗадачу() - это же их явный вызов. |
|||
19
butterbean
07.12.15
✎
16:06
|
(16) выполни задачу "руками", прям в форме задачи нажми "Выполнена" и в отладчик смотри
|
|||
20
Tateossian
07.12.15
✎
16:06
|
(19) Я так и делаю, но в точку условия не попадаю.
|
|||
21
Tateossian
07.12.15
✎
16:07
|
(17) Процедура СогласоватьПередСозданиемЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; ТекущаяРоль = ЕстьЭтап(ТочкаМаршрутаБизнесПроцесса); Если Не ТекущаяРоль = Неопределено Тогда Задача = СоздатьЗадачу(ТочкаМаршрутаБизнесПроцесса, ТекущаяРоль); ФормируемыеЗадачи.Добавить(Задача); Иначе Согласование = Перечисления.АА_СтатусыСогласованияЗаявкиНаОплату.Согласована; КонецЕсли; КонецПроцедуры |
|||
22
GROOVY
07.12.15
✎
16:07
|
А как задачи создаются?
|
|||
23
Tateossian
07.12.15
✎
16:08
|
(22) Это как создаются. В обработчике ПередСозданием задач
|
|||
24
cw014
07.12.15
✎
16:11
|
(0) Результат = Согласование = Перечисления.СтатусыСогласованияЗаявкиНаОплату.НаСогласовании;
(21) Согласование = Перечисления.АА_СтатусыСогласованияЗаявкиНаОплату.Согласована; Найди 100500 отличий |
|||
25
butterbean
07.12.15
✎
16:11
|
(23) они похоже как-то криво присоединяются к точке маршрута. Карту маршрута смотрел, там задача отмечается как выполненная?
|
|||
26
Tateossian
07.12.15
✎
16:12
|
У меня есть обработчки ПриВыполнении, но нет явной установки в Выполнена = Истина (сейчас обратил на это внимание).
А на форме списка задач после выполнения стоит "Выполнена". Это стандартная обработка отрабатывает, но в каком событии? |
|||
27
Tateossian
07.12.15
✎
16:13
|
(24) Я убрал префикс АА в первый раз, когда постил, а во второй - забыл. Так что - все норм, спасибо за наблюдательность.
|
|||
28
vde69
07.12.15
✎
16:13
|
ты не тот обработчик выбрал, смотри как надо:
Процедура ВыборИсполнителяПриСозданииЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, Отказ) ФормируемыеЗадачи.Очистить(); ТекущаяРоль = ЕстьЭтап(ТочкаМаршрутаБизнесПроцесса); Если Не ТекущаяРоль = Неопределено Тогда Задача = СоздатьЗадачу(ТочкаМаршрутаБизнесПроцесса, ТекущаяРоль); ФормируемыеЗадачи.Добавить(Задача); Иначе Согласование = Перечисления.АА_СтатусыСогласованияЗаявкиНаОплату.Согласована; КонецЕсли; КонецПроцедуры |
|||
29
Tateossian
07.12.15
✎
16:15
|
(28) Сейчас проверю, спасибо.
|
|||
30
Tateossian
07.12.15
✎
16:16
|
(28) Две задачи сформирвоалось - пустая и правильная.
|
|||
31
vde69
07.12.15
✎
16:17
|
и добавь
Иначе Согласование = Перечисления.АА_СтатусыСогласованияЗаявкиНаОплату.Согласована; Записать(); КонецЕсли; |
|||
32
vde69
07.12.15
✎
16:18
|
(30) ты не очистил список задач :)
|
|||
33
vhl
07.12.15
✎
16:18
|
(28) Накой фиг создавать задачи при создании задачи?
|
|||
34
Tateossian
07.12.15
✎
16:21
|
(33) Мнения разделились. Хотя, вопрос правильный.
Но меня волнует другое - почему после выполнения первой задачи не попадаю в точку проверки условия. |
|||
35
butterbean
07.12.15
✎
16:22
|
(34) есть мнение, что ты криво создаешь задачи. Попробуй их не создавать, а просто устанавливать реквизиты задачи в ПриСозданииЗадач()
|
|||
36
Tateossian
07.12.15
✎
16:25
|
(35) АААА Спасибо мил человек!!!
Задача.ТочкаМаршрута = ТочкаМаршрутаБизнесПроцесса; Конечно, я забыл ее установить! |
|||
37
User_Agronom
07.12.15
✎
16:26
|
Схема странная.
На завершение идёт если не согласовано и нет других этапов. Т.е. на последнем этапе юзер должен сказать "Не согласен!" |
|||
38
Tateossian
07.12.15
✎
16:28
|
(37) Обычная линейная схема, переделанная на цикл.
На завершение идет либо если нет этапов, либо если на текущем этапе статус "Отклонена". |
|||
39
vhl
07.12.15
✎
16:28
|
(34) Задача сама создастся при старте БП. Не нужно ей помогать и что-то прописывать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |