|
СКД. Как сделать такое условие виртуальной таблицы? |
☑ |
0
DTX 4th
17.07.18
✎
17:55
|
Есть параметр типа Булево: ТипВыборки. Если ТипВыборки = Истина, то нужно делать выборку из
РегистрНакопления.Регистр1.Обороты(&НП, &КП, Авто, )
Иначе из:
РегистрНакопления.Регистр1.Обороты(&НП, &КП, Авто, МойПериодИзмерение >= &НП И МойПериодИзмерение <= &КП)
Не могу сходу сообразить, как поизящнее провернуть такое. Чтобы не объединять две выборки.
|
|
1
DTX 4th
17.07.18
✎
17:56
|
Тьфу.
*Иначе из:
РегистрНакопления.Регистр1.Обороты(, , Авто, МойПериодИзмерение >= &НП И МойПериодИзмерение <= &КП)
|
|
2
Ботаник Гарден Меран
17.07.18
✎
17:59
|
Выбор ИЗ Табла1
Где &ТипВыборки
Объединить все
Выбор Из Табла2
Где Не &ТипВыборки
|
|
3
Вафель
17.07.18
✎
18:00
|
Делай кодом в обработчие ПриКомпановке
|
|
4
DTX 4th
17.07.18
✎
18:03
|
(2) Написал же "Чтобы не объединять две выборки."
У меня там и так две приличные выборки объединяются. Так их будет четыре. Не нужно.
(3) Произвольный отчет. Нет такой возможности. Выносить во внешний не хотелось бы.
|
|
5
RomanYS
17.07.18
✎
18:05
|
(4) Из каких соображений "Чтобы не объединять две выборки"?
Формируй текст запроса кодом.
|
|
6
DTX 4th
17.07.18
✎
18:06
|
(5) Чтобы не терять читабельность запроса. Если это можно сделать иначе, то было бы, как минимум, интересно об этом узнать.
|
|
7
Вафель
17.07.18
✎
18:16
|
(6) Период на форме. В зависимости от варианте устанавливаешь параметры или отбор
|
|
8
Вафель
17.07.18
✎
18:16
|
текст
РегистрНакопления.Регистр1.Обороты(&НП, &КП, Авто, {МойПериодИзмерение})
|
|
9
Вафель
17.07.18
✎
18:17
|
Период = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период")).Значение;
|
|
10
RomanYS
17.07.18
✎
18:26
|
Не обратил внимание, что регистр один и тот же. Тогда всё просто:
РегистрНакопления.Регистр1.Обороты(&НП, &КП, Авто, &ТипВыборки или (МойПериодИзмерение между &НП И &КП))
|
|
11
mmmarat
17.07.18
✎
19:09
|
РегистрНакопления.Регистр1.Обороты(&НП, &КП, Авто, ВЫБОР КОГДА &ТипВыборки ТОГДА ИСТИНА ИНАЧЕ МойПериодИзмерение между &НП И &КП КОНЕЦ)
|
|
12
DTX 4th
17.07.18
✎
19:50
|
(10) (11) Там в (1) исправление :)
(7) Так и думал, но не осилил, что в &КП писать, чтобы без ограничения было, и чтобы в общую таблицу итогов попасть.
Надо потестить, мб Неопределено туда можно воткнуть.
|
|
13
mistеr
17.07.18
✎
19:57
|
(12) Именно Неопределено и нужно в &НП и &КП писать.
|
|
14
DTX 4th
17.07.18
✎
20:35
|
Ну вроде получилось.
ВЫБРАТЬ
ПродажиОбороты.СтоимостьОборот
ИЗ
РегистрНакопления.Продажи.Обороты({(&НП)}, {(&КПОбщ)}, , {НЕ &ПоУправленке ИЛИ ПериодПоУправленческомуУчету >= &КонецПериода}) КАК ПродажиОбороты
КПОбщ = ВЫБОР КОГДА НЕ &ПоУправленке Тогда &КонецПериода Иначе Неопределено Конец
У &ПоУправленке, &КонецПериода и &КПОбщ надо установить Использование в значение Всегда.
Всем спасибо!
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший