|   |   | 
| 
 | Необязательные параметры СКД и ВЫБОР КОГДА | ☑ | ||
|---|---|---|---|---|
| 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) а что разве В делается медленне чем = ?     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |