Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Две схемы компоновки данных

Две схемы компоновки данных
Я
   Niik
 
11.12.18 - 00:59
Есть отчет, с двумя схемами компоновки данных. Две формы отчета. На первой форме есть кнопка, которая открывает вторую
форму отчета. При нажатии на кнопку должна открываться форма и формируется отчет по не основной схеме компоновки данных.
Так же из первой формы передаются два параметра во вторую схему компоновки данных.

В модуле события при компоновке результата срабатывает только так:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)  
    
    СхемаКомпоновкиДанных = ПолучитьМакет("Макет2");
        
    Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);    
        
КонецПроцедуры

При попытке установить параметры программа их игнорирует

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)  Экспорт
    
    СхемаКомпоновкиДанных = ПолучитьМакет("Макет2");
    
    КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("параметр1", параметр1);
    КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("параметр2", параметр2);
    
    Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);    
        
КонецПроцедуры

Если СтандартнаяОбработка = ложь, то совсем ничего не выводит:

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

как передать параметры во вторую схему?
 
 
   Casey1984
 
2 - 11.12.18 - 01:18
ИТС - всему голова!

https://its.1c.ru/db/metod8dev#content:3480:hdoc

(чета сайт тормозит, не вижу своего поста, продублирую)
   Niik
 
3 - 11.12.18 - 02:14
(2) спасибо! помогло
   Niik
 
4 - 11.12.18 - 02:36
а как сделать, чтобы при открытии второй формы, сразу формировался отчет? Пробовала
Процедура ПриОткрытии()    
    
    ЭтотОбъект.ПриКомпоновкеРезультата(ЭлементыФормы.Результат, ,);        

КонецПроцедуры

не работает.

Так же при открытии настроек СКД из второй формы, и при изменении настроек, отчет выводится со старыми настройками.
   Web00001
 
5 - 11.12.18 - 02:46

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует