| 
    
        
     
     | 
    
  | 
КомпоновщикНастроек на форме | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Sasha_H    
     03.04.12 
            ✎
    10:46 
 | 
         
        Преветствую.
  
        Не получается на форме обработки программно подружить Настройки СКД. Эта обработка не имеет основной СКД для формы, так как здесь должно быть несколько схем компоновки и на закладках формы должны выводится определенные результаты со-но чтобы можно было донастроить каждую из них. Для реализации сего я разбил формы по закладкам и к примеру на закладки "Продажи" помещаю "КомпоновщикНастроекКомпоновкиДанных" и перетаскиваю для визуализации (ПараметрыДанных, НастройкиОтбор, НастройкиВыбор). Есть сам макет скд (продажи). Так вот начинаю в коде все это обрабатывать: МОДУЛЬОБЪЕКТА: Функция ПолучитьСхемуПродажи() Экспорт Возврат ПолучитьМакет("Продажи"); КонецФункции МОДУЛЬФОРМЫ: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) УстановитьНачальныеНастройкиВыгрузки(); КонецПроцедуры &НаСервере Процедура УстановитьНачальныеНастройкиВыгрузки() ЭтотОбъект = РеквизитФормыВЗначение("Объект"); СхемаКомпоновкиПродажи = ЭтотОбъект.ПолучитьСхемуПродажи(); КомпоновщикНастроекПродаж.ЗагрузитьНастройки(СхемаКомпоновкиПродажи.НастройкиПоУмолчанию); КомпоновщикНастроекПродаж.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиПродажи)); КонецПроцедуры Результат на форме удивил: http://gyazo.com/50a14b1e893bd2906baa19e1cbca690f поля выбора не найдены. А вот программный код команды "Отобразить продажи": &НаКлиенте Процедура ОтобразитьПродажи(Команда) ПрочитатьДанныеПоПродажам(); КонецПроцедуры &НаСервере Процедура ПрочитатьДанныеПоПродажам() РезультатПродажи.Очистить(); ЭтотОбъект = РеквизитФормыВЗначение("Объект"); СхемаКомпоновкиПродажи = ЭтотОбъект.ПолучитьСхемуПродажи(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; //Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиПродажи,СхемаКомпоновкиПродажи.НастройкиПоУмолчанию); Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиПродажи,КомпоновщикНастроекПродаж.ПолучитьНастройки()); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(Макет); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(РезультатПродажи); ПроцессорВывода.Вывести(ПроцессорКомпоновки); КонецПроцедуры И результат на форме отображается по настройкам СКД макета (Продажи). Подскажите, почему настройки не до конча отображаются. И если я на форме указываю период то он не влияет на формирование результата.... Очень буду благодарен.  | 
|||
| 
    1
    
        Sasha_H    
     03.04.12 
            ✎
    10:51 
 | 
         
        Еще дополню, что тестировал на отчете отдельном без программной реализации, все нормально работает, период, отборы все нормально проходит.     
         | 
|||
| 
    2
    
        Sasha_H    
     03.04.12 
            ✎
    11:04 
 | 
         
        Люди разве никто не сталкивался, я тут на форуме поиском прошуршал делали такое, что я не так делаю, почему программно не отображаются корректно настройки?!     
         | 
|||
| 
    3
    
        Sasha_H    
     03.04.12 
            ✎
    11:27 
 | 
         
        +ап     
         | 
|||
| 
    4
    
        Sasha_H    
     03.04.12 
            ✎
    11:52 
 | 
         
        еще разок апну     
         | 
|||
| 
    5
    
        Sasha_H    
     03.04.12 
            ✎
    12:30 
 | 
         
        Найдено, моет кому понадобится:
  
        Редактирование настроек для не основной схемы компоновки данных Иногда требуется обеспечить редактирование настроек компоновки данных не для основной схемы компоновки данных отчета, либо вообще не в отчете. Для обеспечения редактирования настроек произвольной схемы компоновки данных нужно инициализировать компоновщик настроек источником доступных настроек. После инициализации компоновщика настроек он будет оперировать доступными полями схемы, источник которой ему установлен. В обычной форме можно использовать источник доступных настроек для схемы компоновки данных. Пример: КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема)); В данном примере предполагается, что в переменной Схема находится схема компоновки данных. В управляемой форме источник доступных настроек для схемы компоновки данных на клиенте работать не может. Поэтому в управляемой форме нужно создавать источник доступных настроек для адреса схемы компоновки данных. В качестве адреса схемы компоновки данных может выступать адрес во временном хранилище, в которое поместили схему компоновки данных, или адрес значения в записи базы данных. Пример создания источника доступных настроек для схемы, помещенной во временное хранилище: АдресСхемы = ПоместитьВоВременноеХранилище(Схема, УникальныйИдентификатор); КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы)); В данном примере во временное хранилище помещается схема компоновки данных, находящаяся в переменной Схема. Пример создания источника доступных настроек для схемы, расположенной в базе данных: АдресСхемы = ПолучитьНавигационнуюСсылку(Ссылка, "СхемаКомпоновкиДанных"); КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы)); В данном примере схема будет получаться базы данных, из реквизита с именем СхемаКомпоновкиДанных объекта со ссылкой Ссылка.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |