Имя: Пароль:
1C
 
Отбор для таблице значений на форме. Глюк?
0 егаис
 
27.06.26
16:02
&НаКлиенте
Процедура ДеревоЗаявокПриАктивизацииСтроки(Элемент)  
    
    ТекущиеДанные = Элементы.ДеревоЗаявок.ТекущиеДанные;  
    
    Если ТекущиеДанные = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    Если ТекущиеДанные.НомерЗаявки <> "" Тогда  
        ОтборПоКорзинe =  Новый ФиксированнаяСтруктура("НомерЗаявки",ТекущиеДанные.НомерЗаявки);
        
        Если НЕ ТекущиеДанные.ТМЦ.Пустая() Тогда  
            ОтборПоКорзинe =  Новый ФиксированнаяСтруктура("НомерЗаявки,ТМЦ",ТекущиеДанные.НомерЗаявки,ТекущиеДанные.ТМЦ);

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

КонецПроцедуры


Если я нахожусь на строке, где заполнен номер заявки или ТМЦ, все корректно.
Как только выбираю строку с заполненным ФизЛицо
условие Если ТекущиеДанные.НомерЗаявки <> "" Тогда  не работает
Хотя в отладке НомерЗаявки присвоен.

Текущие данные - это строки дерева значений. Группировки НомерЗаявки/ТМЦ/Физлицо. Т.е при заполенном физлицо номерзаявки не может быть пустим никак.
Это глюк какой-то недокументированный?
1 егаис
 
27.06.26
16:24
дел
2 егаис
 
27.06.26
16:24
дел
3 Chameleon1980
 
27.06.26
16:24
пошагово в отладку
с отбором строк проблем замечено не было
4 егаис
 
27.06.26
16:26
Тупанул. Надо было в фиксированную структуру засунуть структуру с параметрами отбора. Вопрос закрыт.

    СтруктураПараметров = Новый Структура;
    
    Если ТекущиеДанные.НомерЗаявки <> "" Тогда  
        СтруктураПараметров.Вставить("НомерЗаявки",ТекущиеДанные.НомерЗаявки);
    КонецЕсли;
    Если НЕ ТекущиеДанные.ТМЦ.Пустая() Тогда  
        СтруктураПараметров.Вставить("ТМЦ",ТекущиеДанные.ТМЦ);
    КонецЕсли;
    Если НЕ ТекущиеДанные.ФизЛицо.Пустая() Тогда  
        СтруктураПараметров.Вставить("ФизЛицо",ТекущиеДанные.ФизЛицо);
    КонецЕсли;
    Элементы.КорзинаВыдаваемыхТМЦ.ОтборСтрок = Новый ФиксированнаяСтруктура(СтруктураПараметров);
5 Chameleon1980
 
27.06.26
16:25
ак только выбираю строку с заполненным ФизЛицо
покажите, что в этот момент в ТекущиеДанные.НомерЗаявки
в табло
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший