Настройка позиций вариантов характеристик

Добрый день. На просторах форума ответов не нашли… А проблеме много лет:
В фильтрах отображаются варианты не по порядку:
10,9 мм
100 мм
1000 мм
101 мм
200 мм
2000 мм
3 мм
изображение
Значений в фильтрах очень много и искать их пользователю сложно.

Как упорядочить отображение? В настройках выбрано отображение: “Текст или число”, но алфавитный порядок в цифрах не устраивает…

Как увеличить максимальную величину позиции? Сейчас это значение: 65535
(чтобы проставить позиции вручную, но проблематика такая: есть значения в фильтрах 0,03, а есть 1022. Хотели присвоить 0,03 = 3 позицию, а 1022 = 102200. Но лимит в 65535 не дает обойти таким путем данную проблему).

Буду признателен за любое решение с целью правильного отображения фильтров для пользователей. Спасибо!

Я как то писал уже тут на форуме и мне ответили, для этого есть поиск, типо кто будет листать и искать нужные ему цифры, напишет в поиск 0,05 и найдет.
Тоже напрягает этот момент с фильтрами, и хотелось бы решить эту проблему, я с вами! :fist:

Потому-что значение варианта в текстовом поле, соответственно сортировка идет по принципу сравнение каждого знака последовательно. Если я сейчас в голове не путаю вам достаточно разрядность писать, то есть
х,хх позиция 8 (0,0х все)
х,х позиция 9
х позиция 10
хх позиция 11
ххх позиция 12
и тд
смысл в том, что сортировка будет внутри позиции и значения 0,03 будет выше чем значения 0,04 (так как по знакам 3 раньше 4)
так же и 1011 будет раньше 4000 так как 1 < 4, но и 1003 будет раньше 1999.

То есть вы группируете лишь разрядность, что позволит избежать проблемы.
p.s. х - 10 разряд, чтобы был запас вдруг у вас числа будут более дробные где-то, и можно легко сделать х.ххх (10 - 3 разяд = 7 позиция), так же и хххххххх (10 + 8 = 18)

p.s.s ну и да вроде как хххх,ххх (это 14, а не 7) так как нам нужно в группу 4 разряда а не -3

1 лайк

Гениально!!!

3 раза пришлось перечитать и прожить это, но понял)))
Да, вроде как, решение, спасибо!
Пробуем реализовать)

Помните только, что . и , это разные знаки и цифры 10.09 и 10,10 будут сортироваться по знаку, то есть нужна стандартизация. уже 8 лет воюю с клиентами, чтобы они стандартизировали характеристики, но каждый раз одно и то же.

0,17 - 8 позиция
0,15 - 8 позиция
0,1 - 9 позиция
0,45 - 8 позиция? она должна же быть ниже
а 1,45 - ?
просто как оно в глобальном замысле?)

0.1 тут не корректно будет в 9 класть, потому-что на деле 0.10 это и его надо сравнивать с 8 позицией. 9 была бы если бы глубже не было ухода в десятичные

1.45 это 10 так как 1.45 надо сравнивать с 2, но опять же надо тестировать как будет 2 и 2.09 но вроде как “пробел” < . или , по этому 2 будет выше чем 2.09, система не идеальная ее надо проверять, так как строилась она исключительно в голове.

p.s. проверьте вариант, что все цифры меньше 0 в одну позицию, потому-что опять же в голове 0.9 и 0.1356 должны нормально вставать как и 0.85 так как тут разряды идут корректно и последовательно, а вот когда 3 и 3000 система не учитывает, что 3 это 1 разряд, а 3000 это 4й, в десятичных же 0.1 и 0.199999 при сравнении 1 и 1 разряды одинаковые -1, а -2 в этом случае будет либо Пробел < 9, либо окончание и 9, тогда опять же 0.1 выше чем 0.199999

Благодарю, через костыли, но получилось)
Спасибо за наводку :innocent:

Пусть тут будет, может кому-то еще пригодится

Так даже удобнее все что меньше 0, 0 позиция и дальше позиция это количество целых знаков