Имя: Пароль:
1C
1С v8
Точки маршрута бизнесс-процесса
0 Segate
 
24.09.12
16:53
В общем ситуация такая:
Обработкой в задачах был выставлен реквизит Выполнена. При этом ВыполнитьЗадачуИнтерактивно() Не вызывали. В итоге в бизнесс процесс, не завершился(что понятно). Вопрос: Как идентифицировать(получить список) эти задачи и перезаписать их правильно(и выполнить конечно)?
1 vde69
 
24.09.12
16:54
ЗадачаОбъект.Выполнить()
2 Segate
 
24.09.12
16:56
(1) Спасибо кэп. Вопрос в том, как получить список задач, выполненны0х не правильно.
3 vde69
 
24.09.12
16:57
где ЗадачаСсылка.Выполнена = ложь
4 Segate
 
24.09.12
16:58
(3) блин, а читать первый пост уже не модно?

>>Обработкой в задачах был выставлен реквизит Выполнена.

Там было тупо
ЗадачаОбъект.выполнена = Истина;
ЗадачаОбъект.записать();
5 vde69
 
24.09.12
16:59
(3) вру....

нужно искть БП не выполненые но не имеющии ни одной не выполненой задачи
6 Segate
 
24.09.12
17:00
(5) подумал уже... Но тут есть еще проблема. Искомые задачи не всегда последние в БП
7 vde69
 
24.09.12
17:01
// попробуем найти БП согласования
       Запрос = Новый Запрос(
           "ВЫБРАТЬ
           |    Согласование.Ссылка КАК БП
           |ИЗ
           |    БизнесПроцесс.Согласование КАК Согласование
           |ГДЕ
           |    Согласование.ДокументСогласования = &ДокументСогласования
           |    И (НЕ Согласование.Завершен)
           |    И Согласование.Стартован");


и потом джойним с задачами
8 Segate
 
24.09.12
17:03
ЗЫ еще вопрос. Чем грозит вызов "повторного" завершения задачи? Т.е. Если я сейчас отберу все незавершенные БП, выберу из них задачи(среди них будут и завершенные правильно и нет), и повторно вызову обработку выполнения.
9 y22-k
 
24.09.12
17:41
(0) Бизнес процесс зависает если задача не ВыполнитьЗадачу() а реквизит выполнена = Истина
и задача.Записать();
сам долго с этим парился пока нашел
10 Segate
 
24.09.12
18:09
(9) щас видимо модно не читать вопросы)))