|
Построитель запроса (условие ИЛИ в отборе) | ☑ | ||
---|---|---|---|---|
0
psy_sln
07.10.15
✎
23:57
|
Всем доброй ночи)
Делаю запрос к регистру бухгалтерии, и нужно наложить условие на субконто, типа СубконтоДт1 = МойПараметр ИЛИ СубконтоДт2 = МойПараметр Сам текст: Построитель = Новый ПостроительЗапроса; Построитель.Текст = "ВЫБРАТЬ | ХозрасчетныйОборотыДтКт.СчетДт, | ХозрасчетныйОборотыДтКт.СчетКт, | ХозрасчетныйОборотыДтКт.СубконтоДт1, | ХозрасчетныйОборотыДтКт.СубконтоДт2, | ХозрасчетныйОборотыДтКт.СуммаОборот КАК СуммаОборот, | ХозрасчетныйОборотыДтКт.КоличествоОборотДт, |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт({(&НачалоПериода)}, {(&КонецПериода)}, , {(СчетДт)}, , {(СчетКт)}, , {(СубконтоДт1), (СубконтоДт2))}) КАК ХозрасчетныйОборотыДтКт |ИТОГИ | СУММА(СуммаОборот) |ПО | ОБЩИЕ"; мОтбор = Построитель.Отбор.Добавить("СубконтоДт1"); мОтбор.Использование = Истина; мОтбор.ВидСравнения = ВидСравнения.Равно; мОтбор.Значение = СтатьяЗатрат; мОтбор = Построитель.Отбор.Добавить("СубконтоДт2"); мОтбор.Использование = Истина; мОтбор.ВидСравнения = ВидСравнения.Равно; мОтбор.Значение = СтатьяЗатрат; В итоге текст запроса получается СубконтоДт1 = Парам И СубконтоДт2 = Парам Как сделать чтобы было ИЛИ ??? |
|||
1
Фокусник
08.10.15
✎
00:04
|
(0)
1. Сделать условие в тексте запроса Или 2. Сделать поле в запросе вида:
|
|||
2
GenV
08.10.15
✎
00:05
|
(0) Используй СКД - там есть группы условий
|
|||
3
psy_sln
08.10.15
✎
00:13
|
(2) С скд программно не работал, а этот запрос для печатной формы делаю
(1) А можно по подробней про условие в тексте запроса, у меня там не только статьи затрат, еще будет пару типов |
|||
4
Фокусник
08.10.15
✎
00:16
|
(3) если условия не меняемые программно, то проще их в параметрах виртуальной таблицы "РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт" сделать в тексте запроса. И не зачем здесь ппстроитель запроса и/или СКД...
|
|||
5
Chameleon1980
08.10.15
✎
00:28
|
скд чудо еще то
можешь функции даже вызывать, как в клюшках |
|||
6
GANR
08.10.15
✎
00:49
|
У виртуальной таблицы есть параметр в который можно передать последовательность субконто.
Построитель = Новый ПостроительЗапроса; Построитель.Текст = "ВЫБРАТЬ | ХозрасчетныйОборотыДтКт.СчетДт, | ХозрасчетныйОборотыДтКт.СчетКт, | ХозрасчетныйОборотыДтКт.СуммаОборот КАК СуммаОборот |ИЗ | РегистрБухгалтерии._ДемоОсновной.ОборотыДтКт({(&НачалоПериода)}, {(&КонецПериода)}, , {(СчетДт)}, {(&НаборСубконтоДт)}, {(СчетКт)}, , {(СубконтоДт1), (СубконтоДт2)}) КАК ХозрасчетныйОборотыДтКт |ИТОГИ | СУММА(СуммаОборот) |ПО | ОБЩИЕ"; Построитель.Параметры.Вставить("НаборСубконтоДт", ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ПланыВидовХарактеристик._ДемоВидыСубконто.Договоры)); |
|||
7
GANR
08.10.15
✎
00:50
|
(6) и тогда ИЛИ не понадобится))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |