Здравствуйте, конфигурация - BAS (2.1.33.8). 1С:Предприятие 8.3 (8.3.22.1750). Редактирую отчет, хочу добавить возможность строить отчет по выбранной валюте юзером. Но когда выбираю валюту и нажимаю Сформировать очищается параметр Валюта выбора и соответственно валюта не учитывается. Понимаю что или его очищаю при формировании, или использую не тот набор настроек при чтении параметра. Может кто-то поможет решить проблему.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПользовательскиеНастройкиМодифицированы = Ложь;
УстановитьОбязательныеНастройки(ПользовательскиеНастройкиМодифицированы);
// Сформируем отчет
НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
ТекстЗапроса = СхемаКомпоновкиДанных.НаборыДанных.ВыручкаИСебестоимостьПродаж.Запрос;
ТекстЗапроса = СтрЗаменить(
ТекстЗапроса,
"&ТекстЗапросаВесНоменклатуры1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаВесУпаковки("Таблица.Номенклатура.ЕдиницаИзмерения", "Таблица.Номенклатура"));
ТекстЗапроса = СтрЗаменить(
ТекстЗапроса,
"&ТекстЗапросаОбъемНоменклатуры1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаОбъемУпаковки("Таблица.Номенклатура.ЕдиницаИзмерения", "Таблица.Номенклатура"));
СхемаКомпоновкиДанных.НаборыДанных.ВыручкаИСебестоимостьПродаж.Запрос = ТекстЗапроса;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
КомпоновкаДанныхСервер.УстановитьЗаголовкиМакетаКомпоновки(СтруктураЗаголовковПолей(), МакетКомпоновки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КомпоновкаДанныхСервер.ОформитьДиаграммыОтчета(КомпоновщикНастроек, ДокументРезультат);
КомпоновкаДанныхСервер.СкрытьВспомогательныеПараметрыОтчета(СхемаКомпоновкиДанных, КомпоновщикНастроек, ДокументРезультат, ВспомогательныеПараметрыОтчета());
// Сообщим форме отчета, что настройки модифицированы
Если ПользовательскиеНастройкиМодифицированы Тогда
КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ПользовательскиеНастройкиМодифицированы", Истина);
КонецЕсли;
КонецПроцедуры
Показать
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
Настройки.События.ПриСозданииНаСервере = Истина;
Настройки.События.ПередЗагрузкойВариантаНаСервере = Истина;
Настройки.События.ПриЗагрузкеВариантаНаСервере = Истина;
КонецПроцедуры
&НаСервере
Процедура ПередЗагрузкойПользовательскихНастроекНаСервере(НовыеПользовательскиеНастройкиКД)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
// Подготовка к вызову события переинициализации.
Если НастройкиОтчета.События.ПередЗагрузкойНастроекВКомпоновщик Тогда
Попытка
НовыеПользовательскиеНастройкиXML = ОбщегоНазначения.ЗначениеВСтрокуXML(НовыеПользовательскиеНастройкиКД);
Исключение
НовыеПользовательскиеНастройкиXML = Неопределено;
КонецПопытки;
НастройкиОтчета.Вставить("НовыеПользовательскиеНастройкиXML", НовыеПользовательскиеНастройкиXML);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(НовыеПользовательскиеНастройкиКД)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
Если Не РежимВариантаОтчета Тогда
Возврат;
КонецЕсли;
// Вызов переопределяемого модуля.
Если НастройкиОтчета.События.ПриЗагрузкеПользовательскихНастроекНаСервере Тогда
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
ОтчетОбъект.ПриЗагрузкеПользовательскихНастроекНаСервере(ЭтотОбъект, НовыеПользовательскиеНастройкиКД);
КонецЕсли;
КонецПроцедуры
Показать