|
Сортировка структурного кода |
☑ |
0
ddok
06.07.21
✎
12:04
|
Здравствуйте.
Подкиньте, пожалуйста, идею сортировки (по возрастанию/убыванию) структурного кода вида "1.2.3".
1С подобный код (строковый тип) не совсем правильно сортирует, например по возрастанию:
1.01.01
1.02.3
1.1.3
1.11.1
1.2.11
а должно быть:
1.01.01
1.1.3
1.02.3
1.2.11
1.11.1
|
|
1
mikecool
06.07.21
✎
12:06
|
(0) вопрос - а кто, кроме 1с, сортирует так, как надо?
имхо - никто
|
|
2
ДенисЧ
06.07.21
✎
12:06
|
Разбери в ТЗ с преобразованием к числу, сортируй, собирай обратно
|
|
3
ДенисЧ
06.07.21
✎
12:06
|
(1) Все, кому надо ))
|
|
4
mikecool
06.07.21
✎
12:06
|
надо приводить код к такому виду, чтобы он мог сортироваться как надо
|
|
5
Fragster
гуру
06.07.21
✎
12:10
|
за код 01 и 1 на одном уровне надо отрывать кое что кое кому
|
|
6
Вафель
06.07.21
✎
12:11
|
храни реквизит для сортировка 001.001.001
|
|
7
1Сергей
06.07.21
✎
12:12
|
переименовать вс 01 в 1, 02 в 2 и т.д.
Кто будет делать так и дальше - пальцы прищемить дверью
|
|
8
Вафель
06.07.21
✎
12:12
|
а кстати почему 02 < 1 ?
|
|
9
ДенисЧ
06.07.21
✎
12:12
|
(8) По правилам сравнения строк ))
|
|
10
Вафель
06.07.21
✎
12:21
|
(8) Это я подумал что должно быть так, а это как есть
|
|
11
mikecool
06.07.21
✎
12:23
|
потом появится 01.01.1 и т.п.
|
|
12
fisher
06.07.21
✎
12:29
|
(0) Для правильной сортировки тебе в любом случае придется приводить код к одинаковой длине частей с ведущими нулями. Если не хочешь делать это каждый раз при сортировке, то лучше это делать заранее. Например писать нормализованный структурный код в доп-реквизит, по которому и сортировать.
|
|
13
Малыш Джон
06.07.21
✎
12:30
|
(0) если такая потребность возникает постоянно, то имеет смысл хранить параллельно нормированный код (по типу 1.02.03 -> 001.002.003) и сортировать по нему
|
|
14
cathode
06.07.21
✎
12:38
|
(0) Можно сделать на встроенном языке.
Алгоритм называется "естественная сортировка" (natsort).
То, что в 1С и вообще везде - это лексикографическая сортировка, существенно более простая в реализации.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший