Имя: Пароль:
1C
1С v8
КомпоновщикНастроек.ЗагрузитьНастройки
,
0 2307861c
 
26.08.11
19:49
Есть отчет, программно настраиваю структуру отчета. Потом выполняю


   Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Отчет.КомпоновщикНастроек.ПолучитьНастройки());
   ЭтаФорма.СкомпоноватьРезультат();

Так вот непонятно первый раз выдает отчет как настроен в схеме коспоновки данных, а дальше при программно изменении структуры отчета   все срабатует с первого раза.
Что я упустил?
1 vmv
 
26.08.11
19:50
обманщик
2 2307861c
 
26.08.11
19:51
(1)В каком плане?
3 2307861c
 
26.08.11
19:52
Вот полный текст что выполняю

&НаСервере
Процедура СформироватьНаСервере()
   
   СхемаКомпоновкиДанных = этаформа..ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
   Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Отчет.КомпоновщикНастроек.ПолучитьНастройки());
   ЭтаФорма.СкомпоноватьРезультат();
   
КонецПроцедуры    

&НаКлиенте
Процедура Сформировать(Команда)
   
   
   Отчет.КомпоновщикНастроек.Настройки.Структура.Очистить();
   
   КоличествоГруппировок = 0;
   
   СтруктураКомпоновщика = Отчет.КомпоновщикНастроек.Настройки.Структура;
   
   
   
   Для Каждого ЗначениеСпискаГруппировок Из СписокГруппировок Цикл
       
       Если ЗначениеСпискаГруппировок.Пометка Тогда
       
           ПолеГруппировки = Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляГруппировок.Элементы.Найти(ЗначениеСпискаГруппировок.Значение);

           ПолеСтруктуры = СтруктураКомпоновщика.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
           ПолеСтруктуры.Использование = Истина;
           
           Поле = ПолеСтруктуры.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
           Поле.Использование = Истина;
           Поле.Поле = ПолеГруппировки.Поле;
           
           ПолеВыбора = ПолеСтруктуры.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
           ПолеВыбора.Использование = Истина;
           
           СтруктураКомпоновщика =  СтруктураКомпоновщика[0].Структура;
           
           КоличествоГруппировок = КоличествоГруппировок + 1;
           
       КонецЕсли;    
       
   КонецЦикла;
   
   
   Отчет.КомпоновщикНастроек.Настройки.Порядок.Элементы.Очистить();
   Для Каждого ЗначениеСпискаСортировок Из СписокСортировка Цикл
       
       Если ЗначениеСпискаСортировок.Пометка Тогда
       
           ПолеСортировки = Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляПорядка.Элементы.Найти(ЗначениеСпискаСортировок.Значение);
           
           Поле = Отчет.КомпоновщикНастроек.Настройки.Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
           Поле.Использование = Истина;
           Поле.Поле = ПолеСортировки.Поле;
           
                   
       КонецЕсли;    
       
   КонецЦикла;
   
   
   СформироватьНаСервере();
   
КонецПроцедуры
4 2307861c
 
26.08.11
19:53
Вернее Сформировать НаСервер вот так
&НаСервере
Процедура СформироватьНаСервере()
 
   Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Отчет.КомпоновщикНастроек.ПолучитьНастройки());
   ЭтаФорма.СкомпоноватьРезультат();
   
КонецПроцедуры
5 2307861c
 
30.08.11
17:47
UP. Люди помогите.
6 Mort
 
30.08.11
17:50
А в чем глубинный смысл этой строки?

Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Отчет.КомпоновщикНастроек.ПолучитьНастройки());
7 2307861c
 
30.08.11
17:55
(6)Я получается делаю структуру программно и пробовал вот так подтянуть настройки созданные программно.
8 acsent
 
30.08.11
17:56
Зачем из самого себя загружать настройки то?
9 2307861c
 
30.08.11
17:57
(8) А как вобще тогда правильно? Только что убрал
Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Отчет.КомпоновщикНастроек.ПолучитьНастройки());

стало еще хуже то на второй раз правильно формировало, сейчас вобще правильно не формирует и на 10 раз.
10 acsent
 
30.08.11
17:59
В управляемой форме НЕТ схемы, поэтому юзать метод формы скомпоновать результат нельзя
11 acsent
 
30.08.11
18:00
И вообще настройки устанвливатьь нужно в модуле отчета в соотв. процедуре
12 2307861c
 
30.08.11
18:05
(10) С этим не согласен

Расширение управляемой формы для отчета (Managed form extenstion for reports)
СкомпоноватьРезультат (ComposeResult)
Синтаксис:

СкомпоноватьРезультат(<РежимКомпоновки>)
Параметры:

<РежимКомпоновки> (необязательный)

Тип: РежимКомпоновкиРезультата. Задает режим формирования результата.
Значение по умолчанию: Непосредственно
Описание:

Доступен только в форме отчета.
Выводит отчет с текущими настройками в элемент - результат.
Заполняет данные расшифровки.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент.
13 2307861c
 
30.08.11
18:05
(10)
Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент.
14 2307861c
 
30.08.11
18:10
Все разобрался, нужно было
   Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Отчет.КомпоновщикНастроек.Настройки);