|
v7: SQL запрос | ☑ | ||
---|---|---|---|---|
0
pofigos
20.06.12
✎
18:40
|
Добрый день форумчане.
Подскажите кто может. Начал изучать прямые запросы: Запрос = СоздатьОбъект("ODBCRecordSet"); ТекстЗапроса = " |SELECT | Рег.Покупатель as [Контрагент $Справочник.Контрагенты], | Рег.Филиал as [Филиал $Справочник.Подразделение], | Рег.Товар as [Номенклатура $Справочник.ВидыТоваров], | Рег.СуммаОборот as СуммаОборот, | Рег.КоличествоОборот as КоличествоОборот |FROM | $РегистрОбороты.Реализация(:ВыбДата,:КонДата~,,,,(Покупатель,Товар,Филиал),(Сумма,Количество)) as Рег |Where | Рег.Филиал = :ВыбФилиал"; Запрос.УстановитьТекстовыйПараметр("ВыбДата",НачДата); Запрос.УстановитьТекстовыйПараметр("КонДата",КонДата); Запрос.УстановитьТекстовыйПараметр("ВыбФилиал",ВыбФилиал); Запрос.ВыполнитьИнструкцию(ТекстЗапроса,ВыхТаб); Вопрос такой, как мне назначить условия отбора по параметрам, которые задаются на форме отчета (Пустое значение(обирается все)\группа (если тип справочник)\элемент) Заранее спасибо |
|||
1
leshikkam
20.06.12
✎
18:44
|
Универсальной разработки в общем доступе не существует.
Рекомендую накладывать условия не "за" виртуальной таблицы а в секции Условие |
|||
2
pofigos
20.06.12
✎
18:48
|
И еще такой вопрос, правильно ли я понял, что если я какой-то переменной присвою текст до описания текста запроса, а в блоке WHERE присвою значение этого параметра, запрос все равно отработает?
|
|||
3
leshikkam
20.06.12
✎
18:52
|
В классе ODBCRecordset установка параметров не зависит от текста запроса.
В классе ПрямойЗапрос только для параметризированного запроса текст запроса надо устанавливать перед установкой описания параметров. В остальных случаях поведение аналогично классу ODBCRecordset |
|||
4
pofigos
20.06.12
✎
18:52
|
(2) *Значение переменной
|
|||
5
pofigos
20.06.12
✎
18:52
|
Спасибо, буду разбираться дальше
|
|||
6
leshikkam
20.06.12
✎
18:57
|
Сразу дам уточнение - в ВТ (виртуальных таблицах таких как РегистрОбороты) нельзя накладывать фильтр на реквизиты и соответственно получать значения реквизитов в выборке. Для обращения к реквизитам необходимо обращаться напрямую к таблице движения регистра ($Регистр.<ИмяРегистра>)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |