Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

СКД Программно сформовать вариант отчета

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

    ПользовательскиеНастройкиЗагружены = Ложь;    
    Если ЗначениеЗаполнено(Отчет.СохраненныеНастройкиКомпоновщика) тогда        
        Попытка
            ХрНастроек = XMLЗначение(Тип("ХранилищеЗначения"),Отчет.СохраненныеНастройкиКомпоновщика); 
            ПользовательскиеНастройкиКомпоновщика = ХрНастроек.Получить();                
            Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(ПользовательскиеНастройкиКомпоновщика); 
            ПользовательскиеНастройкиЗагружены = Истина;
        Исключение    
            Сообщить("Не удалось загрузить последние сохраненные настройки отбора. Загружены настройки по умолчанию!");            
        КонецПопытки;                                           
    КонецЕсли;
    
    Если Не ПользовательскиеНастройкиЗагружены тогда                  
        УстановитьНастройкиПоУмолчаниюНаСервере(ОтчетОбъект);
    КонецЕсли;          
    
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
        
    ИнициализироватьКомпоновщикСервер();
    
КонецПроцедуры
   kislitsin
 
10 - 15.10.18 - 10:06
Спасибо попробую
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует