|
КомпоновщикНастроек на форме | ☑ | ||
---|---|---|---|---|
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
|
Найдено, моет кому понадобится:
Редактирование настроек для не основной схемы компоновки данных Иногда требуется обеспечить редактирование настроек компоновки данных не для основной схемы компоновки данных отчета, либо вообще не в отчете. Для обеспечения редактирования настроек произвольной схемы компоновки данных нужно инициализировать компоновщик настроек источником доступных настроек. После инициализации компоновщика настроек он будет оперировать доступными полями схемы, источник которой ему установлен. В обычной форме можно использовать источник доступных настроек для схемы компоновки данных. Пример: КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема)); В данном примере предполагается, что в переменной Схема находится схема компоновки данных. В управляемой форме источник доступных настроек для схемы компоновки данных на клиенте работать не может. Поэтому в управляемой форме нужно создавать источник доступных настроек для адреса схемы компоновки данных. В качестве адреса схемы компоновки данных может выступать адрес во временном хранилище, в которое поместили схему компоновки данных, или адрес значения в записи базы данных. Пример создания источника доступных настроек для схемы, помещенной во временное хранилище: АдресСхемы = ПоместитьВоВременноеХранилище(Схема, УникальныйИдентификатор); КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы)); В данном примере во временное хранилище помещается схема компоновки данных, находящаяся в переменной Схема. Пример создания источника доступных настроек для схемы, расположенной в базе данных: АдресСхемы = ПолучитьНавигационнуюСсылку(Ссылка, "СхемаКомпоновкиДанных"); КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы)); В данном примере схема будет получаться базы данных, из реквизита с именем СхемаКомпоновкиДанных объекта со ссылкой Ссылка. |
Форум | Правила | Описание | Реклама | Секции | Поиск | Книга знаний | Вики-миста |