Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)
Имеется отчет на СКД. Один из параметров отчета "Регион"
ГДЕ
ЗаказПокупателя.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
И ЗаказПокупателя.Контрагент.Регион = &Регион
Регион = Константы.ТекущийРегион.Получить();
Constantus @ Сегодня, 10:17
,
попробуйте так:
Процедура ПриОткрытии()
ПараметрДанных= КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Регион");
ПараметрДанных.Значение = Константы.ТекущийРегион.Получить();
ПараметрДанных.Использование=Истина;
КонецПроцедуры
Vidocq05 @ Сегодня, 13:32
,
Проблема заключается в том, что сама форма отчета - управляемая форма...
Приведенный код срабатывает на обычной форме отчета...
Пробовал аналогичный код вставить для управляемой формы - не работает, выдает естественно кучу ошибок...
В параметрах Скд Выражение - прям так и пишите % Константы.....Получить()
sava1 @ Сегодня, 13:41
,
Хитро... Но либо не понял, либо не получилось, либо комплексно затупил...
С другой стороны, суть в том, что код будет более ветвистый, типа если не в константе не прописано значение, то бери из настроек пользователя, иначе бери предустановленный...
Код для обычной формы отчета сработал на ура...
Настройки = КомпоновщикНастроек.Настройки;
Значен = Настройки.ПараметрыДанных.Элементы.Найти(Новый ПараметрКомпоновкиДанных("Регион"));
Значен.Значение = Константы.ТекущийРегион.Получить();
Значен.Использование = Истина;
&НаКлиенте
Процедура ПриОткрытии(Отказ)
УстановитьПараметрСервер();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура УстановитьПараметрСервер()
Настройки = КомпоновщикНастроек.Настройки;
Значен = Настройки.ПараметрыДанных.Элементы.Найти(Новый ПараметрКомпоновкиДанных("Регион"));
Значен.Значение = Константы.ТекущийРегион.Получить();
Значен.Использование = Истина;
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Настройки = КомпоновщикНастроек.Настройки;
Значен = Настройки.ПараметрыДанных.Элементы.Найти(Новый ПараметрКомпоновкиДанных("Регион"));
Значен.Значение = Константы.ТекущийРегион.Получить();
Значен.Использование = Истина;
КонецПроцедуры
Vidocq05 @ Сегодня, 14:26
,
Эти методы тоже пробовал... Не работают, даже при отладке в первом случае не обращается... во втором ничего не меняет
Constantus @ Сегодня, 12:32
,
А почему вы не получите значение константы в запросе?
Constantus @ 14.09.17, 11:32
,
Наверное уже неактуально, но все же:
Нужен контекст формы (почему: пока не знаю)
Посему
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
&НаСервереБезКонтекста
Процедура УстановитьПараметрСервер()
&НаСервере
Процедура УстановитьПараметрСервер()
Настройки = КомпоновщикНастроек.Настройки;
Значен = Настройки.ПараметрыДанных.Элементы.Найти(Новый ПараметрКомпоновкиДанных("Регион"));
Значен.Значение = Константы.ТекущийРегион.Получить();
Значен.Использование = Истина;;
Настройки = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Регион");
Настройки .Значение = Константы.ТекущийРегион.Получить();
Настройки .Использование = Истина;
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua