Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Обычные формы. Сортировка по добавленной вручную колонке табличной части.

Обычные формы. Сортировка по добавленной вручную колонке табличной части.
Я
   Родом из детства
 
22.03.21 - 15:22
Здравствуйте всем. Возник следующий вопрос:
Имеется документ. В нем есть табличная часть с соответствующими реквизитами (ТЧ: Грузы(Груз, Вес, Рейс)).
В форме документа мы выводим эту табличную часть. К ней привязана командная панель со стандартными кнопками сортировки(по возрастанию/убыванию). Они работают по отношению к реквизитам ТЧ.
Однако, мы создаем дополнительные колонки к этой таблице на форме(Форма.НашаТаблица.ДобавитьКолонку - делаю это лапками, непрограммно). А дальше в обработчике тч(при получении данных/выводе строки) заполняю эту колонку(ОформлениеСтроки.Ячейки.Маркировка.Значение = Строка(мГруз.Маркировка);. Стоит вопрос над тем, можно ли как-то сортировать эти колонки? По идее нет, тк эти данные постоянно перезаполняются. Однако, заметил, что подобно созданные колонки, вне зависимости от того, каким образом мы их заполняем нельзя стандартно сортировать.
И думаю сейчас, а как лучше реализовать сортировку по маркировке? Добавлять маркировку реквизитом тчГрузы как-то неочень. Ведь там и так есть реквизит груз, а маркировка - это, как его наименование. Но других способов пока не придумал(
   mistеr
 
1 - 22.03.21 - 15:33
(0) Сортировать по виртуальным колонкам нельзя, только по реальным данным.

Какие есть варианты?
1) Добавить реквизит в ТЧ.
2) Скопировать ТЧ в ТЗ и показать в табличном поле ТЗ.
3) Создать обработку с ТЧ, заполнять документ с ее помощью.
4) Запихать вашу маркировку в один из имеющихся реквизитов ТЧ.
   mikecool
 
2 - 22.03.21 - 15:38
(1) + выгрузить таб часть в ТЗ, добавить колонку для сортировки, отсортировать, выгрузить в таб часть
   hhhh
 
3 - 22.03.21 - 15:43
(0) это философский вопрос на самом деле: когда вы делаете сортировку, у вас в результате запускается при получении данных/выводе строки, а когда запускаете при получении данных/выводе строки, у вас запускается сортировка. Замкнутый круг получается.
   Serg_1960
 
4 - 22.03.21 - 15:52
Имхо, сортировать можно всё! Даже тёплое с пушистым! Но только если делать это... как там автор сказал... лапками :)
   runoff_runoff
 
5 - 22.03.21 - 16:40
если всё допилено-перепилено.. то режим управляемых форм в обычном приложении поможет..
   Serg_1960
 
6 - 22.03.21 - 17:06
Зачем всё так усложнять?
    ТЗИсточник = Грузы.Выгрузить();
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.УстановитьПараметр("ТЗИсточник", ТЗИсточник);
    Запрос.Текст = 
    "ВЫБРАТЬ * ПОМЕСТИТЬ ВТПриемник ИЗ    &ТЗИсточник КАК ТЗИсточник ;
    |    ВЫБРАТЬ * ИЗ ВТПриемник КАК ВТПриемник УПОРЯДОЧИТЬ ПО ВТПриемник.Груз.Маркировка";
    Грузы.Загрузить(Запрос.Выполнить().Выгрузить());
   Веселый собака
 
7 - 22.03.21 - 18:52
(2) Выгрузить можно сразу с новой колонкой, искусственно прописанной в запросе.
типа: 0 КАК МояНоваяКолонка
   Родом из детства
 
8 - 23.03.21 - 08:46
Спасибо всем за ответы. Попробую ваши варианты

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