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