|
Сортировать по виртуальному реквизиту ТаблицыФормы табличной части объекта. | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
25.06.21
✎
13:28
|
Есть таблица формы, в ней есть колонки Номенклатура и Группа с путем к данным соответственно:
Объект.Материалы.Номенклатура Объект.Материалы.Номенклатура.Родитель Хочу сортировку Группа + Номенклатура. Но способа не нашел. ПРишлось писать код (ниже). Без кода есть способ? &НаКлиенте Процедура СортироватьПоГруппам(Команда) //Объект.Материалы.Сортировать("Номенклатура.Родитель, Номенклатура"); СортироватьПоГруппамНаСервере(); КонецПроцедуры Процедура СортироватьПоГруппамНаСервере() ТЗ = Объект.Материалы.Выгрузить(); ТЗ.Колонки.Добавить("_Порядок"); З = Новый Запрос( "ВЫБРАТЬ | Т.НомерСтроки, | Т.Номенклатура |ПОМЕСТИТЬ Т |ИЗ | &ТЗ КАК Т |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Т.НомерСтроки, | ТНоменклатура.Ссылка КАК Ссылка, | ТНоменклатура.Родитель |ИЗ | Справочник.Номенклатура КАК ТНоменклатура | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Т КАК Т | ПО ТНоменклатура.Ссылка = Т.Номенклатура | |УПОРЯДОЧИТЬ ПО | ТНоменклатура.Родитель.Наименование, | ТНоменклатура.Ссылка.Наименование"); З.УстановитьПараметр("ТЗ", ТЗ); Выборка = З.Выполнить().Выбрать(); Сч = 0; Пока Выборка.Следующий() Цикл ТЗ[Выборка.НомерСтроки - 1]._Порядок = Сч; Сч = Сч + 1; КонецЦикла; ТЗ.Сортировать("_Порядок"); Объект.Материалы.Загрузить(ТЗ); КонецПроцедуры &НаКлиенте Процедура СортироватьАЯ(Команда) Объект.Материалы.Сортировать("Номенклатура"); КонецПроцедуры |
|||
1
Злопчинский
25.06.21
✎
13:30
|
жмакни сортировку по номенклатуре. зажми контрол. жмакни сортировку по группе.
получилось? |
|||
2
Злопчинский
25.06.21
✎
13:38
|
и даже в такой реализации как в (0) - страшное быдлокодирование.
завтра понадобится по другому сочетанию реквизитов сортировать. причем тех, что не вытащены на форму. . правильно сделать "приблуду" - где выбираются нужные реквизиты и по совокупности выбранных реквизитов выполняется сортировка. ранее заданные сочетания реквизитов - при выборе на исполнение этой "приблуды" - выводятся в список как готтовые "профили сортировки" чтоб повторно их не набирать. . |
|||
3
Сергиус
25.06.21
✎
15:03
|
(2)"Быдлокод - наше всё"!)
|
|||
4
Гений 1С
гуру
25.06.21
✎
15:34
|
(2) давай не в общем виде. этак и я могу размышлять
|
|||
5
Гений 1С
гуру
25.06.21
✎
15:35
|
(1) не получилось.
|
|||
6
Ёпрст
25.06.21
✎
16:59
|
||||
7
Гений 1С
гуру
25.06.21
✎
18:10
|
(6) вы путаете динамическийСписок и ТаблицаФормы (для отображения табличных частей), СЭР
|
|||
8
Ёпрст
25.06.21
✎
18:19
|
(7) ну заведи колонку еще одну,расчетную колонку, заполняй её мусором при чтении на сервере, по ней сортируй.
|
|||
9
Ёпрст
25.06.21
✎
18:19
|
сортировать можно по расчетным колонкам, по пкм или с меню все действия у ТЧ
|
|||
10
Гений 1С
гуру
25.06.21
✎
18:23
|
(8) это сложнее, чем мой метод.
|
|||
11
Ёпрст
25.06.21
✎
18:24
|
Ну и метод
Сортировать у данные формы коллекция пробовал ? |
|||
12
Ёпрст
25.06.21
✎
18:25
|
ДанныеФормыКоллекция (FormDataCollection)
Сортировать (Sort) Синтаксис: Сортировать(<Колонки>, <ОбъектСравнения>) |
|||
13
Гений 1С
гуру
25.06.21
✎
18:27
|
(12) если ты посмотришь приведенные код увидишь две строки:
Объект.Материалы.Сортировать("Номенклатура"); //Объект.Материалы.Сортировать("Номенклатура.Родитель, Номенклатура"); Вторая не работает. Знаешь как заставить работать? Объект.Материалы - это и есть ДанныеФормыКоллекция |
|||
14
Ёпрст
25.06.21
✎
18:48
|
(13) ну, тогда не судьба.
В ОФ всё проще - там тч можно сортировать по нескольким колонкам кодом |
|||
15
Kesim
25.06.21
✎
18:59
|
(13) //Объект.Материалы.Сортировать("Номенклатура.Родитель, Номенклатура"); Объект.Материалы.Сортировать("Группа, Номенклатура"); навскидку
|
|||
16
Ёпрст
25.06.21
✎
19:01
|
(15) там нет реквизита группа, будет только номенклатура.
|
|||
17
Ёпрст
25.06.21
✎
19:02
|
Разве что, добавить расчетный реквизит Родитель в колонку и его заполнять в при создании на сервере, запихивая туда родителя.
Тогда будет колонка для сортировки |
|||
18
Злопчинский
25.06.21
✎
19:34
|
(4) тебе ТЗ написать? цена вопроса - 7500руб
|
|||
19
Злопчинский
25.06.21
✎
19:35
|
(9) я жутьк расстроен когда (в УНФ, визуально - ТЧ документа) вытащил на форму Номенклатура.Артикул и оказалось, что по такой колонке нихера сортировать нельзя. "Пидарасы, сэр!"
|
|||
20
Ёпрст
25.06.21
✎
19:38
|
(19) добавь колонку в реквизиты объекта в тч, заполняй в присоздании на сервере и при изменениии состава строк тч.
Тогда по ней можно делать что угодно - сортировку/отбор/условное оформление. |
|||
21
Вафель
25.06.21
✎
20:15
|
(20) а еще после записи .
Итого слишком много даижений ради 1 действия |
|||
22
acht
25.06.21
✎
20:21
|
(20) > присоздании на сервере
В причтении (21) Зато стандартные команды будут работать. |
|||
23
Вафель
25.06.21
✎
20:25
|
Апотом еще юзеров учить как по 2м колонкам сортировать
|
|||
24
Гений 1С
гуру
25.06.21
✎
20:52
|
(14) ОФ это для пенсионеров
|
|||
25
Гений 1С
гуру
25.06.21
✎
20:53
|
(19) но можно так как я написал кодецом
|
|||
26
Гений 1С
гуру
25.06.21
✎
20:54
|
(18) Бедный штоли?
|
|||
27
Злопчинский
25.06.21
✎
21:37
|
(26) Свои считай, а я свои считать буду...
|
|||
28
Гений 1С
гуру
25.06.21
✎
22:18
|
(27) тогда не делай мне такие предложения
|
|||
29
Злопчинский
25.06.21
✎
23:25
|
(28) в отказняк пошел? ты предложил описать предметно. я выставил цену, ты слился.
пусть тебе за 500 руб студенты ТЗ пишут... |
|||
30
acht
26.06.21
✎
09:39
|
(26) > Бедный штоли?
Геня, а ты со своими заказчиками также торгуешся? |
|||
31
Вафель
26.06.21
✎
11:40
|
Зачем делать универсальную процедуру, если 99% что она более не потребуется?
|
|||
32
Гений 1С
гуру
26.06.21
✎
13:26
|
(31) у человека серьезный подход может, не лезь к гуре
|
|||
33
Злопчинский
26.06.21
✎
19:25
|
(31) зачем делать такую монструозину как УТ11 или прочие типовые? большая часть все равно не использует большую часть возможностей.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |