Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 13:21

Если в запросе использовать конструкцию: ? (вычислить выражение по условию)

Автор Алексей2014, 15 июн 2014, 19:08

0 Пользователей и 1 гость просматривают эту тему.

Алексей2014

В общем модуле УчетТоваров используется в запросе конструкция типа:
| " + ?(СчетаУчетаН_Склад.Количество() > 0,"ОстаткиПоСкладам.Субконто2", "&ПустойСклад")+ " КАК Склад,
которая при открытии запроса в режиме конструктора выдает синтаксическую ошибку. Как можно модифицировать код, чтобы запрос можно было открывать в конструкторе?
Ещё не совсем понятно соединение выражений, ведь, если, например, условие истина и подставляется первое выражение по условию, получаем итоговое выражение:
" + "ОстаткиПоСкладам.Субконто2" +  " КАК Склад,
Не перемудрили ли с плюсиками и кавычками в итоге?

cska-fanat-kz

итоговое выражение:
| ОстаткиПоСкладам.Субконто2 КАК Склад,

без всяких кавычек и плюсов

такие запросы отлаживаются 2мя способами:
1. временно убирайте всю эту вставку "+<<Условие>>+", тогда запрос откроется в конструкторе в конфигураторе
2. в режиме отладки вычисляем выражение "Запрос.Текст" и получаем итоговый текст запроса, далее его в консоль и отлаживаем
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Dethmontt

Было
| " + ?(СчетаУчетаН_Склад.Количество() > 0,"ОстаткиПоСкладам.Субконто2", "&ПустойСклад")+ " КАК Склад,
Стало
| ВЫБОР КОГДА &КоличествоПараметр > 0 ТОГДА ОстаткиПоСкладам.Субконто2 ИНАЧЕ &ПустойСклад КОНЕЦ КАК Склад,
//.............
Запрос.УстановитьПараметр("КоличествоПараметр", СчетаУчетаН_Склад.Количество());
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Алексей2014


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск