Настроки компоновщика настроек СКД

1. FUXEARA 02.08.24 00:08 Сейчас в теме
Доброго всем.
Подскажите с такой проблемой.
Передаю настройки из одного отчета СКД в другой.
В ПриСозданииНаСервере написал такое Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Параметры.Настройки)
После загрзузки проверял в отладчике, значения параметров данных в настройках есть, но потом когда открываю в модуле обьекта параметры данных в настройках компоновщика настроек, они пропадают и значения всех параметров пустые.
В чем проблема?
Почему между созданием на сервере и переходом в модуль объекта, настройки очищаются?
По теме из базы знаний
Найденные решения
11. Indgo 413 02.08.24 12:56 Сейчас в теме
(10)
не в модуле объекта получить ВнешниеНаборы , а передать в модуль объекта из другого отчета. Пока пытаюсь с переменными не получается

помести во временное хранилище, после используй в вышеуказанной процедуре.
12. FUXEARA 02.08.24 13:41 Сейчас в теме
(11) примерно так и сделал,только без вашего кода, но чтоб данные были видны в модуле объекта, добавил реквизит отчета с типом строка и далее ПоместитьВоВременноеХранилище и при компоновке ПолучитьИзвременногоХранилища.
Передал структурупараметров из другого отчета и уже в при компоновке, заполнил параметры настроек, как до этого делал в другом отчете. И все заработало.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Indgo 413 02.08.24 11:31 Сейчас в теме
4. FUXEARA 02.08.24 11:53 Сейчас в теме
(2) какой именно код? Тех настроек что передаю или результат загрузки ?
5. Indgo 413 02.08.24 12:08 Сейчас в теме
(4)
какой именно код? Тех настроек что передаю или результат загрузки ?

программный ;-)
3. user2033930 02.08.24 11:47 Сейчас в теме
От того, что в форме кто-то поменял реквизиты (данные формы) основного объекта - от этого никоим образом не изменился реальный прикладной объект на сервере.
6. FUXEARA 02.08.24 12:20 Сейчас в теме
код в другом отчете
	    ОткрытьФорму("Отчет.ДвижениеРезервов.Форма.ФормаОтчета",ПолучитьСтруктуруПараметров(СтруктураДанных),ЭтаФорма,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

&НаСервере
Функция ПолучитьСтруктуруПараметров(СтруктураДанных)  

	МассивНоменклатуры = Новый Массив;
	МассивНоменклатуры.Добавить(Справочники.Номенклатура.ПустаяСсылка());
	МассивНоменклатуры.Добавить(Неопределено); 
	
	МассивСклады = Новый Массив;
	МассивСклады.Добавить(Справочники.Склады.ПустаяСсылка());
	МассивСклады.Добавить(Неопределено);
    Настройки = Отчеты.ДвижениеРезервов.ПолучитьМакет("Макет").ВариантыНастроек.Основной.Настройки;
	Для Каждого ПараметрДанных Из Настройки.ПараметрыДанных.Элементы Цикл 
	    Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных("МассивНоменклатуры") Тогда 
	        ПараметрДанных.Использование = Истина;
	        ПараметрДанных.Значение = МассивНоменклатуры;
		КонецЕсли; 
	    Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных("МассивСклады") Тогда 
	        ПараметрДанных.Использование = Истина;
	        ПараметрДанных.Значение = МассивСклады;
		КонецЕсли; 
		Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных("НачалоПериода") Тогда 
	        ПараметрДанных.Использование = Истина;
	        ПараметрДанных.Значение = СтруктураДанных.НачалоПериода;
		КонецЕсли; 
		Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных("КонецПериода") Тогда 
	        ПараметрДанных.Использование = Истина;
	        ПараметрДанных.Значение = СтруктураДанных.КонецПериода;
		КонецЕсли;   
		Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных("Номенклатура") Тогда 
	        ПараметрДанных.Использование = Истина;
	        ПараметрДанных.Значение = СтруктураДанных.Номенклатура;
		КонецЕсли; 	
		Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных("Склад") Тогда 
	        ПараметрДанных.Использование = Истина;
	        ПараметрДанных.Значение = СтруктураДанных.Склад;
		КонецЕсли; 
	КонецЦикла; 
    СтруктураПараметры = Новый Структура("СформироватьПриОткрытии, КлючВарианта, Настройки", Истина, "Основной", Настройки);
    
КонецФункции
Показать


в самом отчете

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 
	Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Параметры.Настройки);
КонецПроцедуры

Результат загрузки приложил в скрине. Уже в модуле объекта, при компоновки результата, эти данные очищаются
Прикрепленные файлы:
7. Indgo 413 02.08.24 12:25 Сейчас в теме
А пользовательские настройки загрузили?
8. FUXEARA 02.08.24 12:31 Сейчас в теме
(7) искал, но там не совсем ясно как с ними работать. не совсем понятно как туда добавить элементы
9. Indgo 413 02.08.24 12:31 Сейчас в теме
(8)
Процедура ПриКомпоновкеРезультата( ТабличныйДокумент, ДанныеРасшифровки, СтандартнаяОбработка)
     СтандартнаяОбработка = Ложь;
     НастройкиКомпоновки = КомпоновщикНастроек.ПолучитьНастройки();
     КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
     МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки, ДанныеРасшифровки);
     Тз = ПолучитьМоюТаблицуЗначений() ; // это пользователькая функция в молуле обекта
      ВнешниеНаборы = Новый Структура("ТЗ", ТЗ);
     ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
     ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборы, ДанныеРасшифровки);
     ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
     ПроцессорВывода.УстановитьДокумент( ТабличныйДокумент );
     ПроцессорВывода.Вывести(ПроцессорКомпоновки);   
 КонецПроцедуры
Показать
10. FUXEARA 02.08.24 12:47 Сейчас в теме
(9) не совсем то что надо. мне надо не в модуле объекта получить ВнешниеНаборы , а передать в модуль объекта из другого отчета. Пока пытаюсь с переменными не получается
11. Indgo 413 02.08.24 12:56 Сейчас в теме
(10)
не в модуле объекта получить ВнешниеНаборы , а передать в модуль объекта из другого отчета. Пока пытаюсь с переменными не получается

помести во временное хранилище, после используй в вышеуказанной процедуре.
12. FUXEARA 02.08.24 13:41 Сейчас в теме
(11) примерно так и сделал,только без вашего кода, но чтоб данные были видны в модуле объекта, добавил реквизит отчета с типом строка и далее ПоместитьВоВременноеХранилище и при компоновке ПолучитьИзвременногоХранилища.
Передал структурупараметров из другого отчета и уже в при компоновке, заполнил параметры настроек, как до этого делал в другом отчете. И все заработало.
13. Indgo 413 02.08.24 14:13 Сейчас в теме
(12)
зит отчета с типом строка и далее ПоместитьВоВременноеХранилище и при компоновке ПолучитьИзвременногоХранилища.
Передал структурупараметров из другого

Ну супер.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот