![]() |
![]() |
|
Странный запрос типовой конфы на получение задач по БП | ☑ | ||
---|---|---|---|---|
0
Steini
16.03.16
✎
12:49
|
Добрый день, господа и дамы.
В типовой конфе "Документооборот" есть функция //Возвращает список значений всех задач по указанному бизнес-процессу. // Функция ПолучитьМассивЗадачПоБизнесПроцессу(БизнесПроцессСсылка, ВПривилегированномРежиме = Ложь) Экспорт Если ВПривилегированномРежиме Тогда УстановитьПривилегированныйРежим(Истина); КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ЗадачаИсполнителя.Ссылка |ИЗ | Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя | ВНУТРЕННЕЕ СОЕДИНЕНИЕ БизнесПроцесс." + БизнесПроцессСсылка.Метаданные().Имя + ".Точки КАК ТочкиМаршрута | ПО ЗадачаИсполнителя.ТочкаМаршрута = ТочкиМаршрута.Ссылка |ГДЕ | ЗадачаИсполнителя.БизнесПроцесс = &БизнесПроцесс"; Запрос.УстановитьПараметр("БизнесПроцесс", БизнесПроцессСсылка); Результат = Запрос.Выполнить().Выгрузить(); Возврат Результат; КонецФункции Не могу никак понять, зачем здесь внутреннее соединение с точками? Почему нельзя просто использовать запрос по задачам, которые не помечены на удаление, у которых БизнесПроцесс = &БизнесПроцесс, ну и в дополнение комбинация флагов на "Отменена", "Завершена" и т.п.? Подскажите, пожалуйста, неиспользование внутреннего соединения с таблицей точек будет ошибочно при получении списка задач по бизнес-процессу? |
|||
1
Steini
16.03.16
✎
12:53
|
Мне кажется, что использование соединения с точками логично только тогда, когда у некоторой задачи в реквизите "БизнесПроцесс" может находиться один БП, а в реквизите "ТочкаМаршрута" - точка маршрута от бизнес-процессов совершенно другого типа. Но такое невозможно же?
|
|||
2
Cyberhawk
16.03.16
✎
13:04
|
Учти, что в оригинальном запросе идет фильтрация задач еще и по точкам маршрута БП. Карта БП может поменяться, какие-то точки удалят, старые и ненужные задачи останутся.
|
|||
3
Steini
16.03.16
✎
13:14
|
(2) понятно. Но что же тогда получается, если в режиме конфигуратора изменят карту маршрута, то в базе будут задачи с "битыми" ссылками в реквизите "ТочкаМаршрута"? Немного странно, ну да ладно, спасибо за ответ.
|
|||
4
Cyberhawk
16.03.16
✎
14:06
|
(3) Да, будет аналог битой ссылки, только визуально это будет не "Объект не найден...", а просто пустое поле
|
|||
5
Cyberhawk
16.03.16
✎
14:07
|
Сидеть там будет идентификатор объекта метаданных с типом "БизнесПроцессТочкаМаршрутаСсылка.ИмяБП", как и раньше
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |