3
spiller26
17.12.14
✎
12:03
|
Вот тебе код на примере отчета "Универсальный отчет (по регистрам, документам, справочникам)" была настроена одна настройка под этот отчет и подстраивалась перед открытием:
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
//-> убрать (для проверки)
//НастраиваемыйОбъект = "ОтчетОбъект.УниверсальныйОтчетПоМетаданным";
//НаименованиеНастроек = "КС_Лист1А";
//<- убрать (для проверки)
Если Не ЭтоОтработкаРасшифровки
//-> 22.01.2014
//И Не СохранениеНастроек.ЗаполнитьНастройкиПриОткрытииОтчета(ОтчетОбъект) Тогда
И Не ЗаполнитьНастройкиПриОткрытииОтчетаКС(ОтчетОбъект, НастраиваемыйОбъект, НаименованиеНастроек) Тогда
//<- 22.01.2014
ИнициализироватьЭлементыФормы();
ИнициализацияОтчета();
Иначе
ИнициализироватьЭлементыФормы();
КонецЕсли;
ТиповыеОтчеты.НазначитьФормеУникальныйКлючИдентификации(ЭтаФорма);
ТиповыеОтчеты.ОбновитьФормуТиповогоОтчетаПоКомпоновщику(ОтчетОбъект, ЭтаФорма);
ТиповыеОтчеты.УправлениеОтображениемЭлементовФормыТиповогоОтчета(ОтчетОбъект, ЭтаФорма);
КонецПроцедуры
Функция ЗаполнитьНастройкиПриОткрытииОтчетаКС(ОтчетОбъект, НастраиваемыйОбъект, НаименованиеНастроек)
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 1
| СохраненныеНастройки.Ссылка КАК СохраненнаяНастройка,
| СохраненныеНастройкиПользователи.Ссылка,
| СохраненныеНастройки.НастраиваемыйОбъект
|ИЗ
| Справочник.СохраненныеНастройки.Пользователи КАК СохраненныеНастройкиПользователи
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СохраненныеНастройки КАК СохраненныеНастройки
| ПО СохраненныеНастройкиПользователи.Ссылка = СохраненныеНастройки.Ссылка
|ГДЕ
| СохраненныеНастройки.НастраиваемыйОбъект = &НастраиваемыйОбъект
| И СохраненныеНастройки.Наименование = &НаименованиеНастроек
|";
//Запрос.УстановитьПараметр("НастраиваемыйОбъект", "ОтчетОбъект." + ОтчетОбъект.Метаданные().Имя);
Запрос.УстановитьПараметр("НастраиваемыйОбъект", НастраиваемыйОбъект); //Строка
Запрос.УстановитьПараметр("НаименованиеНастроек", НаименованиеНастроек); //Строка
ТаблицаРезультата = Запрос.Выполнить().Выгрузить();
Если ТаблицаРезультата.Количество() > 0 Тогда
ОтчетОбъект.СохраненнаяНастройка = ТаблицаРезультата[0].СохраненнаяНастройка;
ОтчетОбъект.ПрименитьНастройку();
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
|
|