Доброго всем.
Подскажите с такой проблемой.
Передаю настройки из одного отчета СКД в другой.
В ПриСозданииНаСервере написал такое Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Параметры.Настройки)
После загрзузки проверял в отладчике, значения параметров данных в настройках есть, но потом когда открываю в модуле обьекта параметры данных в настройках компоновщика настроек, они пропадают и значения всех параметров пустые.
В чем проблема?
Почему между созданием на сервере и переходом в модуль объекта, настройки очищаются?
Подскажите с такой проблемой.
Передаю настройки из одного отчета СКД в другой.
В ПриСозданииНаСервере написал такое Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Параметры.Настройки)
После загрзузки проверял в отладчике, значения параметров данных в настройках есть, но потом когда открываю в модуле обьекта параметры данных в настройках компоновщика настроек, они пропадают и значения всех параметров пустые.
В чем проблема?
Почему между созданием на сервере и переходом в модуль объекта, настройки очищаются?
По теме из базы знаний
Найденные решения
(11) примерно так и сделал,только без вашего кода, но чтоб данные были видны в модуле объекта, добавил реквизит отчета с типом строка и далее ПоместитьВоВременноеХранилище и при компоновке ПолучитьИзвременногоХранилища.
Передал структурупараметров из другого отчета и уже в при компоновке, заполнил параметры настроек, как до этого делал в другом отчете. И все заработало.
Передал структурупараметров из другого отчета и уже в при компоновке, заполнил параметры настроек, как до этого делал в другом отчете. И все заработало.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
код в другом отчете
в самом отчете
Результат загрузки приложил в скрине. Уже в модуле объекта, при компоновки результата, эти данные очищаются
ОткрытьФорму("Отчет.ДвижениеРезервов.Форма.ФормаОтчета",ПолучитьСтруктуруПараметров(СтруктураДанных),ЭтаФорма,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
&НаСервере
Функция ПолучитьСтруктуруПараметров(СтруктураДанных)
МассивНоменклатуры = Новый Массив;
МассивНоменклатуры.Добавить(Справочники.Номенклатура.ПустаяСсылка());
МассивНоменклатуры.Добавить(Неопределено);
МассивСклады = Новый Массив;
МассивСклады.Добавить(Справочники.Склады.ПустаяСсылка());
МассивСклады.Добавить(Неопределено);
Настройки = Отчеты.ДвижениеРезервов.ПолучитьМакет("Макет").ВариантыНастроек.Основной.Настройки;
Для Каждого ПараметрДанных Из Настройки.ПараметрыДанных.Элементы Цикл
Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных("МассивНоменклатуры") Тогда
ПараметрДанных.Использование = Истина;
ПараметрДанных.Значение = МассивНоменклатуры;
КонецЕсли;
Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных("МассивСклады") Тогда
ПараметрДанных.Использование = Истина;
ПараметрДанных.Значение = МассивСклады;
КонецЕсли;
Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных("НачалоПериода") Тогда
ПараметрДанных.Использование = Истина;
ПараметрДанных.Значение = СтруктураДанных.НачалоПериода;
КонецЕсли;
Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных("КонецПериода") Тогда
ПараметрДанных.Использование = Истина;
ПараметрДанных.Значение = СтруктураДанных.КонецПериода;
КонецЕсли;
Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных("Номенклатура") Тогда
ПараметрДанных.Использование = Истина;
ПараметрДанных.Значение = СтруктураДанных.Номенклатура;
КонецЕсли;
Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных("Склад") Тогда
ПараметрДанных.Использование = Истина;
ПараметрДанных.Значение = СтруктураДанных.Склад;
КонецЕсли;
КонецЦикла;
СтруктураПараметры = Новый Структура("СформироватьПриОткрытии, КлючВарианта, Настройки", Истина, "Основной", Настройки);
КонецФункции
Показатьв самом отчете
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Параметры.Настройки);
КонецПроцедуры
Результат загрузки приложил в скрине. Уже в модуле объекта, при компоновки результата, эти данные очищаются
Прикрепленные файлы:
(8)
Процедура ПриКомпоновкеРезультата( ТабличныйДокумент, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
НастройкиКомпоновки = КомпоновщикНастроек.ПолучитьНастройки();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки, ДанныеРасшифровки);
Тз = ПолучитьМоюТаблицуЗначений() ; // это пользователькая функция в молуле обекта
ВнешниеНаборы = Новый Структура("ТЗ", ТЗ);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборы, ДанныеРасшифровки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент( ТабличныйДокумент );
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры
Показать
(11) примерно так и сделал,только без вашего кода, но чтоб данные были видны в модуле объекта, добавил реквизит отчета с типом строка и далее ПоместитьВоВременноеХранилище и при компоновке ПолучитьИзвременногоХранилища.
Передал структурупараметров из другого отчета и уже в при компоновке, заполнил параметры настроек, как до этого делал в другом отчете. И все заработало.
Передал структурупараметров из другого отчета и уже в при компоновке, заполнил параметры настроек, как до этого делал в другом отчете. И все заработало.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот