|
Условный выбор в запросе СКД |
☑ |
0
Pyryrym
16.12.20
✎
13:29
|
У меня есть отчет на скд, куда передается параметр "Читатель". Нужно, если он типа Справочник.Читатели, в запросе установить в запросе условие ВыдачаИПриемКнигОстатки.Выдача.Читатель = &Читатель, если другого типа, то не применять никакого условия.
ВЫБРАТЬ
ВыдачаИПриемКнигОстатки.Книга КАК Книга,
ВыдачаИПриемКнигОстатки.СерийныйНомер КАК СерийныйНомер,
ВыдачаИПриемКнигОстатки.Книга.Владелец КАК Автор,
ВыдачаИПриемКнигОстатки.Книга.Наименование КАК Название,
ВыдачаИПриемКнигОстатки.Книга.ГодИздания КАК ГодИздания,
1 КАК Количество,
ВЫБОР
КОГДА ТИПЗНЧ(&Читатель) = Тип(СправочникСсылка.Читатели) ТОГДА (Выбрать ВыдачаИПриемКнигОстатки.Выдача.Читатель ГДЕ ВыдачаИПриемКнигОстатки.Выдача.Читатель = &Читатель)// условие
ИНАЧЕ (Выбрать ВыдачаИПриемКнигОстатки.Выдача.Читатель)
КОНЕЦ КАК Читатель,
ВыдачаКнигКниги.ДатаВозвратаПланируемая КАК ДатаВозвратаПланируемая
ИЗ
РегистрНакопления.ВыдачаИПриемКниг.Остатки КАК ВыдачаИПриемКнигОстатки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВыдачаКниг.Книги КАК ВыдачаКнигКниги
ПО ВыдачаИПриемКнигОстатки.Книга = ВыдачаКнигКниги.Книга
И ВыдачаИПриемКнигОстатки.СерийныйНомер = ВыдачаКнигКниги.СерийныйНомер
ГДЕ
ВыдачаИПриемКнигОстатки.КоличествоОстаток > 0
И ВыдачаИПриемКнигОстатки.Выдача.Читатель = &Читатель
Однако выдает ошибку
|
|
1
ДенисЧ
16.12.20
✎
13:31
|
Самое главное в задавании вопроса - никогда никому не рассказывать про текст ошибки.
Тогда тебе сразу ответят...
|
|
2
vicof
16.12.20
✎
13:32
|
Да у него кривой текст запроса.
ВЫБОР
КОГДА ТИПЗНЧ(&Читатель) = Тип(СправочникСсылка.Читатели) ТОГДА (Выбрать ВыдачаИПриемКнигОстатки.Выдача.Читатель ГДЕ ВыдачаИПриемКнигОстатки.Выдача.Читатель = &Читатель)// условие
ИНАЧЕ (Выбрать ВыдачаИПриемКнигОстатки.Выдача.Читатель)
КОНЕЦ КАК Читатель,
|
|
3
Pyryrym
16.12.20
✎
13:33
|
Синтаксическая ошибка "Выбрать"
КОГДА ТИПЗНЧ(&Читатель) = Тип(СправочникСсылка.Читатели) ТОГДА (<<?>>Выбрать ВыдачаИПриемКнигОстатки.Выдача.Читатель ГДЕ ВыдачаИПриемКнигОстатки.Выдача.Читатель = &Читатель)// условие
|
|
4
ДенисЧ
16.12.20
✎
13:34
|
Мдя...
Я забыл... Мне надо было подготовиться ко встрече со звездой... И слова подобрать.
А так - у меня нет слов.
|
|
5
vicof
16.12.20
✎
13:36
|
Условия накладываются в секции ГДЕ.
И ВЫБОР КОГДА ТИПЗНЧ(&Читатель) = Тип(СправочникСсылка.Читатели) ТОГДА
ВыдачаИПриемКнигОстатки.Выдача.Читатель = &Читатель
ИНАЧЕ ИСТИНА КОНЕЦ
|
|
6
Sayan_mi
16.12.20
✎
13:45
|
Интересно а "Выбрать" от куда - условие есть а источник? Да и что выбрать тоже не указано.
|
|
7
Kassern
16.12.20
✎
13:48
|
(5) Можно так же воспользоваться построителем запроса и там добавить отбор, если параметр нужного типа. Так же можно с помощью вставки текста в запрос при условии.
|
|
8
Pyryrym
16.12.20
✎
14:32
|
(5) Спасибо большое
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший