Имя: Пароль:
1C
1С v8
Помогите с ПостроителемОтчета пожалуйста
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
В общем сделал по-дурацки, перед выполнением запроса подсовываю построителю разные запросы. Но, так как это построитель, приходится перед выполнением запроса сохранять отборы и после восстанавливать, ибо в запросе по Номенклатуре нет отбора по шорт-листам и после подсовывания текста запроса этот отбор автоматически сносится. Костыль на костыле. По размышлению можно избавиться от костыля с восстановлением отбора, но все равно криво вышло. Как вариант использовать несколько построителей.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший