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

скд параметры на форме

Автор esscargoott, 21 окт 2024, 16:36

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

esscargoott

Нужно чтобы пользователь выбирал из списка выбора значения (которые загружаются в него из запроса) и выбранное значение работало как параметр или отбор в скд. те у меня есть скд отчет, но настроить обычном способом параметры я не могу потому что в свойствах лежит куча значений, а мне нужны лишь определенные. Вроде в список они загружаются, но при выборе показывает пустоту

Максим75

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

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

НастройкиКомпоновщика = КомпоновщикНастроек.Настройки;
ПараметрыНастройки = НастройкиКомпоновщика.ПараметрыДанных;


Параметр = ПараметрыНастройки.Элементы.Найти("ДатаНач");
Параметр.Использование = Истина;
Параметр.Значение = НачалоПериода;

попробуйте программно заполнить параметр вот по такому принципу

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

т.е. параметры заполняйте при формировании отчета.

esscargoott

Максим75, спасибо, но у меня основная проблема в том что пользователь выбирает из списка выбора значение и когда я хочу получить выбранное значение, то оно отображается пустым. Вот тут я просто не знаю что делать, помещаю свойство объекта из ПВХ и хочу его потом запихнуть в параметр, но у меня не выходит получить выбранное значение

esscargoott

Максим75, а этот код нужно писать в модуле объекта или в каком то событии формы?

Максим75

Цитата: esscargoott от 22 окт 2024, 08:20Максим75, а этот код нужно писать в модуле объекта или в каком то событии формы?
на форме рисуете кнопку, из события нажатия кнопки вызываете серверную процедуру и там пишите этот код. именно на сервере.

Максим75

Цитата: esscargoott от 22 окт 2024, 08:05Максим75, спасибо, но у меня основная проблема в том что пользователь выбирает из списка выбора значение и когда я хочу получить выбранное значение, то оно отображается пустым. Вот тут я просто не знаю что делать, помещаю свойство объекта из ПВХ и хочу его потом запихнуть в параметр, но у меня не выходит получить выбранное значение
смотрите, у Вас на форме в списке выбора пусто?

смотрите, со списком выбора работают на клиенте, это визуализация для юзера.
обычно как делают: заполняют список выбора, раз уже на управляемых формах работаем, то сделайте выбор из списка через оповещение.


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

&НаКлиенте
Процедура ПриВыбореЭлемента(ВыбранныйЭлемент, ДополнительныеПараметры)  экспорт
   
   Если ВыбранныйЭлемент = Неопределено тогда
      Возврат;
   КонецЕсли;
   
   Сообщить("День удаленной работы "+ВыбранныйЭлемент.ПолучитьИдентификатор()+"  :  "  +ВыбранныйЭлемент.Значение+" ( "+ВыбранныйЭлемент.Представление+" ) ");
   
КонецПроцедуры

здесь в ВыбранныйЭлемент.Значение Вы и получите выбранное юзером значение. Его куда-то на форме и сохраните.
А потом уже это значение в параметр СКД засовывайте.

Теги:

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

Рейтинг@Mail.ru

Поиск