8.х Компановка данных программуируем вручную

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Muggsy, 30 мар 2011.

  1. TopicStarter Overlay
    Muggsy
    Offline

    Muggsy одно ЭС

    Регистрация:
    10 сен 2008
    Сообщения:
    243
    Симпатии:
    0
    Баллы:
    26
    Есть отчет, в шапке которого выбирается тип отчета, в зависимости от выбранного отчета выбирается свой макет компоновки и все хорошо было бы если бы не настройки. Я сделала фоому настроек, которую я вызываю после того как выбрали тип отчета, пишу так
    Код:
    если наименование = "Текущие и кап. ремонты" Тогда 
    схема = ПолучитьМакет("ТекущиеИКапитальныеРемонты");
    иначеесли  наименование = "Строительство и реконструкция" Тогда 
    схема = ПолучитьМакет("СтроительствоИРеконструкция");
    иначеесли  наименование = "Передача материалов заказчика на сторону" Тогда 
    схема = ПолучитьМакет("ПередачаМатериалов");
    иначеесли  наименование = "Списание материалов заказчика" Тогда 
    схема = ПолучитьМакет("СписаниеМатериалов");     
    иначеесли  наименование = "Списание материалов заказчика (44,91,10)" Тогда 
    схема = ПолучитьМакет("СписаниеМатериалов_44_91_10"); 
    иначеесли  наименование = "Отчет по договорам" Тогда 
    схема = ПолучитьМакет("Договоры"); 
    конецесли;
    Настройки = Схема.НастройкиПоУмолчанию;
    Форма = ПолучитьФорму("ФормаНастройки");
    Форма.ОтчетОбъект.КомпоновщикНастроек.Настройки = Настройки; //тут пишет настройки не доступно  
    //для записи
    Форма.ОткрытьМодально();
    Настройки = Форма.ОтчетОбъект.КомпоновщикНастроек.Настройки;	
    Компоновщик = новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = Компоновщик.Выполнить(Схема,Настройки);   
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
    ДокРезультат = ТабПоле;
    ДокРезультат.Очистить();
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    ДокРезультат.ОтображатьСетку = истина;
    ДокРезультат.Показать();
    
    
    То есть пытаюсь загрузить связать форму гнастроек с настройками, чтобы вылезла формочка, пользователь там настроился и дальше выводить отчет.
    Как форму связать с настройками ? :angry:
    Отчет прилагаю, открывать макеты компоновки не получится - отчет для самописной конфы

    Вложения:

  2. Oleg_NSK
    Offline

    Oleg_NSK Опытный в 1С

    Регистрация:
    25 окт 2010
    Сообщения:
    164
    Симпатии:
    0
    Баллы:
    26
    Не совсем понял что требуется. Но настройки получают так:

    Код:
    текНастройки = КомпоновщикНастроек.ПолучитьНастройки();
    
    а загружают так:

    Код:
    КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
    
  3. Oleg_NSK
    Offline

    Oleg_NSK Опытный в 1С

    Регистрация:
    25 окт 2010
    Сообщения:
    164
    Симпатии:
    0
    Баллы:
    26
    Кстати необязательно создавать форму. Можно восплользоваться методом:
    Код:
    ФормаНастроек = ПолучитьФормуНастроек();
    
  4. Oleg_NSK
    Offline

    Oleg_NSK Опытный в 1С

    Регистрация:
    25 окт 2010
    Сообщения:
    164
    Симпатии:
    0
    Баллы:
    26
    В общем посмотрел я твоё творение... :)
    Меняй строку:
    Код:
    Форма.ОтчетОбъект.КомпоновщикНастроек.Настройки = Настройки;
    
    на:
    Код:
    Форма.ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
    
  5. TopicStarter Overlay
    Muggsy
    Offline

    Muggsy одно ЭС

    Регистрация:
    10 сен 2008
    Сообщения:
    243
    Симпатии:
    0
    Баллы:
    26
    Большое человеческое спасибо :))) пошла менять :)

Поделиться этой страницей