|
СКД Программно сформовать вариант отчета | ☑ | ||
---|---|---|---|---|
0
kislitsin
15.10.18
✎
09:12
|
Доброго дня коллеги, помогите кто знает.
У меня отчет по внешним источникам данных с универсальной структурой которая формируется в зависимости от выбранной атблицы источника. Настройки СКД формирую кодом, как дать возможность пользователю редактировать созданные программно настройки ? т.е нужно сформировать вариант отчета который пользователь сможет отредактировать как это сделать ? |
|||
1
aleks_default
15.10.18
✎
09:15
|
Сделать форму отчета и вывести туда настройки?
|
|||
2
kislitsin
15.10.18
✎
09:21
|
нужно программно сформировать полностью вариант отчета, добавить выбранные поля, отборы и прочее, этот вариант должен быть доступен пользователю для редактирования.
|
|||
3
aleks_default
15.10.18
✎
09:33
|
Ну и что? Сформировал настройки. Загрузил их в компоновщик настроек компоновки данных и вывел его на форму. Что еще нужно? Или имеется ввиду что нет определенной схемы компоновки данных?
|
|||
4
kislitsin
15.10.18
✎
09:42
|
Дело в том что я видимо делаю это не правильно, отчет формируется по настройкам, однако при нажатии изменить вариант я не вижу сформированных настроек. Т.к похоже программно сформировал не пользовательский вариант отчета, а какой то "динамический", который пользователю недоступен
|
|||
5
hhhh
15.10.18
✎
09:44
|
(4) сформовал
|
|||
6
aleks_default
15.10.18
✎
09:49
|
Возвращай схему и сформированные настройки на клиент и загружай в компоновщик перед формированием отчета.
|
|||
7
aleks_default
15.10.18
✎
09:51
|
вернее не на клиент а в модуль формы
|
|||
8
kislitsin
15.10.18
✎
09:57
|
Можно маленький примерчик как загрузить настройки в модуле формы так чтобы их можно было отредактировать через изменить вариант ?
|
|||
9
aleks_default
15.10.18
✎
10:00
|
&НаСервере
Процедура ИнициализироватьКомпоновщикСервер() ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); Схема1 = ОтчетОбъект.ПолучитьСхемуКомпоновкиДанных("ОсновнаяСхемаКомпоновкиДанных"); АдресСхемы1 = ПоместитьВоВременноеХранилище(Схема1, УникальныйИдентификатор); Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы1)); // пытаемся загрузить настройки отбора сохраненные в реквизит при последнем закрытии обработки ПользовательскиеНастройкиЗагружены = Ложь; Если ЗначениеЗаполнено(Отчет.СохраненныеНастройкиКомпоновщика) тогда Попытка ХрНастроек = XMLЗначение(Тип("ХранилищеЗначения"),Отчет.СохраненныеНастройкиКомпоновщика); ПользовательскиеНастройкиКомпоновщика = ХрНастроек.Получить(); Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(ПользовательскиеНастройкиКомпоновщика); ПользовательскиеНастройкиЗагружены = Истина; Исключение Сообщить("Не удалось загрузить последние сохраненные настройки отбора. Загружены настройки по умолчанию!"); КонецПопытки; КонецЕсли; Если Не ПользовательскиеНастройкиЗагружены тогда УстановитьНастройкиПоУмолчаниюНаСервере(ОтчетОбъект); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) ИнициализироватьКомпоновщикСервер(); КонецПроцедуры |
|||
10
kislitsin
15.10.18
✎
10:06
|
Спасибо попробую
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |