Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 5
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )

> Программно установить значение параметра СКД в отчете          
Constantus Подменю пользователя
сообщение 14.09.17, 9:17
Сообщение #1

Почти ветеран
******
Группа: Пользователи
Сообщений: 557
Спасибо сказали: 2 раз
Рейтинг: 2

Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)

Имеется отчет на СКД. Один из параметров отчета "Регион"

ГДЕ
    ЗаказПокупателя.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
    И ЗаказПокупателя.Контрагент.Регион = &Регион


Имеется форма отчета (зачем-то я ее сделал когда-то управляемой формой)

Как можно установить значение параметра "Регион" в отчете, взяв его из Констант, чтобы он каждый раз отображался при открытии?

Регион = Константы.ТекущийРегион.Получить();


Vidocq05 Подменю пользователя
сообщение 14.09.17, 10:32
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 100
Из: Сумы
Спасибо сказали: 16 раз
Рейтинг: 16

Constantus @ Сегодня, 10:17 * ,
попробуйте так:

Процедура ПриОткрытии()

    ПараметрДанных= КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Регион");    

    ПараметрДанных.Значение = Константы.ТекущийРегион.Получить();

    ПараметрДанных.Использование=Истина;
      

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

Constantus Подменю пользователя
сообщение 14.09.17, 10:39
Сообщение #3

Почти ветеран
******
Группа: Пользователи
Сообщений: 557
Спасибо сказали: 2 раз
Рейтинг: 2

Vidocq05 @ Сегодня, 13:32 * ,

Проблема заключается в том, что сама форма отчета - управляемая форма...

Приведенный код срабатывает на обычной форме отчета...

Пробовал аналогичный код вставить для управляемой формы - не работает, выдает естественно кучу ошибок...

sava1 Подменю пользователя
сообщение 14.09.17, 10:41
Сообщение #4

Крутой
Иконка группы
Группа: Местный
Сообщений: 1637
Из: Проскуров
Спасибо сказали: 387 раз
Рейтинг: 380.5

В параметрах Скд Выражение - прям так и пишите % Константы.....Получить()

Constantus Подменю пользователя
сообщение 14.09.17, 10:49
Сообщение #5

Почти ветеран
******
Группа: Пользователи
Сообщений: 557
Спасибо сказали: 2 раз
Рейтинг: 2

sava1 @ Сегодня, 13:41 * ,

Хитро... Но либо не понял, либо не получилось, либо комплексно затупил...

С другой стороны, суть в том, что код будет более ветвистый, типа если не в константе не прописано значение, то бери из настроек пользователя, иначе бери предустановленный...

Код для обычной формы отчета сработал на ура...

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


Но для управляемой судя по всему требуется другой код обращения к настройкам

Vidocq05 Подменю пользователя
сообщение 14.09.17, 11:26
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 100
Из: Сумы
Спасибо сказали: 16 раз
Рейтинг: 16

Цитата(Constantus @ 14.09.17, 11:39) *
Проблема заключается в том, что сама форма отчета - управляемая форма...

Приведенный код срабатывает на обычной форме отчета...

Сори. Не обратил внимания.
Я в упровляемых формах не силен, но все таки, а если так:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   УстановитьПараметрСервер();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура УстановитьПараметрСервер()

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

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

Ну или может так:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

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

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

Constantus Подменю пользователя
сообщение 14.09.17, 11:32
Сообщение #7

Почти ветеран
******
Группа: Пользователи
Сообщений: 557
Спасибо сказали: 2 раз
Рейтинг: 2

Vidocq05 @ Сегодня, 14:26 * ,

Эти методы тоже пробовал... Не работают, даже при отладке в первом случае не обращается... во втором ничего не меняет

podcast Подменю пользователя
сообщение 14.09.17, 13:10
Сообщение #8

Завсегдатай
****
Группа: Пользователи
Сообщений: 226
Спасибо сказали: 46 раз
Рейтинг: 44.3

Constantus @ Сегодня, 12:32 * ,
А почему вы не получите значение константы в запросе?

info230a02 Подменю пользователя
сообщение 14.11.17, 10:12
Сообщение #9

Общительный
**
Группа: Пользователи
Сообщений: 29
Спасибо сказали: 1 раз
Рейтинг: 1

Constantus @ 14.09.17, 11:32 * ,
Наверное уже неактуально, но все же:
Нужен контекст формы (почему: пока не знаю)
Посему
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

и
&НаСервереБезКонтекста
Процедура УстановитьПараметрСервер()

ничего не меняют
А если
&НаСервере
Процедура УстановитьПараметрСервер()

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

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

Тогда все работает


Signature
Достаточно начать, закончить тоже можно.
Я за короткий срок так много сочинил,
Что много из того, что сочинил, уже забыл.
(К.Кинчев)

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.01.18, 15:22
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!

Курсы валют: доллар США к гривне Курсы валют: евро к гривне Курсы валют: российский рубль к гривне