Установка параметра отчета при в управляемой форме

1. robix 04.05.16 14:46 Сейчас в теме
Здравствуйте, пробовал перенести в управляемую форму отчета такой код, который работал на обычных формах.

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   
    Парам = ЭтотОбъект.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаОтчета");   
    Парам.Использование = Истина;
    Парам.Значение = ТекущаяДата();
   
КонецПроцедуры
Показать


Вроде бы код отрабатывает, но параметр отчета все равно не меняется. И еще при закрытии отчета сообщение чтобы был изменен его вариант.

Вообщем нужно, чтобы параметр отчета при открытии его формы устанавливался в текущую дату и вариант отчета не менялся. Подскажите пожалуйста как это можно сделать и почему этот код не работает как надо?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. oldfornit 04.05.16 14:50 Сейчас в теме
(1) robix, скорее всего этот параметр фигурирует в пользовательских настройках. Попробуйте установить значение параметра пользовательских настроек или исключите этот параметр из них
3. kasper076 112 04.05.16 15:11 Сейчас в теме
(1) robix, название темы оч информативное.
4. Stackmann 04.05.16 15:13 Сейчас в теме
(1) Не там код вставляете. Перенесите в процедуру ПриСозданииНаСервере() и будет вам счастье.
8. ЧерныйКот 06.05.16 15:52 Сейчас в теме
(1) robix, Текущую дату при открытии проще установить через настройки компоновки - т.е. прямо в схеме компоновки на закладке настройки, в параметрах указать - датаотчета- сегодняшний день
5. robix 05.05.16 19:35 Сейчас в теме
При создании на сервере также не отработало. Видимо что-то еще нужно для управляемых форм. У меня такое ощущение, что тот параметр, который на форме не связан с тем, что получаю через
Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаОтчета")


Т.е. это один и тот же параметр, но его экземпляр на форме не есть та же сущность.

Прикрепляю это маленький отчет, нужно сделать так, чтобы при открытии его формы дата устанавливалась бы в конец месяца. Попробуйте плиз.
Прикрепленные файлы:
ОтчетПоДолгам.erf
6. spacecraft 05.05.16 21:33 Сейчас в теме
(5) robix,
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	УстановитьДатуОтчета();
КонецПроцедуры

&НаСервере
Процедура УстановитьДатуОтчета()
	ПараметрНастройки =  Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаОтчета");
	ПараметрДатаОтчета = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрНастройки.ИдентификаторПользовательскойНастройки);	
	ДатаОтчета = Новый СтандартнаяДатаНачала;
	ДатаОтчета.Вариант = ВариантСтандартнойДатыНачала.ПроизвольнаяДата;
	ДатаОтчета.Дата = КонецМесяца(ТекущаяДата());
	ПараметрДатаОтчета.Значение = ДатаОтчета;
	ПараметрДатаОтчета.Использование = Истина;
КонецПроцедуры

&НаСервере
Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Настройки)
	УстановитьДатуОтчета();
КонецПроцедуры
Показать
prohorp; robix; +2 Ответить
7. robix 06.05.16 15:46 Сейчас в теме
9. Plash 5 06.05.16 16:09 Сейчас в теме
Если отчет на СКД, то на закладке "Параметры" можно задать для "ДатаОтчета" колонку выражение КонецПериода(ТекущаяДата(), "День")
10. robix 12.05.16 21:58 Сейчас в теме
Вообщем, работает, но проблема в другом. На самой форме не важно как установить параметр "ДатаОтчета", он все равно установится так как в процедуре ПриОткрытии() или в выражении на закладке "Параметры"

Мне же нужно чтобы на самой форме параметр установился в конец дня текущей даты и при его изменении на форме соответственно он и в отчет попадал. На управляемых формах видимо не так как на обычных. По другому надо действовать.
11. BenDigget 14.12.22 19:37 Сейчас в теме
Рабочий вариант в ERP

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьДатуОтчета();
КонецПроцедуры

&НаСервере
Процедура УстановитьДатуОтчета()

ДатаНачала = НачалоМесяца(ДобавитьМесяц(Текущаядата(), -4));

ПараметрНастройки = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период");
ПараметрДатаОтчета = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрНастройки.ИдентификаторПользовательскойНастройки);
ДатаОтчета = Новый СтандартныйПериод;
ДатаОтчета.Вариант = ВариантСтандартногоПериода.ПроизвольныйПериод;
ДатаОтчета.ДатаНачала = ДатаНачала;
ДатаОтчета.ДатаОкончания = КонецМесяца(ТекущаяДата());
ПараметрДатаОтчета.Значение = ДатаОтчета;
ПараметрДатаОтчета.Использование = Истина;

КонецПроцедуры

&НаСервере
Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Настройки, ИспользуютсяСтандартныеНастройки)
УстановитьДатуОтчета();
КонецПроцедуры

&НаСервере
Процедура ПриЗагрузкеВариантаНаСервере(Настройки)
УстановитьДатуОтчета();
КонецПроцедуры
12. ManBlack1 14.12.22 21:12 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот