Вход | Регистрация


Сортировка Динамического списка

Сортировка Динамического списка
Я
   spiller26
 
16.01.18 - 15:40
Есть Динамический список на форме списка справочника.
Сортировка по реквизиту "Регистрационный номер" (тип Строка 15)
Порядок следующий:
1
111
15
2
22
3
343
4
а1
а100
а2
А нужно:
1
2
3
4
15
22
343
а1
а2
а100
Есть быстрый метод реализации данной сортировки?
 
 
   dandykry
 
1 - 16.01.18 - 15:41
Регистрационный номер сделать не текст а число.
   dandykry
 
2 - 16.01.18 - 15:41
Ошибся. Сознаю.
   spiller26
 
3 - 16.01.18 - 16:04
(1,2) Я уже думал сделать отдельный реквизит, чтобы при записи туда дополнять ведущие символы.
   spiller26
 
4 - 16.01.18 - 16:09
Нашел только вот это пока

Алгоритм "Сортировка вставками"
//Сортировка вставками {---

Функция СортировкаВставками(Знач Массив)
    
    Для i = 0 По Массив.ВГраница()-1 Цикл            
        Ключ = i + 1;
        Замена = Массив[Ключ];
        j = i + 1;
        Пока j > 0 И Замена < Массив[j - 1] Цикл
            Массив[j] = Массив[j - 1];
            Замена = j - 1;
            Ключ = j - 1; 
            j = j - 1;
        КонецЦикла;    
    
        Массив[Ключ] = Замена;
        
    КонецЦикла;   
    
    Возврат Массив;    
    
КонецФункции
//---}
   Мыш
 
5 - 16.01.18 - 16:11
(3) Только так.
   Волшебник
 
Модератор
6 - 16.01.18 - 16:14
(3) Можно и так. Но лучше число и сортировать в запросе
   hhhh
 
7 - 16.01.18 - 16:18
(5) буквы не прокатят
   spiller26
 
8 - 16.01.18 - 16:25
(6) Можно в запросе динамического списка дополнять пробелами слева, так наверное и сделаю.
   grigo
 
9 - 16.01.18 - 16:28
Добавь еще одно поле, числовое. Если рег. номер состоит только из цифр, в это поле пиши число. Если есть буквы, тогда пиши 9999999999999999999999999999. Дальше сортируй сначала по этому полу, потом по рег. номеру.
   mistеr
 
10 - 16.01.18 - 19:58
(3) (5) Или наоборот. Дополнить этот реквизит, а для печати и прочего убирать. Новый реквизит не нужен.
 
 Рекламное место пустует
   breezee
 
11 - 17.01.18 - 06:37
(0) Сортируйте по дате. Зачем сортировать по номеру?
   spiller26
 
12 - 17.01.18 - 09:58
(11)
Всё наваял в запросе

ВЫБРАТЬ
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 1, 1) КАК Симв1,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 2, 1) КАК Симв2,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 3, 1) КАК Симв3,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 4, 1) КАК Симв4,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 5, 1) КАК Симв5,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 6, 1) КАК Симв6,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 7, 1) КАК Симв7,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 8, 1) КАК Симв8,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 9, 1) КАК Симв9,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 10, 1) КАК Симв10,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 11, 1) КАК Симв11,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 12, 1) КАК Симв12,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 13, 1) КАК Симв13,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 14, 1) КАК Симв14,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 15, 1) КАК Симв15,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 16, 1) КАК Симв16,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 17, 1) КАК Симв17,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 18, 1) КАК Симв18,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 19, 1) КАК Симв19,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 20, 1) КАК Симв20,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 21, 1) КАК Симв21,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 22, 1) КАК Симв22,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 23, 1) КАК Симв23,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 24, 1) КАК Симв24,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 25, 1) КАК Симв25,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 26, 1) КАК Симв26,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 27, 1) КАК Симв27,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 28, 1) КАК Симв28,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 29, 1) КАК Симв29,
    ПОДСТРОКА(ДанныеВходящихДокументов.РегистрационныйНомер, 30, 1) КАК Симв30
ПОМЕСТИТЬ ВтСимволы
ИЗ
    РегистрСведений.ДанныеВходящихДокументов КАК ДанныеВходящихДокументов
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ВтСимволы.Симв1 КАК Симв1,
    ВтСимволы.Симв2 КАК Симв2,
    ВтСимволы.Симв3 КАК Симв3,
    ВтСимволы.Симв4 КАК Симв4,
    ВтСимволы.Симв5 КАК Симв5,
    ВтСимволы.Симв6 КАК Симв6,
    ВтСимволы.Симв7 КАК Симв7,
    ВтСимволы.Симв8 КАК Симв8,
    ВтСимволы.Симв9 КАК Симв9,
    ВтСимволы.Симв10 КАК Симв10,
    ВтСимволы.Симв11 КАК Симв11,
    ВтСимволы.Симв12 КАК Симв12,
    ВтСимволы.Симв13 КАК Симв13,
    ВтСимволы.Симв14 КАК Симв14,
    ВтСимволы.Симв15 КАК Симв15,
    ВтСимволы.Симв16 КАК Симв16,
    ВтСимволы.Симв17 КАК Симв17,
    ВтСимволы.Симв18 КАК Симв18,
    ВтСимволы.Симв19 КАК Симв19,
    ВтСимволы.Симв20 КАК Симв20,
    ВЫБОР
        КОГДА ВтСимволы.Симв20 = ""
            ТОГДА ВЫБОР
                    КОГДА ВтСимволы.Симв19 = ""
                        ТОГДА ВЫБОР
                                КОГДА ВтСимволы.Симв18 = ""
                                    ТОГДА ВЫБОР
                                            КОГДА ВтСимволы.Симв17 = ""
                                                ТОГДА ВЫБОР
                                                        КОГДА ВтСимволы.Симв16 = ""
                                                            ТОГДА ВЫБОР
                                                                    КОГДА ВтСимволы.Симв15 = ""
                                                                        ТОГДА ВЫБОР
                                                                                КОГДА ВтСимволы.Симв14 = ""
                                                                                    ТОГДА ВЫБОР
                                                                                            КОГДА ВтСимволы.Симв13 = ""
                                                                                                ТОГДА ВЫБОР
                                                                                                        КОГДА ВтСимволы.Симв12 = ""
                                                                                                            ТОГДА ВЫБОР
                                                                                                                    КОГДА ВтСимволы.Симв11 = ""
                                                                                                                        ТОГДА ВЫБОР
                                                                                                                                КОГДА ВтСимволы.Симв10 = ""
                                                                                                                                    ТОГДА ВЫБОР
                                                                                                                                            КОГДА ВтСимволы.Симв9 = ""
                                                                                                                                                ТОГДА ВЫБОР
                                                                                                                                                        КОГДА ВтСимволы.Симв8 = ""
                                                                                                                                                            ТОГДА ВЫБОР
                                                                                                                                                                    КОГДА ВтСимволы.Симв7 = ""
                                                                                                                                                                        ТОГДА ВЫБОР
                                                                                                                                                                                КОГДА ВтСимволы.Симв6 = ""
                                                                                                                                                                                    ТОГДА ВЫБОР
                                                                                                                                                                                            КОГДА ВтСимволы.Симв5 = ""
                                                                                                                                                                                                ТОГДА ВЫБОР
                                                                                                                                                                                                        КОГДА ВтСимволы.Симв4 = ""
                                                                                                                                                                                                            ТОГДА ВЫБОР
                                                                                                                                                                                                                    КОГДА ВтСимволы.Симв3 = ""
                                                                                                                                                                                                                        ТОГДА ВЫБОР
                                                                                                                                                                                                                                КОГДА ВтСимволы.Симв2 = ""
                                                                                                                                                                                                                                    ТОГДА ВЫБОР
                                                                                                                                                                                                                                            КОГДА ВтСимволы.Симв1 = ""
                                                                                                                                                                                                                                                ТОГДА " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " "
                                                                                                                                                                                                                                            ИНАЧЕ " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + ВтСимволы.Симв1
                                                                                                                                                                                                                                        КОНЕЦ
                                                                                                                                                                                                                                ИНАЧЕ " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + ВтСимволы.Симв1 + ВтСимволы.Симв2
                                                                                                                                                                                                                            КОНЕЦ
                                                                                                                                                                                                                    ИНАЧЕ " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + ВтСимволы.Симв1 + ВтСимволы.Симв2 + ВтСимволы.Симв3
                                                                                                                                                                                                                КОНЕЦ
                                                                                                                                                                                                        ИНАЧЕ " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + ВтСимволы.Симв1 + ВтСимволы.Симв2 + ВтСимволы.Симв3 + ВтСимволы.Симв4
                                                                                                                                                                                                    КОНЕЦ
                                                                                                                                                                                            ИНАЧЕ " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + ВтСимволы.Симв1 + ВтСимволы.Симв2 + ВтСимволы.Симв3 + ВтСимволы.Симв4 + ВтСимволы.Симв5
                                                                                                                                                                                        КОНЕЦ
                                                                                                                                                                                ИНАЧЕ " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + ВтСимволы.Симв1 + ВтСимволы.Симв2 + ВтСимволы.Симв3 + ВтСимволы.Симв4 + ВтСимволы.Симв5 + ВтСимволы.Симв6
                                                                                                                                                                            КОНЕЦ
                                                                                                                                                                    ИНАЧЕ " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + ВтСимволы.Симв1 + ВтСимволы.Симв2 + ВтСимволы.Симв3 + ВтСимволы.Симв4 + ВтСимволы.Симв5 + ВтСимволы.Симв6 + ВтСимволы.Симв7
                                                                                                                                                                КОНЕЦ
                                                                                                                                                        ИНАЧЕ " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + ВтСимволы.Симв1 + ВтСимволы.Симв2 + ВтСимволы.Симв3 + ВтСимволы.Симв4 + ВтСимволы.Симв5 + ВтСимволы.Симв6 + ВтСимволы.Симв7 + ВтСимволы.Симв8
                                                                                                                                                    КОНЕЦ
                                                                                                                                            ИНАЧЕ " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + ВтСимволы.Симв1 + ВтСимволы.Симв2 + ВтСимволы.Симв3 + ВтСимволы.Симв4 + ВтСимволы.Симв5 + ВтСимволы.Симв6 + ВтСимволы.Симв7 + ВтСимволы.Симв8 + ВтСимволы.Симв9
                                                                                                                                        КОНЕЦ
                                                                                                                                ИНАЧЕ " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + ВтСимволы.Симв1 + ВтСимволы.Симв2 + ВтСимволы.Симв3 + ВтСимволы.Симв4 + ВтСимволы.Симв5 + ВтСимволы.Симв6 + ВтСимволы.Симв7 + ВтСимволы.Симв8 + ВтСимволы.Симв9 + ВтСимволы.Симв10
                                                                                                                            КОНЕЦ
                                                                                                                    ИНАЧЕ " " + " " + " " + " " + " " + " " + " " + " " + " " + ВтСимволы.Симв1 + ВтСимволы.Симв2 + ВтСимволы.Симв3 + ВтСимволы.Симв4 + ВтСи
   mistеr
 
13 - 17.01.18 - 12:12
(12) Гениально!

Выкладывай на ИС, там оценят.
   Мыш
 
14 - 17.01.18 - 12:15
(12) Мои глаза вытекли.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует