Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Сортировка иерархического list box без признака группы

Здравствуйте.

Необходимо получить такое же представление list box как есть в 1С,

а именно, группы по алфавиту сначала, элементы по алфавиту потом

1С_СпрНоменклатура.PNG.png

В приложения грузим записи СпрНоменклатура только те, которые существуют в FactTable, таким образом группы не грузим и значение поля ЭтоГруппа у всех одинаковый 01(т.е. группой не является). Делаем это для того, чтобы не засорять справочник элементами, которые не представляют интереса для пользователей данного FactTable.

qv_listbox.PNG.png

Предложите, пожалуйста, функцию сортировки или метод создания поля сортировки в скрипте.

Спасибо.

4 Replies
Eugeny_Ilyin
Creator II
Creator II

Не совсем понял проблему.
Коллекции необходимо видеть выше номенклатур?

Anonymous
Not applicable
Author

Евгений, Да надо группы видеть сначала, а затем сами номенклатуры.

На закладке сортировки есть закомментированная функция Substring - считаем количество уровней иерархии, но это не тот результат(сорри сейчас не за PC - не могу сюда привести)

Спасибо.

whiteline
Master II
Master II

Добрый день, Денис.

Придется создать что-то вроде этого:

Left(НоменклатураИерархия, Index(НоменклатураИерархия, '\', SubStringCount(НоменклатураИерархия,'\'))) & 'Я' & SubField(НоменклатураИерархия, '\', SubStringCount(НоменклатураИерархия,'\')+1)

Отсортировать в скрипте и получить порядок сортировки в виде числа, тогда его можно использовать как простое выражение для сортировки листбокса. Подстановка такого "крокодила" в выражение для сортировки у меня не сработала.

Anonymous
Not applicable
Author

Whiteline, Здравствуйте.

Обязательно попробуем на рабочих данных.

Спасибо за предложенное решение.