8.х БП Отбор программно

Тема в разделе ""1С:Бухгалтерия БП"", создана пользователем Nasty1993, 14 янв 2015.

  1. TopicStarter Overlay
    Nasty1993
    Offline

    Nasty1993

    Регистрация:
    12 мар 2013
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    В БП 3.0 делаю отбор по номенклатуре в документах.

    в общем модуле создаю функцию
    Код:
    &НаСервере
    Процедура ОтборНоменклатураСервер(Список,ДОК,ОтборНоменклатура) Экспорт
     
        СписокЗНЧ = Новый СписокЗначений;
        Если Не ( ОтборНоменклатура = Неопределено ) Тогда
            Запрос = Новый Запрос;
            Запрос.Текст = "ВЫБРАТЬ
            |    Док.Ссылка
            |ИЗ
            |    Документ."+ДОК+".Товары КАК Док
            |ГДЕ
            |    Док.Номенклатура = &Номенклатура";
           
            Запрос.УстановитьПараметр("Номенклатура", ОтборНоменклатура.Ссылка);
           
            Результат = Запрос.Выполнить();
            Таб=Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой);
            СписокЗНЧ.ЗагрузитьЗначения(Таб.ВыгрузитьКолонку("Ссылка"));
        КонецЕсли;
       
        ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
        ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
        ЭлементОтбора.Использование = Истина;
        ЭлементОтбора.ПравоеЗначение = СписокЗНЧ;
       
    КонецПроцедуры
    
    в форме списка документа создаю поле и к нему процедуру при изменении
    Код:
    &НаКлиенте
    Процедура ОтборНоменклатураПриИзменении(Элемент)
     
    СвоиДоработки.ОтборНоменклатураСервер(Список,"АвансовыйОтчет",ОтборНоменклатура);   
    Элементы.Список.Обновить();   
    КонецПроцедуры

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

Поделиться этой страницей