Как включить переключение сортировки табличной части при щелчке на заголовке колонки?

1. Salavat 13 19.02.14 19:59 Сейчас в теме
В названии вобщемто и уместился вопрос. Поподробнее:

Режим обычного приложения. Внешняя (без разницы думаю) обработка. Есть табличная часть у обработки и соответственно на форме - табличное поле.

И вот как включить, чтобы при щелчке на заголовок переключалась сортировка.

Самая распространённая функция. В УТ 10.3 (например) справочник Номенклатура позволяет переключать сортировку по Коду/Артикулу/Наименованию (вверх/вниз).

Да и в др. местах это обычное явление.

А вот как сделать в своей обработке это не нашёл. Вижу только - правая кнопка (не на заголовке, а на ячейках) и там уже А-Я/Я-А.

Покажите, люди добрые.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Mafoni 19.02.14 20:20 Сейчас в теме
А не индексирование ли часов отвечает за данную опцию ???
Попробуй тебя индексирование приятно удивит.
3. Salavat 13 19.02.14 20:26 Сейчас в теме
5. Rothschild 19.02.14 20:28 Сейчас в теме
(3) Salavat,
"индексирование" - это в свойствах реквизитов шапки и реквизитов табличных частей объектов.
6. Salavat 13 19.02.14 20:34 Сейчас в теме
(5) Rothschild, или я неправильно объясняю или я не понял вас (тогда).

нет у табличной части (и у колонок её - не вижу) такого.
в справочниках/документах - есть, да.
у меня обработка (внешняя). табличная часть формируется из данных номенклатуры - да, но не простым запросом.
20. Rothschild 20.02.14 07:48 Сейчас в теме
(6) Salavat,
да для обработок и отчетов индексирования нет,
поскольку их данные не хранятся в базе данных.

это индексирование добавляет в физических таблицах объекта в базе
дополнительные индексы для ускорения операций чтения.

(16) Salavat,
по этой же причине "основной таблицей" динамического списка
нельзя выбрать табличную часть обработки.
22. Salavat 13 20.02.14 07:52 Сейчас в теме
(20) Rothschild, да я вкурсе, что у отчётов/обработок впринципе нечего индексировать. так как и данных они не хранят.

вот и ищу (спрашиваю) лазейку/ки.
4. Rothschild 19.02.14 20:26 Сейчас в теме
(2) Mafoni, там есть два индексирование
просто
"Индексирование"
и
"Индексирование с дополнительным упорядочиванием"

какое из них за что отвечает???
7. Mafoni 19.02.14 20:45 Сейчас в теме
Давай разберемся у тя че за список объектов ?
8. Mafoni 19.02.14 20:46 Сейчас в теме
Какие это объекты и по какой колонке ты хош включить сортировку ?
9. Mafoni 19.02.14 20:47 Сейчас в теме
Так у тя обработка данные на форме которые ты отображаешь они просто на форме табличная часть или у обработки есть табличная часть ?
10. Salavat 13 19.02.14 21:00 Сейчас в теме
(9) Mafoni, (8) Mafoni, (7) Mafoni,
Есть обработка.
У неё есть табличная часть (колонки - текстовые числовые и одна - ссылка на номенклатуру).
числовые колонки - это цены, количества, признаки,..
текстовые колонки - название, название группы, Доп-описание (та, что - неограниченная строка),.. ещё варианты из их комбинаций.
ссылка на номенклатуру - это откуда эти колонки получаются.

ТЧ заполняется выборкой нужной номенклатуры с учётом ещё доп-условий (из регистра сведений).

ТЧ отображается на форме (обычное приложение) в табличном поле.

у табличного поля есть правай кнопка - упорядочить вверх/вниз, но гораздо удобнее как в списках справочников и списках документов - по заголовку переключать направление сортировки щёлкаемой колонки.

вот и - как это сделать не могу найти.
11. Salavat 13 19.02.14 21:04 Сейчас в теме
вот я ещё понял, что как у справочников/документов есть такая же возможность у динамических списков. М.б. - из ТЧ перекидывать в динамический список?
12. Mafoni 19.02.14 21:17 Сейчас в теме
если есть возможность использовать динамический список в форме обработки то попробуй
ибо в 8.3 в динамическом списке можно по нажатию на шапку управлять сортировкой списка. возможно не всех полей (не проверял)
но в целом такая возможность есть.


а по поводу динамического списка в обычном приложении - есть у меня огромные сомнения что он доступен но попробовать можно.

а заодно когда попробуешь сообщи результат мне будет полезно знать возможно такое или нет.

заранее спасибо .
13. Mafoni 19.02.14 21:20 Сейчас в теме
Попробовал толька что .


в форме (обычное приложение) - нельзя использовать динамические списки. по крайней мере у
меня не получилось этого :(
Rothschild; +1 Ответить
14. Salavat 13 19.02.14 21:21 Сейчас в теме
(13) Mafoni, да вот у меня тоже не выходит чтото.

про 8.3 (и 8.2) управляемый режим я в курсе, вот и пытаюсь сюда его вытащить.
21. Rothschild 20.02.14 07:49 Сейчас в теме
(13) Mafoni, во истину это так!
;)
***
если только управляемая форма не используется
в толстом клиенте (обычное приложение).
23. Salavat 13 20.02.14 07:54 Сейчас в теме
(21) Rothschild, в УТ 10.3 (типовой без изменений, которую я бью и пытаю) нет вообще управляемого режима.
я это тоже - в курсе.
15. Mafoni 19.02.14 21:23 Сейчас в теме
Походу это не возможно.

К сожалению конечно но что делать разработчики не заботятся об 1с-никах :)
16. Salavat 13 19.02.14 21:24 Сейчас в теме
точнее, выходит если указать указать основную таблицу - Справочник.Номенклатура (пробовад пример). Тогда без проблем и с переключением сортировки по шапке.

а вот как теперь задать основной таблицей табличную часть обработки или построить запрос из неё?...
17. Mafoni 19.02.14 23:58 Сейчас в теме
получилось аль нет ? Как успехи ?
18. Mafoni 20.02.14 01:57 Сейчас в теме
если есть возможность использовать динамический список в форме обработки то попробуй
ибо в 8.3 в динамическом списке можно по нажатию на шапку управлять сортировкой списка. возможно не всех полей (не проверял)
но в целом такая возможность есть.


а по поводу динамического списка в обычном приложении - есть у меня огромные сомнения что он доступен но попробовать можно.

а заодно когда попробуешь сообщи результат мне будет полезно знать возможно такое или нет.

заранее спасибо .
19. Salavat 13 20.02.14 06:17 Сейчас в теме
(18) Mafoni, я ж говорю - если назначить основной таблицей Справочник.Номенклатура, то без проблем - работает как и нужно, как обычная форма списка - с нужными мне сортировками по заголовку.

но вот как теперь, выгрузить Табличную часть обработки (со всеми её полями, включая неограниченные строки, которые нужны именно без обрезания) и вывести её в запрос этого динамического списка - я не знаю.

Какие ещё идеи будут?
24. Rothschild 20.02.14 07:55 Сейчас в теме
(19) Salavat,
из табличной части можно в принципе выгрузить колонку в массив значений
и использовать его в качестве параметра СКД для динамического списка.

а вот целиком использовать табличную часть обработки в запросе,
загрузив ее во временную таблицу - НЕ ПОЛУЧИТСЯ.

возможности языка запроса и системы СКД в динамических списках сильно подрезаны.
25. Salavat 13 20.02.14 07:59 Сейчас в теме
(24) Rothschild, т.е. примерно такой текст запроса:
ВЫБРАТЬ
	Т.Номенклатура,
	Т.Цена1,
	Т.Цена2,
	Т.Цена3,
	Т.Код,
	Т.ДопОписание
ПОМЕСТИТЬ Таб
ИЗ
	&ТабЧасть КАК Т
ГДЕ
	Т.Номенклатура В ИЕРАРХИИ(&ЗапрещеннаяГруппа)
;

 X 
ВЫБРАТЬ
	Таб.Номенклатура
ИЗ
	Таб КАК Таб
Показать


работать не будет?
28. Rothschild 20.02.14 10:09 Сейчас в теме
(25) Salavat,

ВЫБРАТЬ
Т.Номенклатура,
Т.Цена1,
Т.Цена2,
Т.Цена3,
Т.Код,
Т.ДопОписание
ПОМЕСТИТЬ Таб
ИЗ
&ТабЧасть КАК Т

Показать

в запросе динамического списка нельзя использовать временные таблицы.
у меня покрайней мере не получилось.
30. Salavat 13 20.02.14 10:12 Сейчас в теме
(28) Rothschild, да вот и у меня не получается - эту таблицу же нужно ещё обновлять.
поэтому и спрашиваю варианты.
26. Salavat 13 20.02.14 08:02 Сейчас в теме
ладно тогда, какие ещё варианты сделать переключение сортировки по щелчку в заголовке?
для табличной части обработки.
27. Salavat 13 20.02.14 08:05 Сейчас в теме
из табличной части можно в принципе выгрузить колонку в массив значений

только колонок в табличной части 19. м.б. правда можно обойтись одной только "Номенклатура", а остальные нарисовать "ПриВыводеСтроки"?
29. Rothschild 20.02.14 10:11 Сейчас в теме
(27) Salavat,

а остальные нарисовать "ПриВыводеСтроки"?

1. в управляемых формах этого удовольствия нас лишили разработчики платформы.

2. в динамическом списке вообще нет "вычисляемых" колонок.
все колонки нужно выбирать в запросе.
31. Salavat 13 20.02.14 10:18 Сейчас в теме
(29) Rothschild, повторяю - у меня УТ 10.3 в режиме обычного приложения.

вообще мне один раз только приходилось включать в ней управляемый режим (для доп-функционала) и это к этому случаю не относится - здесь стандартно.
39. vorkir 21.07.17 11:07 Сейчас в теме
(31) не думаю, что это еще актуально, но в обычном режиме можно открыть управляемую форму встроенной обработки, а внешней - нельзя
32. Mafoni 20.02.14 13:00 Сейчас в теме
Есть еще такой вариант он правда несколько странный но все же может тебя устроить суть в
следующем делаешь отчет на скд при открытии формы отчета заполняешь таблицу значений нужными тебе данными .
после опять же при открытии эту таблицу данных отправляешь в скд на основании ее строишь отчет (к примеру вывод данный в простой список) у табличного документа куда выводится отчет разрешаешь редактирование это тебе позволит редактировать данные
а заголовков колонок запихиваешь чего нить в расшифровку а потом в методе ОбработкаРасшифровки (Событие, возникающее при выборе ячейки с расшифровкой ОбработкаРасшифровки, DetailProcessing) програмно меняешь настрокйки скд (в частности сортировку твою)
и перестраиваешь отчет . Если данных будет не много то возможно это будет работать более менее быстро. как пример вот тут можно посмотреть как работать с расшифровкой - http://infostart.ru/public/158630/ в скд
а в целом достаточно будет погуглить и найти сотню примеров работы с расшифровкой в СКД.

Дерзай :)
33. Mafoni 20.02.14 13:01 Сейчас в теме
Хотя в целом этот вариант - эт немного через ж...у но другого я пока что не вижу.
А ты еще решение своей проблемы не придумал ???
37. Salavat 13 20.02.14 13:12 Сейчас в теме
(33) Mafoni, это ни не много, а совсем много через ж...

нет, но пока обошёлся стандартным правая кнопка -> сортировать вверх/вниз. на нужной колонке.

по сравнению со стандартным щелчком в справочник-списке и документ-списках, это тоже через пень-колода. но - только так нашёл. да и делать ничего не нужно - всё стандарт.

но, по щелчку в заголовке - удобнее
34. Mafoni 20.02.14 13:02 Сейчас в теме
и да если использовать в скд таблицу значений в качестве источника то строить скд прийдется програмно вот так
35. Mafoni 20.02.14 13:03 Сейчас в теме
ВнешниеНаборыДанных = Новый Структура;
ВнешниеНаборыДанных.Вставить("ТаблицаДанных",ТаблицаДанных);

СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки=КомпоновщикНастроек.ПолучитьНастройки();


КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,
Настройки);

ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,
ВнешниеНаборыДанных);

ТабДок = Новый ТабличныйДокумент;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
38. Salavat 13 20.02.14 13:15 Сейчас в теме
(35) Mafoni, вот это я вообще не понял (уж извиняй).

печатная форма это хоть понятно - регламентированные отчёты многие так делаются. а это, просто не понял.
36. Mafoni 20.02.14 13:03 Сейчас в теме
В данном примере ТаблицаДанных - это строго типизированная таблица
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот