-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Labels
СКДСистема компоновки данныхСистема компоновки данных
Description
С учетом параметров-выражений
Текущая версия:
Какая-то шняга на обдумать:
Процедура СообщитьЗапрос()
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(
СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки());
НаборДанных = МакетКомпоновки.НаборыДанных.Получить(0);
Сообщить(НаборДанных.Запрос);
Возврат;
ПараметрыВыражения = Новый Массив;
//Запрос.Текст = НаборДанных.Запрос;
КоллекцииПараметров = Новый Массив;
КоллекцииПараметров.Добавить(МакетКомпоновки.ЗначенияПараметров);
КоллекцииПараметров.Добавить(НаборДанных.ЗначенияПараметров);
Запрос = Новый Запрос;
Для Каждого КоллекцияПараметров Из КоллекцииПараметров Цикл
Для Каждого ОписаниеПараметра Из КоллекцияПараметров Цикл
ЗначениеПараметра = ОписаниеПараметра.Значение;
Если ТипЗнч(ЗначениеПараметра) = Тип("ВыражениеКомпоновкиДанных") Тогда
ПараметрыВыражения.Добавить(ОписаниеПараметра);
Иначе
Запрос.УстановитьПараметр(ОписаниеПараметра.Имя, ОписаниеПараметра.Значение);
КонецЕсли;
КонецЦикла;
КонецЦикла;
Для Каждого ОписаниеПараметра Из ПараметрыВыражения Цикл
КомпоновщикПараметров = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикПараметров.Инициализировать(СхемаКомпоновкиДанных);
КомпоновщикПараметров.ЗагрузитьНастройки(КомпоновщикНастроек.ПолучитьНастройки());
НастройкиКомпоновщика = КомпоновщикПараметров.Настройки;
НастройкиКомпоновщика.УсловноеОформление.Элементы.Очистить();
НастройкиКомпоновщика.Структура.Очистить();
НастройкиКомпоновщика.Отбор.Элементы.Очистить();
НастройкиКомпоновщика.Выбор.Элементы.Очистить();
НастройкиКомпоновщика.ПараметрыВывода.Элементы.Очистить();
НастройкиКомпоновщика.Порядок.Элементы.Очистить();
//КомпоновщикПараметров.Настройки.Структура.Удалить(
Запрос.Текст = "ВЫБРАТЬ " + Строка(ОписаниеПараметра.Значение);
ВыборкаПараметра = Запрос.Выполнить().Выбрать();
ВыборкаПараметра.Следующий();
Запрос.УстановитьПараметр(ОписаниеПараметра.Имя, ВыборкаПараметра[0]);
КонецЦикла;
Запрос.Текст = НаборДанных.Запрос;
МеханизмыСхемыКомпоновкиДанных.ПоместитьОбъектЗапросаВОтладку(Запрос);
Сообщить(Запрос.Текст);
КонецПроцедуры
Metadata
Metadata
Assignees
Labels
СКДСистема компоновки данныхСистема компоновки данных