|
Необязательные параметры СКД и ВЫБОР КОГДА | ☑ | ||
---|---|---|---|---|
0
salvator
14.02.20
✎
15:28
|
Всем привет.
С СКД сто лет не работал. Нужно в секции ГДЕ поставить необязательные условия. Пишу: ... {ГДЕ (ХозрасчетныйОстатки.Организация = &Организация), (ВЫБОР КОГДА &ОтборПоПодразделению ТОГДА ХозрасчетныйОстатки.Подразделение = &Подразделение ИНАЧЕ НЕ ХозрасчетныйОстатки.Подразделение В (ВЫБРАТЬ ПодразделенияОрганизаций.Ссылка ИЗ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций ГДЕ ПодразделенияОрганизаций.ОбособленноеПодразделение И ПодразделенияОрганизаций.Владелец = &Организация) КОНЕЦ)} ... Если не заполнить параметр "Подразделение", то выдается ошибка, что параметр не указан. Как написать конструкцию ГДЕ, чтобы параметры "Организация", "Подразделение" могли быть незаполненными? Параметр "ОтборПоПодразделению" рассчитываю ПриКомпоновкеРезультата. |
|||
1
vicof
14.02.20
✎
15:41
|
Убрать галку у параметра на вкладке параметры
|
|||
2
DrWatson
14.02.20
✎
15:44
|
(0) Может убрать ВЫБОР, сделать отдельные необязательные условия, и уже в ПриКомпоновкеРезультата задавая те или иные параметры управлять какой отбор будет присутствовать в итоговом запросе.
|
|||
3
salvator
14.02.20
✎
15:45
|
(1) Какую, "Запрет незаполненных"? Она не стоит
(2) Поподробнее можно? Как "управлять какой отбор будет"? |
|||
4
DrWatson
14.02.20
✎
15:51
|
(3) Если нужен отбор по подразделению - задаёшь параметр Подразделение, если по организации - Организация.
Не надо усложнять всё это конструкцией ВЫБОР. |
|||
5
salvator
14.02.20
✎
16:03
|
(4) ВЫБОР нужен для того, чтобы в зависимости от того, что указано в отборе по подразделению, формировать свой отбор. Там видно, что в конструкции ВЫБОР указано.
|
|||
6
toypaul
гуру
14.02.20
✎
16:11
|
извращение какое-то. если ты сумел в модуле заполнить один параметр то почему бы не заполнить другой?
{ГДЕ (ХозрасчетныйОстатки.Организация = &Организация), (ХозрасчетныйОстатки.Подразделение = &Подразделение), (ХозрасчетныйОстатки.Подразделение В &СписокПодразделений), } СписокПодразделений - сам понимаешь как заполнить ... |
|||
7
toypaul
гуру
14.02.20
✎
16:12
|
если положить болт на оптимизацию то можно и вовсе оставить только
{ГДЕ (ХозрасчетныйОстатки.Организация = &Организация), (ХозрасчетныйОстатки.Подразделение В &СписокПодразделений) } |
|||
8
toypaul
гуру
14.02.20
✎
16:13
|
да и кстати. если ты подумал про оптимизацию, то ВЫБОР тут вообще ни к месту
|
|||
9
toypaul
гуру
14.02.20
✎
16:14
|
а если еще раз вспомнить про оптимизацию, то почему все условия в ГДЕ, а не в параметрах таблицы.
у нас за такое не принимают на работу :) |
|||
10
salvator
14.02.20
✎
16:16
|
Не, мне нужно как:
Если параметр пустая ссылка, то в качестве параметра брать все, кроме обособок. Если указано, то брать его. Не нужны несколько параметров с подразделениями, нужен один. В результате решил ПриКомпоновкеРезультата изменять текст запроса, работает. |
|||
11
pechkin
14.02.20
✎
16:19
|
(7) а что разве В делается медленне чем = ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |