Вход | Регистрация


СКД. Как сделать такое условие виртуальной таблицы?

СКД. Как сделать такое условие виртуальной таблицы?
Я
   DTX 4th
 
17.07.18 - 17:55
Есть параметр типа Булево: ТипВыборки. Если ТипВыборки = Истина, то нужно делать выборку из
РегистрНакопления.Регистр1.Обороты(&НП, &КП, Авто, )

Иначе из:
РегистрНакопления.Регистр1.Обороты(&НП, &КП, Авто, МойПериодИзмерение >= &НП И МойПериодИзмерение <= &КП)


Не могу сходу сообразить, как поизящнее провернуть такое. Чтобы не объединять две выборки.
 
 
   DTX 4th
 
1 - 17.07.18 - 17:56
Тьфу.
*Иначе из:
РегистрНакопления.Регистр1.Обороты(, , Авто, МойПериодИзмерение >= &НП И МойПериодИзмерение <= &КП)

   Ботаник Гарден Меран
 
2 - 17.07.18 - 17:59
Выбор ИЗ Табла1
Где &ТипВыборки
Объединить все
Выбор Из Табла2
Где Не &ТипВыборки
   Вафель
 
3 - 17.07.18 - 18:00
Делай кодом в обработчие ПриКомпановке
   DTX 4th
 
4 - 17.07.18 - 18:03
(2) Написал же "Чтобы не объединять две выборки."
У меня там и так две приличные выборки объединяются. Так их будет четыре. Не нужно.

(3) Произвольный отчет. Нет такой возможности. Выносить во внешний не хотелось бы.
   RomanYS
 
5 - 17.07.18 - 18:05
(4) Из каких соображений "Чтобы не объединять две выборки"?

Формируй текст запроса кодом.
   DTX 4th
 
6 - 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
Период = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период")).Значение;
   RomanYS
 
10 - 17.07.18 - 18:26
Не обратил внимание, что регистр один и тот же. Тогда всё просто:
РегистрНакопления.Регистр1.Обороты(&НП, &КП, Авто, &ТипВыборки  или (МойПериодИзмерение между &НП И &КП))
 
 Рекламное место пустует
   mmmarat
 
11 - 17.07.18 - 19:09
РегистрНакопления.Регистр1.Обороты(&НП, &КП, Авто, ВЫБОР КОГДА &ТипВыборки ТОГДА ИСТИНА ИНАЧЕ МойПериодИзмерение между &НП И &КП КОНЕЦ)
   DTX 4th
 
12 - 17.07.18 - 19:50
(10) (11) Там в (1) исправление :)

(7) Так и думал, но не осилил, что в &КП писать, чтобы без ограничения было, и чтобы в общую таблицу итогов попасть.
Надо потестить, мб Неопределено туда можно воткнуть.
   mistеr
 
13 - 17.07.18 - 19:57
(12) Именно Неопределено и нужно в &НП и &КП писать.
   DTX 4th
 
14 - 17.07.18 - 20:35
Ну вроде получилось.
ВЫБРАТЬ
    ПродажиОбороты.СтоимостьОборот
ИЗ
    РегистрНакопления.Продажи.Обороты({(&НП)}, {(&КПОбщ)}, , {НЕ &ПоУправленке ИЛИ ПериодПоУправленческомуУчету >= &КонецПериода}) КАК ПродажиОбороты


КПОбщ = ВЫБОР КОГДА НЕ &ПоУправленке Тогда &КонецПериода Иначе Неопределено Конец


У &ПоУправленке, &КонецПериода и &КПОбщ надо установить Использование в значение Всегда.

Всем спасибо!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует