|
Помогите с ПостроителемОтчета пожалуйста
| ☑ |
0
Omskdizel
18.02.19
✎
10:46
|
Доброго дня!
Задачка следующая: УТ 10.3. Есть построитель. Он надо, чтобы было удобно отборы делать пользователю. Но вот с запросом непонятка. Есть два источника данных, некие шорт-листы - это справочник с табличной частью из Номенклатуры и если в отборах построителя указан отбор по шорт-листу, то выборку надо делать по их содержимому, иначе, выбираем из справочника Номенклатура. Ессно там добавляются стандартные отборы типа Номенклатура.*. Как это можно реализовать на построителе? Т.е. одним запросом по сути. То ли я затупил, то ли так нельзя...
|
|
1
Omskdizel
18.02.19
✎
11:10
|
Чисто технически меня устроит и вариант, когда выборка делается из справочника Номенклатура, если выборка по шорт-листам пустая. Но такую схему тоже не смог реализовать :).
|
|
2
RomanYS
18.02.19
✎
11:18
|
(1) Что значит "выборка по шорт-листам пустая"
- не указан параметр
- в указанном шортлисте нет номенклатуры
- номенклатура из шортлиста не попала выборку по условиям (другим условия, остаткам и т.п)?
|
|
3
Omskdizel
18.02.19
✎
11:30
|
(2) Ну например галку отбора по шорт-листам поставили, а значения не выбрали, или шорт-листы пустые. Без разницы. Дополнительных отборов нет.
|
|
4
RomanYS
18.02.19
✎
11:56
|
(3) странноватый подход: пользователь накосячил в отборе, а ты ему показываешь всё.
Логичнее переключать отбор по галке, раз она уже есть.
Теоретически можно конечно и (3) сделать
|
|
5
Omskdizel
18.02.19
✎
12:17
|
(4) Я же говорю, что как вариант. Можно так и не делать. Я вроде подобрался, но как-то костыльно выглядит.
|
|
6
Omskdizel
18.02.19
✎
15:30
|
В общем сделал по-дурацки, перед выполнением запроса подсовываю построителю разные запросы. Но, так как это построитель, приходится перед выполнением запроса сохранять отборы и после восстанавливать, ибо в запросе по Номенклатуре нет отбора по шорт-листам и после подсовывания текста запроса этот отбор автоматически сносится. Костыль на костыле. По размышлению можно избавиться от костыля с восстановлением отбора, но все равно криво вышло. Как вариант использовать несколько построителей.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший