Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- &НаКлиенте
- Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
- СтандартнаяОбработка = Ложь;
- ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы);
- ОбработкаРасшифровкиКД = Новый ОбработкаРасшифровкиКомпоновкиДанных(АдресДанныеРасшифровки, ИсточникНастроек);
- ВыполненноеДействие = Неопределено;
- ПараметрДействия = Неопределено;
- ОбработкаРасшифровкиКД.ВыбратьДействие(Расшифровка, ВыполненноеДействие, ПараметрДействия);
- Если ВыполненноеДействие <> ДействиеОбработкиРасшифровкиКомпоновкиДанных.Нет Тогда
- Если ВыполненноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение Тогда
- ОткрытьЗначение(ПараметрДействия);
- Иначе
- Парам = Новый Структура;
- Парам.Вставить("ВнешниеНаборыДанных", ПолучитьИзВременногоХранилища(АдресВнешниеНаборыДанных));
- Парам.Вставить("НаименованиеОтчета", НаименованиеОтчета);
- Парам.Вставить("ПолноеНаименованиеОтчета", ПолноеНаименованиеОтчета);
- Схема = АдресСхемы;
- Парам.Вставить("Схема", Схема);
- Парам.Вставить("ИмяТекущегоВарианта", ИмяТекущегоВарианта);
- Парам.Вставить("СформироватьПриОткрытии", Истина);
- Парам.Вставить("Расшифровка", Новый ОписаниеОбработкиРасшифровкиКомпоновкиДанных(АдресДанныеРасшифровки, Расшифровка, ПараметрДействия));
- ОткрытьФорму("ОбщаяФорма.mavОбщаяФормаОтчетаУправляемая", Парам, ,Истина)
- КонецЕсли;
- КонецЕсли;
- КонецПроцедуры
- &НаСервере
- Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
- ВнешниеНаборыДанных = Неопределено;
- Параметры.Свойство("ВнешниеНаборыДанных", ВнешниеНаборыДанных);
- Параметры.Свойство("ПолноеНаименованиеОтчета", ПолноеНаименованиеОтчета);
- Параметры.Свойство("ИмяТекущегоВарианта", ИмяТекущегоВарианта);
- Параметры.Свойство("АдресХраненияФормы", АдресХраненияФормы);
- Расшифровка = Неопределено;
- Параметры.Свойство("Расшифровка", Расшифровка);
- Параметры.Свойство("СформироватьПриОткрытии", СформироватьПриОткрытии);
- ЭтаФорма.Заголовок = ПолноеНаименованиеОтчета;
- АдресВнешниеНаборыДанных = ПоместитьВоВременноеХранилище(ВнешниеНаборыДанных, УникальныйИдентификатор);
- НаименованиеОтчета = Параметры.НаименованиеОтчета;
- Схема = Параметры.Схема;
- Если ТипЗнч(Схема) <> Тип("СхемаКомпоновкиДанных") Тогда
- Схема = ПолучитьИзВременногоХранилища(Схема);
- КонецЕсли;
- АдресСхемы = ПоместитьВоВременноеХранилище(Схема, УникальныйИдентификатор);
- ИнициализироватьКомпоновщик(КомпоновщикНастроек, АдресСхемы);
- //TODO проверить, может нужно для расшифровки
- //TODO проверить, может при пустых настройках требуется.
- //скорее всего дублируется в других местах
- //Если ЗначениеЗаполнено(ИмяТекущегоВарианта) Тогда
- // ВыбранныйВариант = Схема.ВариантыНастроек.Найти(ИмяТекущегоВарианта);
- // Если ВыбранныйВариант = Неопределено Тогда
- // ВыбранныйВариант = Схема.ВариантыНастроек[0];
- // ИмяТекущегоВарианта = Схема.ВариантыНастроек[0].Имя;
- // КонецЕсли;
- // КомпоновщикНастроек.ЗагрузитьНастройки(ВыбранныйВариант.Настройки);
- // НаименованиеТекущегоВарианта = ВыбранныйВариант.Представление;
- //КонецЕсли;
- Если Расшифровка <> Неопределено Тогда
- УжеЕстьНастройки = Истина;
- НаименованиеТекущегоВарианта = "Расшифровка";
- ИмяТекущегоВарианта = "";
- ДанныеРасшифровкиОбъект = ПолучитьИзВременногоХранилища(Расшифровка.Данные);
- ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровкиОбъект, Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы));
- РезультирующиеНастройки = ОбработкаРасшифровки.ПрименитьНастройки(Расшифровка.Идентификатор, Расшифровка.ПрименяемыеНастройки);
- Если ТипЗнч(РезультирующиеНастройки) = Тип("НастройкиКомпоновкиДанных") Тогда
- КомпоновщикНастроек.ЗагрузитьНастройки(РезультирующиеНастройки);
- ИначеЕсли ТипЗнч(РезультирующиеНастройки) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда
- КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(РезультирующиеНастройки);
- КонецЕсли;
- КонецЕсли;
- КонецПроцедуры
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement