Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

ПостроительОтчета вызов формы с отбором

ПостроительОтчета вызов формы с отбором
Я
   Pchelinka
 
03.04.18 - 17:48
Всем весеннего!) Помогите справиться с задачей, пж. Есть обработка экспорта справочника номенклатуры, попросили добавить отбор по Сезонам. Сезоны учитываются в справочнике ЗначенияСвойствОбъектов. Нужно чтобы в форме отбора Построителя отчета, открывался справочник ЗначенияСвойствОбъектов с фильтром значений по сезонам. Сделала отдельно функцию получения списка используемых в Характеристике номенклатуры значений сезонов для передачи его в фильтр отбора при открытии формы выбора конкретного сезона.Не пойму как передать значение в форму выбора и затем передать несколько выбранных значений в отбор сезона построителя отчета((
Вот часть кода в Процедуре ИнициализацияОтчета():
ПостроительОтчета.Отбор.Добавить("Сезон",,"Сезон");
НужныйСезон = ПоискСезоновИспользованныхВХарактеристике()//получение списка сезонов

ПостроительОтчета.Отбор.Сезон.Значение = Справочники.ЗначенияСвойствОбъектов.ПустаяСсылка()//задаю тип

ПостроительОтчета.Отбор.Сезон.ВидСравнения = ВидСравнения.ВСписке;
а далее нужно получить форму справочника для выбора отфильтрованного по сезонам...((
Как вариант добавила процедуру ОтборЗначениеНачалоВыбора(Элемент, СтандартнаяОбработка) и в ней задала параметры при открытии формы 
///тут в начале надо как-то обратиться что это касается только Поля, где значение Сезон..ПостроительОтчета.Отбор.Сезон, чтобы его форма справочника открывалась..у остальных значений поля свои.


СтандартнаяОбработка=Ложь;
НужныйСезон = ПоискСезоновИспользованныхВХарактеристике();        
//мФорма = Справочники.ЗначенияСвойствОбъектов.ПолучитьФормуВыбора("ФормаВыбора");

мФорма = Справочники.ЗначенияСвойствОбъектов.ПолучитьФормуВыбора();
мФорма.РежимВыбора=Истина;
мФорма.МножественныйВыбор = Истина;
мФорма.отбор.Наименование.ВидСравнения = ВидСравнения.ВСписке;
мФорма.отбор.Наименование.Значение = НужныйСезон;
мФорма.отбор.Наименование.Использование = Истина;        
ВыбранноеЗначение = мФорма.ОткрытьМодально();
Элемент.Значение = ВыбранноеЗначение// так выбранные значения не переносятся в посторитель

//ПостроительОтчета.Отбор.Сезон.Значение = ВыбранноеЗначение// так тоже не переносит значение ругается на тип
 
 
   Darych
 
1 - 03.04.18 - 18:00
передаешь параметром, затем ловишь их.. и это..модальность? версиию
   Pchelinka
 
2 - 05.04.18 - 16:32
Спасибо, получилось))

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует