Имя: Пароль:
1C
1С v8
Сортировка по массиву
0 mataranga
 
28.11.17
07:48
доброе время суток

есть массив с номерами
89000000001
89000000002
89000000003
89000000004
...

Делаю запрос

    Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ
        |    КонтактнаяИнформацияПациентаСрезПоследних.Пациент
        |ИЗ
        |    РегистрСведений.КонтактнаяИнформацияПациента.СрезПоследних(&ТекДата, ТелефонВФормате В (&Шаблон)) КАК КонтактнаяИнформацияПациентаСрезПоследних";
        
        Запрос.УстановитьПараметр("ТекДата",ТекущаяДата());
        Запрос.УстановитьПараметр("Шаблон",Тест);
        Результат = Запрос.Выполнить();
        Выборка = Результат.Выбрать();
        
        Пока Выборка.Следующий() Цикл
        
        Сообщить(Выборка.Пациент);    

        КонецЦикла;





Проблема в том что он сортирует их не в том порядке в котором они изначально были в массиве
1 mataranga
 
28.11.17
07:48
Запрос.УстановитьПараметр("Шаблон",Тест);

"Тест" эта массив номеров вида
89000000001
89000000002
89000000003
89000000004
2 fgaabbb
 
28.11.17
07:49
ну правильно - а кто в запросе сортировать-то будет?
3 mataranga
 
28.11.17
07:50
мне надо строго порядок как в переданном массиве, не хочется в цикл и по строчно пихать
4 Мимохожий Однако
 
28.11.17
07:50
Добавь сортировку по полю ТелефонВФормате
5 Мимохожий Однако
 
28.11.17
07:51
Упорядочить
6 mataranga
 
28.11.17
07:53
у меня идет чтение лога телефонии, если я сделаю сортировку по полю ТелефонВФормате, то у меня порядок будет не такой как в файле лога.
7 fgaabbb
 
28.11.17
08:01
(6) по другому полю сортируй - например, по дате звонка
8 Ненавижу 1С
 
гуру
28.11.17
08:06
передавай как ТЗ свой массив и сортируй по нужному полю
9 mataranga
 
28.11.17
08:07
(8) +
10 nordbox
 
28.11.17
08:19
(0)>>Проблема в том что он сортирует их не в том порядке в котором они изначально были в массиве
А как он их сортирует?
11 VladZ
 
28.11.17
08:30
(0) Если не задаешь в запросе "упорядочить по" - программа выводит данные в том порядке, в котором они записаны в базе. "Упорядочить по" позволяет задать нужный тебе порядок. Для запроса нет команды "сортируй как в изначальном массиве". "ТелефонВФормате В (&Шаблон)" - это всего лишь УСЛОВИЕ.

Сортируй либо по полю ТелефонВФормате. Либо добавляй свое поле и сортируй по нему.