|
Странный запрос типовой конфы на получение задач по БП
| ☑ |
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
|
Сидеть там будет идентификатор объекта метаданных с типом "БизнесПроцессТочкаМаршрутаСсылка.ИмяБП", как и раньше
|
|
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан