Имя: Пароль:
1C
1С v8
Отчет с двумя ВТ, выбор ВТ в зависимости от условия
0 N-S-B
 
30.08.17
20:16
Есть отчет на СКД. В зависимости от значения параметра, данные должны тянуться либо из одного регистра, либо из другого.
Сделал две временные таблицы, в одной результат одного регистра, в другой соответственно другого.

В результирующем запросе две таблицы соединены полным соединением, вытягиваю поля по условию ВЫБОР КОГДА &Параметр = 1 ТОГДА ВТ1.Поле ИНАЧЕ ВТ2.Поле КОНЕЦ. В каждой ВТ так же стоит условие ВЫБОР КОГДА &Параметр <> 1 ТОГДА ЛОЖЬ КОНЕЦ, чтобы в результирующем запросе не было задвоений.

В принципе работает, но хочу узнать как правильно решить данную задачу, когда в зависимости от условия брать либо одну ВТ, либо другую.
1 Волшебник
 
модератор
30.08.17
20:18
Сделай 2 отчёта.
2 DrShad
 
30.08.17
20:36
правильно не делать лишних выборок
3 RS2017
 
30.08.17
20:37
(0) Зачем ты их соединяешь? Надо объединять.

Выбрать
..
ИЗ ВТ1 где &ИспользоватьВТ1
объединить все
Выбрать
..
ИЗ ВТ2 где &ИспользоватьВТ2
4 N-S-B
 
30.08.17
20:49
(3) Хм, действительно, так намного проще)
А остальное нормально, что во временной таблице просто стоит условие ВЫБОР КОГДА &Параметр <> 1 ТОГДА ЛОЖЬ КОНЕЦ ? Или может есть еще более оптимальный вариант?
5 RomaH
 
naïve
30.08.17
20:53
(4) в крайних версиях платформы можно писать просто
ГДЕ &Параметр = 1
6 RomaH
 
naïve
30.08.17
20:54
да и в более ранних тоже (в преложении ГДЕ)
(5) верно для значений полей
7 RS2017
 
30.08.17
20:55
(5) в условии (где) так можно было всегда (начиная с 8.0)
8 Филиал-msk
 
30.08.17
23:08
(4) ЛОЖЬ КОНЕЦ