Имя: Пароль:
   
1C
 
СКД. Как сделать такое условие виртуальной таблицы?
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
Ну вроде получилось.
ВЫБРАТЬ
    ПродажиОбороты.СтоимостьОборот
ИЗ
    РегистрНакопления.Продажи.Обороты({(&НП)}, {(&КПОбщ)}, , {НЕ &ПоУправленке ИЛИ ПериодПоУправленческомуУчету >= &КонецПериода}) КАК ПродажиОбороты


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


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

Всем спасибо!
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.