Имя: Пароль:
1C
1С v8
Как правильно задать несколько необязательные параметров в СКД?
0 dave2000
 
05.12.16
18:41
Есть некий запросик в СКД с необязательные параметрами Склад и ТМЦ. Но эти параметры нужно либо указывать сразу оба, либо не указывать вообще.

ВЫБРАТЬ
    ОстаткиУпрОстаткиИОбороты.Склад,
    ОстаткиУпрОстаткиИОбороты.ТМЦ,
    ОстаткиУпрОстаткиИОбороты.КоличествоНачальныйОстаток,
    ОстаткиУпрОстаткиИОбороты.КоличествоПриход,
    ОстаткиУпрОстаткиИОбороты.КоличествоРасход,
    ОстаткиУпрОстаткиИОбороты.КоличествоКонечныйОстаток
ИЗ
    РегистрНакопления.ОстаткиУпр.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Авто, ДвиженияИГраницыПериода, {(Склад В (&Склад) И ТМЦ В (&ТМЦ))}) КАК ОстаткиУпрОстаткиИОбороты




Как правильно сделать так, чтобы можно было указать лишь один из этих параметров, а второй не указывать?
1 Fragster
 
гуру
05.12.16
18:42
",", а не "и"
2 Nuobu
 
05.12.16
18:45
РегистрНакопления.ОстаткиУпр.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Авто, ДвиженияИГраницыПериода, {Склад.*, ТМЦ.*}) КАК ОстаткиУпрОстаткиИОбороты
3 Fragster
 
гуру
05.12.16
18:47
(2) это отбор, а не параметр!
4 Nuobu
 
05.12.16
18:47
(3) Был отбор, а станет параметром.
5 Fragster
 
гуру
05.12.16
18:50
(4) нет
6 Nuobu
 
05.12.16
18:55
(5) Как нет, если да?
7 dave2000
 
05.12.16
19:40
(2) Если так сделать, параметры исчезают. Получается, нужно использовать отбор. Но отбор работает уже после выполнения запроса, а мне бы желательно использовать именно параметры.
8 dave2000
 
05.12.16
21:16
Вот так взлетело нормально:

РегистрНакопления.ОстаткиУпр.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Авто, ДвиженияИГраницыПериода, {(Склад В (&Склад)), (ТМЦ В (&ТМЦ))}) КАК ОстаткиУпрОстаткиИОбороты
9 Fragster
 
гуру
06.12.16
10:44
(7) отбор в большинстве случаев работает, преобразуя текст запроса. но вот с помощью необязательных параметров можно делать то, что нельзя делать отбором
AdBlock убивает бесплатный контент. 1Сергей