![]() |
![]() |
![]() |
|
Откат задачи в бизнес процессе | ☑ | ||
---|---|---|---|---|
0
Cezar
11.10.11
✎
15:09
|
Здравствуйте, прошу помощи по такому вот вопросу.
Есть некий бизнес-процесс (1С Документооборот 8), карта маршрута к нему и задачи. Цель состоит в том чтобы дать пользователю возможность вернуть бизнес-процесс к любой уже прошедшей точке маршрута по его выбору. Т.е. фактически сделать аналог возврата по условию например назад. Как вариант думал удалить все задачи после целевой точки маршрута до текущей (вместе с текущей). Никак. В тоге БП все равно стоит на текущей точке маршрута, а все точки от целевой до текущей становятся обведены в красный квадрат (как будто они в данный момент выполняются). Или же использовать параметр "ВедушаяЗадача" у БП, присваивая ей целевую. Тоже ничего. Вариант непосредственно процедуры: ------------------------- Процедура ПерейтиНаЗадачуБП(БизнесПроцесс, ЦелеваяЗадача) Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗадачаИсполнителя.Ссылка |ИЗ | Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя |ГДЕ | ЗадачаИсполнителя.БизнесПроцесс = &БизнесПроцесс | И ЗадачаИсполнителя.Дата > &ДатаЦелевойЗадачи | И ЗадачаИсполнителя.Выполнена = ИСТИНА | |УПОРЯДОЧИТЬ ПО | ЗадачаИсполнителя.Дата"; Запрос.УстановитьПараметр("БизнесПроцесс", БизнесПроцесс); Запрос.УстановитьПараметр("ДатаЦелевойЗадачи", ЦелеваяЗадача.Дата); ТЗ = Новый ТаблицаЗначений; ТЗ = Запрос.Выполнить().Выгрузить(); Для Каждого Задача Из ТЗ Цикл ОбъектЗадача = Задача.Ссылка.ПолучитьОбъект(); ОбъектЗадача.Выполнена = Ложь; ОбъектЗадача.Записать(); КонецЦикла; //ОбъектБизнесПроцесс = БизнесПроцесс.ПолучитьОбъект(); //ОбъектБизнесПроцесс.ВедущаяЗадача = ЦелеваяЗадача.Ссылка; //ОбъектБизнесПроцесс.Записать(); КонецПроцедуры |
|||
1
Cezar
11.10.11
✎
15:28
|
Допустим вот пример выбора пользователем целевой точки 2.6 из точки 2.9. Создает 2.10, и всех их делает красными :(
[img]http://s017.radikal.ru/i409/1110/6a/5ce2f917b7c8.jpg[/img] |
|||
2
Cezar
11.10.11
✎
15:28
|
||||
3
IOL
19.10.11
✎
16:31
|
Ау народ, встретился с той же проблемой :(. Как корректно откатить задачу?
|
|||
4
Джинн
19.10.11
✎
16:35
|
Задачу нельзя откатить. Она уже выполнена. Либо создать новую задачу нужно, либо перенаправить задачу другому пользователю.
|
|||
5
ssh2006
19.10.11
✎
16:43
|
Ближе к делу - "Откат в бизнес процессе "
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |