Имя: Пароль:
1C
1С v8
Отбор в динамическом списке(в выборку добавляются пустые значения, хотя не должны)
0 masi
 
14.12.22
14:40
Есть документ Заявка на кассовый расход, в документе выбирается Договор, программно при открытии управляемой формы выбора договоров устанавливается отбор по контрагенту из заявки, но в этот отбор, по какой-то причине, попадают еще и договора с незаполненным контрагентом. Если пользователь вручную добавляет отбор Контрагент = Заполнено, то все срабатывает как нужно.

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

Отбор добавляется вот таким кодом
    ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, "Контрагент", ОтборКонтрагент, Истина);
1 vicof
 
14.12.22
14:42
Включаем датчик отладки выражений
2 masi
 
14.12.22
20:06
Вы имеете в виду в отладке посмотреть как устанавливается отбор в коде? это сделал..., но к каком-либо выводу не пришел
3 НафНаф
 
14.12.22
20:25
(0) вы параметры с отборами не путаете, кстати?
4 masi
 
15.12.22
12:59
Да, Вы правы ставится через параметры, это что-то меняет относительно отбора по пустому значению

вот такой код

" // Устанавливает / обновляет значение параметра динамического списка.
Процедура УстановитьПараметрДинамическогоСписка(Список, ИмяПараметра, Значение, Использование = Истина) Экспорт
    
    ЗначениеПараметраКомпоновкиДанных = Список.Параметры.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(ИмяПараметра));
    Если ЗначениеПараметраКомпоновкиДанных <> Неопределено Тогда
        Если Использование И ЗначениеПараметраКомпоновкиДанных.Значение <> Значение Тогда
            ЗначениеПараметраКомпоновкиДанных.Значение = Значение;
        КонецЕсли;
        Если ЗначениеПараметраКомпоновкиДанных.Использование <> Использование Тогда
            ЗначениеПараметраКомпоновкиДанных.Использование = Использование;
        КонецЕсли;
    КонецЕсли;
    
КонецПроцедуры
"
5 masi
 
15.12.22
13:26
Смогли это обойти поставив пользовательский отбор не по колонке Контрагента, по заполненности реквизита контрагент в договоре