|
Необязательные параметры вложенных схем СКД | ☑ | ||
---|---|---|---|---|
0
Peshalkin
24.01.22
✎
03:24
|
Коллеги, добрый день, столкнулся с проблемой - есть 2 вложенные схемы(набор данных запрос), в запросе есть 2 необязательных параметра(дата и фирма), так вот, в настройках вложенных схем связал параметры через "ОбъектНастройкиВладелец.ПараметрыДанных.Период" и фирма так же, но проблема в том, что если даже убираешь использование в предприятии у этих параметров, то в макете компоновщика почему-то остаётся фильтр по ним, как-то можно сделать, чтобы они не были не обязательными?
|
|||
1
Peshalkin
24.01.22
✎
09:29
|
up!
|
|||
2
Arh
25.05.22
✎
23:19
|
День убил на поиск решения, готового не нашел, получилось вот так:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Настройки = КомпоновщикНастроек.ПолучитьНастройки(); ПараметрыДанных = Настройки.ПараметрыДанных; ВидПробыИспользование = ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВидПробы")).Использование; Если ВидПробыИспользование = Ложь Тогда ПараметрВидПробы = Настройки.Структура[1].Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВидПробы")) ; Если ПараметрВидПробы <> Неопределено Тогда ПараметрВидПробы.Использование = Ложь; КонецЕсли; ПараметрВидПробы = Настройки.Структура[2].Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВидПробы")) ; Если ПараметрВидПробы <> Неопределено Тогда ПараметрВидПробы.Использование = Ложь; КонецЕсли; КонецЕсли; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, , , Ложь); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки, Истина); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); КонецПроцедуры По сути, программно снимаю галочки "Использовать" параметров на закладке "Настройки", в дереве структуры отчета, где выбраны вложенные схемы |
|||
3
Arh
27.05.22
✎
11:31
|
(2) Вот так правильнее будет:
|
|||
4
Arh
27.05.22
✎
11:33
|
(2) Вот так правильнее будет:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Настройки = КомпоновщикНастроек.ПолучитьНастройки(); Если Настройки.ДополнительныеСвойства.КлючВарианта = "ПолевыеДубликаты" Тогда Если Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВидПробы")).Использование = Ложь Тогда Для Каждого ЭлементСтруктуры Из Настройки.Структура Цикл Если ТипЗнч(ЭлементСтруктуры) = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда ПараметрВидПробы = ЭлементСтруктуры.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВидПробы")) ; Если ПараметрВидПробы <> Неопределено Тогда ПараметрВидПробы.Использование = Ложь; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, , , Ложь); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки, Истина); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); КонецПроцедуры |
|||
5
PLUT
27.05.22
✎
12:03
|
>Новый ПараметрКомпоновкиДанных("ВидПробы")
что-то из йувелирного... |
|||
6
АнализДанных
27.05.22
✎
15:33
|
(0) Если, через расширение языка запросов (через фигурные скобки) прописать эти параметры в тексте вложеного запроса?
{ГДЕ Таблица.Дата = &Период} |
|||
7
Arh
30.05.22
✎
14:45
|
(6) Так именно так оно и было (и в основной схеме и во вложенных фигурные скобки), но не работает, если пользователь снимает галочку, пишет чё-то типа нет параметра (в отладчике как раз видно, что во вложенный передается Null, а галочка в нем (во вложенном) не снимается)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |