1С: Сортировка таблицы значений на управляемой форме
По умолчанию, не понятно почему на платформе не завезено средство сортировки таблицы значений отображаемой на форме. Поэтому выходом может быть например такое решение:
- добавляем команды СортироватьПоКолонкеВозр и СортироватьПоКолонкеУбыв
- добавляем их в контекстное меню
- Код команды может быть такой:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
&НаКлиенте Процедура СортироватьПоКолонке(Команда) ТЭ_имя_объект=ТекущийЭлемент.Имя; ТЭ_поле=ТекущийЭлемент.ТекущийЭлемент.имя; имяКолонки=СтрЗаменить( ТЭ_поле,ТЭ_имя_объект,""); если команда.имя="СортироватьПоКолонкеУбыв" тогда СортироватьНасервере(ТЭ_имя_объект,имяКолонки,"Убыв"); конецесли; если команда.имя="СортироватьПоКолонкеВозр" тогда СортироватьНасервере(ТЭ_имя_объект,имяКолонки,"Возр"); конецесли; КонецПроцедуры &НаСервере Процедура сортироватьНасервере(имяОбъекта,имяКолонки,ВидСортировки) тз= РеквизитФормыВЗначение("БуферТЗ"); тз.Сортировать(имяКолонки+" "+ВидСортировки); ЗначениеВРеквизитФормы(ТЗ,"БуферТЗ"); конецпроцедуры |
В результате получаем что-то подобное:
