Имя: Пароль:
1C
1С v8
Программное добавление тобора в отчет на СКД
0 SkillUp
 
03.01.20
14:33
На форме дваа поля: Номенклатура и Склад, если они не заполненны ,то по всем складам и по всей номенклатуре.

Делаю так, но отбор не срабатывает:

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

Что делаю не так?
1 Маленький Вопросик
 
03.01.20
14:35
Просто как вариант

СтандартнаяОбработка = ложь;
2 Бизон
 
03.01.20
14:39
Та захрена оно надо? и так все работает
3 SkillUp
 
03.01.20
14:40
(1) 1 мин.
4 SkillUp
 
03.01.20
14:43
(1) Если выставить в ложь, отчет не формируется.
5 zladenuw
 
03.01.20
14:48
А че тебе мешает на событие при изменение поле ввода не заполнять отборы ?
6 SkillUp
 
03.01.20
14:56
(5) Блин, точно...
7 SkillUp
 
03.01.20
15:06
(5) И инифига, хоть  при изменении, хоть при ПриКомпоновкеРезультата...
8 zladenuw
 
03.01.20
15:08
отбор у тебя доступен. в режиме предприятия ?
9 zladenuw
 
03.01.20
15:11
Должно работать https://forum.infostart.ru/forum9/topic188964/
Смотри что у тебя не так.
10 SkillUp
 
03.01.20
15:30
(9) Ок, изучаю...
2 + 2 = 3.9999999999999999999999999999999...