Имя: Пароль:
1C
1С v8
СКД: Определить включен или нет пользовательский отбор
0 PuhUfa
 
30.07.21
10:49
Есть простой запрос на СКД:

ВЫБРАТЬ
    ЗаказКлиентаТовары.Номенклатура КАК Номенклатура
ПОМЕСТИТЬ ФильтрПоЗаказу
ИЗ
    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
{ГДЕ
    ЗаказКлиентаТовары.Ссылка КАК ЗаказКлиентДляОтбора}
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Номенклатура.Наименование КАК Наименование,
    Номенклатура.Ссылка КАК Ссылка
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.Ссылка В
            (ВЫБРАТЬ
                ФильтрПоЗаказу.Номенклатура
            ИЗ
                ФильтрПоЗаказу КАК ФильтрПоЗаказу)

В настройка СКД, поле ЗаказКлиентДляОтбора, добавлено в отбор. Все хорошо. Выбираем Заказ клиента, в отчет попадает только номенклатура этого заказа. Но вот если мы выключаем отбор, то в отчет попадает номенклатура из всех Заказов клиента. А хочется что бы попадала вообще вся номенклатура. Т.е. что бы, например, было так:

ГДЕ
    КОГДА &ОтборПоЗаказуВключен
        ТОГДА Номенклатура.Ссылка В
            (ВЫБРАТЬ
                ФильтрПоЗаказу.Номенклатура
            ИЗ
                ФильтрПоЗаказу КАК ФильтрПоЗаказу)
    ИНАЧЕ Истина
    КОНЕЦ

Понимаю, что можно это сделать ПриКомпоновкеРезультата, но можно ли это сделать в настройках самой СКД?
1 Малыш Джон
 
30.07.21
10:54
(0) в схеме компоновки данных нет пользовательских отборов
Они появляются в макете компоновке данных
2 PuhUfa
 
30.07.21
11:00
(1) Ну если брать именно вариант с &ОтборПоЗаказуВключен, то параметр доступен на закладке Параметры. Вдруг там можно как то извратится и задавать его как значением вкл/выкл из отбора -)
Мне так, для общего развития так сказать -)
3 Малыш Джон
 
30.07.21
11:06
(2) >>Вдруг там можно как то извратится

если тебе нужно использовать пользовательский отбор, то нужно использовать стандартный функционал СКД, а не извращаться.
В запросе убери " Номенклатура.Ссылка В (ВЫБРАТЬ..." и добавь поле Заказ.
Вкладка "Настройка", внизу вкладка "Отбор". Там добавь отбор по этому полю.
4 Малыш Джон
 
30.07.21
11:07
ВЫБРАТЬ
    ЗаказКлиентаТовары.Номенклатура КАК Номенклатура
    ЗаказКлиентаТовары.Ссылка       КАК ЗаказКлиента
ИЗ
    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
5 PuhUfa
 
30.07.21
11:11
(4) В реальном отчете все гораздо сложнее. В (0) просто пример что бы не вываливать сюда тонны ненужных строк -) Но все равно спасибо!