![]() |
|
Не получается сортировка в зависимости от выбора пользователя | ☑ | ||
---|---|---|---|---|
0
1CNachalo
20.02.18
✎
13:00
|
Задача: организовать сортировку в зависимости от выбора пользователя.
Возможность выбора порядка сортировки для пользователя организовываю через поле переключателя. Прописываю процедуру при изменении в поле переключателя: Процедура СортировкаПриИзменении(Элемент) Если Объект.Сортировка = "2" Тогда Объект.ПолеСортировки = "Номер" ИначеЕсли Объект.Сортировка = "3" Тогда Объект.ПолеСортировки = "Номер УБЫВ" ИначеЕсли Объект.Сортировка = "4" Тогда Объект.ПолеСортировки = "Дата" ИначеЕсли Объект.Сортировка = "5" Тогда Объект.ПолеСортировки = "Дата УБЫВ" КонецЕсли; В запросе указываю: |УПОРЯДОЧИТЬ ПО |&ПолеСортировки"; После запроса прописываю: Запрос.УстановитьПараметр("ПолеСортировки", Объект.ПолеСортировки); Ставлю точку останова. Вижу, что в Объект.ПолеСортировки попадает нужное значение. Ошибок не выдает. Но и порядок вывода инфы никак не меняется. Почему? |
|||
1
dezss
20.02.18
✎
13:03
|
а что ты потом с результатом запроса делаешь?
|
|||
2
dezss
20.02.18
✎
13:04
|
И вообще не понятно, где ты пытаешься эту сортировку прикрутить?
В форме документа сортируешь таб. часть? |
|||
3
1CNachalo
20.02.18
✎
13:26
|
Потом результат запроса вывожу как сообщения:
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если Объект.ВыводитьТолькоПроведенныеДокументы И Не ВыборкаДетальныеЗаписи.Проведен Тогда Продолжить; КонецЕсли; Номер1=ВыборкаДетальныеЗаписи. Номер; НомерНовый=УбратьЛидирующиеНулиВНомере( Номер1); Сообщить (НомерНовый +" | " +Формат(ВыборкаДетальныеЗаписи.Дата,"ДФ= dd.MM.yyyy") +" | " +ВыборкаДетальныеЗаписи.Поставщик); КонецЦикла; |
|||
4
1CNachalo
20.02.18
✎
13:28
|
При этом сообщения выводятся, но их порядок, от того, что была добавлена сортировка, не меняется
|
|||
5
catena
20.02.18
✎
13:34
|
(4)Ну еще бы.
Вставляй в текст, а не параметром. ПолеСортировки = "номер убыв"; |УПОРЯДОЧИТЬ ПО |"+ПолеСортировки; |
|||
6
Darych
20.02.18
✎
13:37
|
НЕ
Запрос.УстановитьПараметр("ПолеСортировки", Объект.ПолеСортировки); А Текстзапроса + "УПОРЯДОЧИТЬ ПО "+Объект.ПолеСортировки или стрзаменить("&ПолеСортировки", Объект.ПолеСортировки) |
|||
7
Darych
20.02.18
✎
13:38
|
(6)+или стрзаменить(текстзапроса,"&ПолеСортировки", Объект.ПолеСортировки)
|
|||
8
1CNachalo
20.02.18
✎
17:09
|
Спасибо! сейчас буду пробовать
|
|||
9
1CNachalo
20.02.18
✎
17:32
|
Не работает так, выдает ошибки
|
|||
10
1CNachalo
20.02.18
✎
18:44
|
Если делаю вот так, как в 6
Текстзапроса + "УПОРЯДОЧИТЬ ПО "+Объект.ПолеСортировки выдает ошибку, что Объект.ПолеСортировки не найден. Мной же процедура при изменении переключателя выбора способа сортировки производилась на клиенте. А запрос - на сервере - может поэтому |
|||
11
h-sp
20.02.18
✎
18:48
|
(10) это без разницы. Объект виден во всей форме.
|
|||
12
1CNachalo
20.02.18
✎
19:22
|
(11) Тогда почему?
|
|||
13
1CNachalo
20.02.18
✎
19:23
|
(6) стрзаменить("&ПолеСортировки", Объект.ПолеСортировки)
Вот это куда надо писать? |
|||
14
1CNachalo
20.02.18
✎
19:27
|
(5) Как, если по заданию пользователь нажатием кнопки выбирает способ сортировки.
Варианты, которые пользователь может выбрать: а) сортировать по номеру по возрастанию, б) по номеру по убыванию, в) по дате возрастание, г) по дате убывание, д) без сортировки. Тут же одно поле в "Упорядочить как" не пропишишь, как я понимаю |
|||
15
Franchiser
гуру
20.02.18
✎
19:28
|
Запрос.Текст = стрзаменить(запрос.текст,твойпараметр,твоеполе)
|
|||
16
1CNachalo
20.02.18
✎
20:48
|
Работает!!! Спасибо ВСЕМ!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |