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

1С:Предприятие :: 1С:Предприятие 8 общая

Не получается сортировка в зависимости от выбора пользователя

Не получается сортировка в зависимости от выбора пользователя
Я
   1CNachalo
 
20.02.18 - 13:00
Задача: организовать сортировку в зависимости от выбора пользователя.
Возможность выбора порядка сортировки для пользователя организовываю через поле переключателя.
Прописываю процедуру при изменении в поле переключателя:

Процедура СортировкаПриИзменении(Элемент)
Если Объект.Сортировка = "2"
            Тогда Объект.ПолеСортировки = "Номер"
    ИначеЕсли    Объект.Сортировка = "3"
            Тогда Объект.ПолеСортировки = "Номер УБЫВ"
    ИначеЕсли    Объект.Сортировка = "4"
            Тогда Объект.ПолеСортировки = "Дата"
    ИначеЕсли    Объект.Сортировка = "5"
            Тогда Объект.ПолеСортировки = "Дата УБЫВ"

КонецЕсли;

В запросе указываю:

|УПОРЯДОЧИТЬ ПО
        |&ПолеСортировки";

После запроса прописываю:
 Запрос.УстановитьПараметр("ПолеСортировки", Объект.ПолеСортировки);


Ставлю точку останова. Вижу, что в Объект.ПолеСортировки попадает нужное значение. Ошибок не выдает. Но и порядок вывода инфы никак не меняется.

Почему?
 
 
   dezss
 
1 - 20.02.18 - 13:03
а что ты потом с результатом запроса делаешь?
   dezss
 
2 - 20.02.18 - 13:04
И вообще не понятно, где ты пытаешься эту сортировку прикрутить?
В форме документа сортируешь таб. часть?
   1CNachalo
 
3 - 20.02.18 - 13:26
Потом результат запроса вывожу как сообщения:
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            
            Если Объект.ВыводитьТолькоПроведенныеДокументы И Не ВыборкаДетальныеЗаписи.Проведен
                Тогда Продолжить;
                КонецЕсли;
                     Номер1=ВыборкаДетальныеЗаписи. Номер;
            НомерНовый=УбратьЛидирующиеНулиВНомере( Номер1);
            Сообщить (НомерНовый
        +"  |  "
        +Формат(ВыборкаДетальныеЗаписи.Дата,"ДФ= dd.MM.yyyy")
        +"  |  "
        +ВыборкаДетальныеЗаписи.Поставщик);

            
            
            КонецЦикла;
   1CNachalo
 
4 - 20.02.18 - 13:28
При этом сообщения выводятся, но их порядок, от того, что была добавлена сортировка, не меняется
   catena
 
5 - 20.02.18 - 13:34
(4)Ну еще бы.
Вставляй в текст, а не параметром.
ПолеСортировки = "номер убыв";

|УПОРЯДОЧИТЬ ПО 
        |"+ПолеСортировки;
   Darych
 
6 - 20.02.18 - 13:37
НЕ  
Запрос.УстановитьПараметр("ПолеСортировки", Объект.ПолеСортировки);
А 
Текстзапроса + "УПОРЯДОЧИТЬ ПО "+Объект.ПолеСортировки
или стрзаменить("&ПолеСортировки", Объект.ПолеСортировки)
   Darych
 
7 - 20.02.18 - 13:38
(6)+или стрзаменить(текстзапроса,"&ПолеСортировки", Объект.ПолеСортировки)
   1CNachalo
 
8 - 20.02.18 - 17:09
Спасибо! сейчас буду пробовать
   1CNachalo
 
9 - 20.02.18 - 17:32
Не работает так, выдает ошибки
   1CNachalo
 
10 - 20.02.18 - 18:44
Если делаю вот так, как в 6 
Текстзапроса + "УПОРЯДОЧИТЬ ПО "+Объект.ПолеСортировки

выдает ошибку, что Объект.ПолеСортировки не найден.
Мной же процедура при изменении переключателя выбора способа сортировки производилась на клиенте. А запрос - на сервере - может поэтому
 
 Рекламное место пустует
   h-sp
 
11 - 20.02.18 - 18:48
(10) это без разницы. Объект виден во всей форме.
   1CNachalo
 
12 - 20.02.18 - 19:22
(11) Тогда почему?
   1CNachalo
 
13 - 20.02.18 - 19:23
(6) стрзаменить("&ПолеСортировки", Объект.ПолеСортировки)

Вот это куда надо писать?
   1CNachalo
 
14 - 20.02.18 - 19:27
(5) Как, если по заданию пользователь нажатием кнопки выбирает способ сортировки.
Варианты, которые пользователь может выбрать:
а) сортировать по номеру по возрастанию,
б) по номеру по убыванию,
в) по дате возрастание,
г) по дате убывание,
д) без сортировки.

Тут же одно поле в "Упорядочить как" не пропишишь, как я понимаю
   Franchiser
 
15 - 20.02.18 - 19:28
Запрос.Текст = стрзаменить(запрос.текст,твойпараметр,твоеполе)
   1CNachalo
 
16 - 20.02.18 - 20:48
Работает!!! Спасибо ВСЕМ!

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