Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 апр 2024, 00:19

Программно получить только что введенные пользователем настройки отчета

Автор Ahinedark, 08 окт 2018, 15:18

0 Пользователей и 1 гость просматривают эту тему.

Ahinedark

Добрый день. Неделю назад начал работать с 1С:Предприятие 8.3, по заданию в универе.
Сегодня столкнулся с проблемой: не могу получить даты, вводимы пользователем в настройки отчета (дата начала и дата конца периода), чтобы сравнить их.

Имеется: отчет "ПродажиСотрудников", в СКД которого два параметра (ДатаНач и ДатаКон) типа дата. Параметры вводятся пользователем перед формированием отчета. Отчет формируется для периода между этими двумя датами.

Необходимо сделать так, чтобы программно отлавливались эти две даты, после чего происходило их сравнение. Если ДатаНач больше ДатаКон, при попытке составления отчета система должна сообщить пользователю: "Нельзя, чтобы ДатаНач была больше ДатаКон".

Для этого я пытаюсь в процедуре "ОбработкаПроверкиЗаполненияНаСервере" формы отчета программно эти даты получить, но это не выходит.
Пока что пытаюсь хотя бы просто получить даты в этой процедуре с помощью следующего кода, ДатаНач и ДатаКон он мне выводит, но это даты, стоящие по умолчанию, а не те, что я указал в настройках отчета:


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

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

ДатаНач = КомпоновщикНастроек.ПолучитьНастройки().ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаНач")).Значение;
ДатаКон = КомпоновщикНастроек.ПолучитьНастройки().ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаКон")).Значение;
Сообщить(ДатаНач);
Сообщить(ДатаКон);
КонецПроцедуры


Вот что выводится:


А нужно, чтобы выводились эти даты:



Очень надеюсь получить подсказки в этом деле, скриншоты с настройками параметров прилагаю:


LexaK

если у вас платформа 8,3,* (>10) без совместимости
не надо всего того что вы написали, то сразу смотрите коллекцию

КомпоновщикНастроек.ПользовательскиеНастройки.Элементы
в ней и параметры и отборы с текущими значениями
если помогло нажмите: Спасибо!

Ahinedark

Цитата: LexaK от 08 окт 2018, 18:11
если у вас платформа 8,3,* (>10) без совместимости
не надо всего того что вы написали, то сразу смотрите коллекцию

КомпоновщикНастроек.ПользовательскиеНастройки.Элементы
в ней и параметры и отборы с текущими значениями

Большое спасибо, разобрался. Выходит, что я неправильно брал эти значения, теперь все корректно. Успехов вам.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск