|
Как программно сформировать отчет на СКД и вывести настройки в пользовательских | ☑ | ||
---|---|---|---|---|
0
al_zzz
16.09.14
✎
07:38
|
Хочу вывести сформированный отчет программно пользователю, чтоб были заполнены пользовательские настройки. Код такой: &НаКлиенте
Процедура ОткрытьКалендарьБронирования(Команда) Если Не ЗначениеЗаполнено(Объект.Подразделение) Тогда Предупреждение("Не выбран объект бронирования!") КонецЕсли; ПараметрКоманды = СтруктураКалендаряБронированияНаСервере(); ОткрытьФорму("Отчет.КС_КалендарьБронирования.Форма", Новый Структура("КлючВарианта, КлючНазначенияИспользования, ПараметрыОтчета, СформироватьПриОткрытии", "ИзДокумента", ПараметрКоманды, ПараметрКоманды, Истина), , "ДокументБронирования=" + Объект.Ссылка, ); КонецПроцедуры &НаСервере Функция СтруктураКалендаряБронированияНаСервере() Структура = Новый Структура; Структура.Вставить("НачалоПериода",НачалоДня(ТекущаяДата())); Структура.Вставить("КонецПериода",КонецДня(НачалоДня(ТекущаяДата())+30*24*60*60)); Структура.Вставить("ТекущаяДата",ТекущаяДата()); Структура.Вставить("Подразделение",Объект.Подразделение); Возврат Структура; КонецФункции В форме отчета: &НаСервере // Процедура - обработчик события "ПриСозданииНаСервере" формы. // Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; //Если Не Параметры.Свойство("Заказ") Тогда // // Сообщение = Новый СообщениеПользователю(); // Сообщение.Текст = НСтр("ru = 'Вызов отчета возможен только из документа ""Заказ покупателя""!'"); // Сообщение.Сообщить(); // // Отказ = Истина; // Возврат; // //КонецЕсли; ПараметрыСКД = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных; ПараметрСКДТекДата = ПараметрыСКД.Элементы.Найти("ТекущаяДата"); ПараметрСКДПодр = ПараметрыСКД.Элементы.Найти("Подразделение"); ПараметрСКДНП = ПараметрыСКД.Элементы.Найти("НачалоПериода"); ПараметрСКДКП = ПараметрыСКД.Элементы.Найти("КонецПериода"); Попытка //Если ПараметрСКД <> Неопределено Тогда Если ТипЗнч(Параметры.ПараметрыОтчета) = Тип("Структура") Тогда ПараметрыСКД.УстановитьЗначениеПараметра("Подразделение", Параметры.ПараметрыОтчета.Подразделение); ПараметрыСКД.УстановитьЗначениеПараметра("ТекущаяДата",Параметры.ПараметрыОтчета.ТекущаяДата); ПараметрыСКД.УстановитьЗначениеПараметра("НачалоПериода",Параметры.ПараметрыОтчета.НачалоПериода); ПараметрыСКД.УстановитьЗначениеПараметра("КонецПериода",Параметры.ПараметрыОтчета.КонецПериода); //КонецЕсли; СкомпоноватьРезультат(); КонецЕсли; Исключение КонецПопытки; КонецПроцедуры // ПриСозданииНаСервере() Если я включаю в варианте отчета "Основной" настройки в пользовательские, чтоб пользователь мог их скорректировать из своего сеанса, выводится пустой отчет с пустыми настройками. То же самое, если я добавляю новый вариант, скопированный с предыдущего. ЧЯДНТ? Конфа - УНФ. |
|||
1
al_zzz
16.09.14
✎
08:28
|
Ап
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |