Всем привет! Хочется начать цикл статей по 8.2. Не факт что все будет хорошо со свободным временем, но попробуем.
Одно из первых, с чем довелось столкнуться: программная установка параметра. В 8.1 все было достаточно прозрачно.
В 8.2 все несколько сложнее. Пока приведу просто код, без анализа. Анализ будет позже (когда сам разберусь :)).
ИдНастройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьИдентификаторПоОбъекту (Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра (Новый ПараметрКомпоновкиДанных("ИмяПараметра"))); ПараметрСКД = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ИдНастройки); ПараметрСКД.Использование = Истина;
Вынес в общий модуль АналитическиеОтчетыКлиент процедуру
&НаКлиенте
Процедура УстановитьПараметр(ПараметрыДанных, НаименованиеПараметра, ЗначениеПараметра) Экспорт
ТекущееЗначениеПараметра = ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(НаименованиеПараметра));
Если ТекущееЗначениеПараметра Неопределено Тогда
ТекущееЗначениеПараметра.Использование = Истина;
ТекущееЗначениеПараметра.Значение = ЗначениеПараметра;
Иначе
Сообщить(“Не удалось установить параметр отчета. Обратитесь к администратору”);
КонецЕсли;
КонецПроцедуры //УстановитьПараметр()
А потом в нужных местах вызывал, например:
&НаКлиенте
Процедура НачалоПериодаПриИзменении(Элемент)
АналитическиеОтчетыКлиент.УстановитьПараметр(Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных, “НачалоПериода”, НачалоПериода);
КонецПроцедуры
После этого при попытке закрыть отчет.Выдается сообщение о том что вариант отчета был изменен.и предлогает сохранить вариант.Как сделать чтоб не выскакивало сие окошко?как то отказаться программно можно?или сохранить изменения в текущем варианте?
Помогите плиз(
Перед закрытием формы надо снять признак модифицированности варианта:
ВариантМодифицирован = Ложь;
Спасибо огромное)
На мой взгляд лучше так, см пример:
Настройки = КомпоновщикНастроек.Настройки;
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(“Период”, КонецДня(ДатаОтчета));