Проверка на указание параметра в запросе
23.05.2012
12:42
#1
Хочу задать условие на проверку указания параметра...
Условие такое - Если указан параметр(Вид) то ВЫБРАТЬ по условию (Оплата.ВидОплаты = &Вид)
Иначе ВЫБРАТЬ без условий
ВЫБРАТЬ
Оплата.Договор.Абонент,
Оплата.Договор.Счетчик.Код,
Оплата.Договор.Счетчик.СерийныйНомерТаблетки,
Оплата.ВидОплаты
ИЗ
Документ.Оплата КАК Оплата
ГДЕ
Если &Вид <> НЕОПРЕДЕЛЕНО тогда
Оплата.ВидОплаты = &Вид
КонецЕсли
ГДЕ
ВЫБОР КОГДА &Вид = NULL ТОГДА
ИСТИНА
ИНАЧЕ Оплата.ВидОплаты = &Вид
КОНЕЦ
Помогите правильно написать неуказанное состояние парамеира ВИД
Условие такое - Если указан параметр(Вид) то ВЫБРАТЬ по условию (Оплата.ВидОплаты = &Вид)
Иначе ВЫБРАТЬ без условий
ВЫБРАТЬ
Оплата.Договор.Абонент,
Оплата.Договор.Счетчик.Код,
Оплата.Договор.Счетчик.СерийныйНомерТаблетки,
Оплата.ВидОплаты
ИЗ
Документ.Оплата КАК Оплата
ГДЕ
Если &Вид <> НЕОПРЕДЕЛЕНО тогда
Оплата.ВидОплаты = &Вид
КонецЕсли
ГДЕ
ВЫБОР КОГДА &Вид = NULL ТОГДА
ИСТИНА
ИНАЧЕ Оплата.ВидОплаты = &Вид
КОНЕЦ
Помогите правильно написать неуказанное состояние парамеира ВИД
23.05.2012
14:18
#2
ГДЕ
ВЫБОР
КОГДА &Вид = ЗНАЧЕНИЕ(Перечисление.ВидыОплаты.ПустаяСсылка) ТОГДА // или Справочник.ВидыОплаты.ПустаяСсылка или что там у вас
ИСТИНА
ИНАЧЕ Оплата.ВидОплаты = &Вид
КОНЕЦ
ВЫБОР
КОГДА &Вид = ЗНАЧЕНИЕ(Перечисление.ВидыОплаты.ПустаяСсылка) ТОГДА // или Справочник.ВидыОплаты.ПустаяСсылка или что там у вас
ИСТИНА
ИНАЧЕ Оплата.ВидОплаты = &Вид
КОНЕЦ
23.05.2012
15:20
#3
Все равно ошибка. Первое условие пропускает, а второе ошибочное получаеться
ВЫБОР
КОГДА &Вид = ЗНАЧЕНИЕ(Справочник.ВидыОплаты.ПустаяСсылка) ТОГДА
ИСТИНА
ИНАЧЕ Оплата.ВидОплаты = &Вид
КОНЕЦ
Может есть совсем другой вариант. Я опишу основную задачу...
Создал отчет, в нем создал СКД, нужно чтоб отчет выдовал Список всех оплат(Документ.Оплата КАК Оплата)
а если указан конкретный вид оплаты(параметр &Вид) то отбор по этому виду.
Вроде бы задача из самых простых, до ума не могу довести
ВЫБОР
КОГДА &Вид = ЗНАЧЕНИЕ(Справочник.ВидыОплаты.ПустаяСсылка) ТОГДА
ИСТИНА
ИНАЧЕ Оплата.ВидОплаты = &Вид
КОНЕЦ
Может есть совсем другой вариант. Я опишу основную задачу...
Создал отчет, в нем создал СКД, нужно чтоб отчет выдовал Список всех оплат(Документ.Оплата КАК Оплата)
а если указан конкретный вид оплаты(параметр &Вид) то отбор по этому виду.
Вроде бы задача из самых простых, до ума не могу довести
23.05.2012
15:41
#4
Зачем такие сложности в самом запросе.
1 Почему обязательно параметр, почему не дать пользователю выбирать через отбор , у вас все равно выбор не из виртуальных таблиц
2 использовать В ИЕРАРХИИ
1 Почему обязательно параметр, почему не дать пользователю выбирать через отбор , у вас все равно выбор не из виртуальных таблиц
2 использовать В ИЕРАРХИИ
23.05.2012
16:46
#7
Я решил сделать так...
создать предопределенный элемент справочника видыОплаты и назвать Неопределен
потом сверять
Когда &Вид <> Справочник.ВидОплаты.Неопределен тода
Оплата.ВидОплаты = &Вид конец.
и поумолчанию указать проедопределенный элемент
Но не знаю каким образом вызвать предопределенный элемент
Есть варианты?????
создать предопределенный элемент справочника видыОплаты и назвать Неопределен
потом сверять
Когда &Вид <> Справочник.ВидОплаты.Неопределен тода
Оплата.ВидОплаты = &Вид конец.
и поумолчанию указать проедопределенный элемент
Но не знаю каким образом вызвать предопределенный элемент
Есть варианты?????
23.05.2012
16:50
#8
Все разобрался. И зачем я столько усложнял. Огромное спассибо что открыли мне глаза)))))
Читают тему
(гостей: 1)