Имя: Пароль:
1C
 
Сортировка по иерархии в документе
0 Nder
 
05.06.25
09:23
Добрый день. Подскажите начинающему, что не так в запросе на сортировку по иерархии (1с 8.3 УТ11.5):
&НаСервере
Процедура Сортировка()
    // Вставить содержимое обработчика.
этотобъект.Записать();    
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
                                                
Запрос.Текст =
"ВЫБРАТЬ
|    РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
|    РеализацияТоваровУслугТовары.НомерСтроки КАК НомерСтроки,
|    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
|    РеализацияТоваровУслугТовары.Характеристика КАК Характеристика,
|    РеализацияТоваровУслугТовары.Назначение КАК Назначение,
|    РеализацияТоваровУслугТовары.Упаковка КАК Упаковка,
|    РеализацияТоваровУслугТовары.КоличествоУпаковок КАК КоличествоУпаковок,
|    РеализацияТоваровУслугТовары.Количество КАК Количество,
|    РеализацияТоваровУслугТовары.ВидЦены КАК ВидЦены,
|    РеализацияТоваровУслугТовары.Цена КАК Цена,
|    РеализацияТоваровУслугТовары.Сумма КАК Сумма,
|    РеализацияТоваровУслугТовары.СтавкаНДС КАК СтавкаНДС,
|    РеализацияТоваровУслугТовары.СуммаНДС КАК СуммаНДС,
|    РеализацияТоваровУслугТовары.СуммаСНДС КАК СуммаСНДС,
|    РеализацияТоваровУслугТовары.КодСтроки КАК КодСтроки,
|    РеализацияТоваровУслугТовары.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
|    РеализацияТоваровУслугТовары.СуммаАвтоматическойСкидки КАК СуммаАвтоматическойСкидки,
|    РеализацияТоваровУслугТовары.ПроцентРучнойСкидки КАК ПроцентРучнойСкидки,
|    РеализацияТоваровУслугТовары.ПроцентАвтоматическойСкидки КАК ПроцентАвтоматическойСкидки,
|    РеализацияТоваровУслугТовары.КлючСвязи КАК КлючСвязи,
|    РеализацияТоваровУслугТовары.Склад КАК Склад,
|    РеализацияТоваровУслугТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
|    РеализацияТоваровУслугТовары.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
|    РеализацияТоваровУслугТовары.ЗаказКлиента КАК ЗаказКлиента,
|    РеализацияТоваровУслугТовары.СрокПоставки КАК СрокПоставки,
|    РеализацияТоваровУслугТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
|    РеализацияТоваровУслугТовары.Серия КАК Серия,
|    РеализацияТоваровУслугТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
|    РеализацияТоваровУслугТовары.НоменклатураНабора КАК НоменклатураНабора,
|    РеализацияТоваровУслугТовары.ХарактеристикаНабора КАК ХарактеристикаНабора,
|    РеализацияТоваровУслугТовары.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
|    РеализацияТоваровУслугТовары.КодТНВЭД КАК КодТНВЭД,
|    РеализацияТоваровУслугТовары.ОбъектРасчетов КАК ОбъектРасчетов,
|    РеализацияТоваровУслугТовары.Подразделение КАК Подразделение,
|    РеализацияТоваровУслугТовары.НоменклатураПартнера КАК НоменклатураПартнера,
|    РеализацияТоваровУслугТовары.СуммаБонусныхБалловКСписанию КАК СуммаБонусныхБалловКСписанию,
|    РеализацияТоваровУслугТовары.СуммаБонусныхБалловКСписаниюВВалюте КАК СуммаБонусныхБалловКСписаниюВВалюте,
|    РеализацияТоваровУслугТовары.СуммаНачисленныхБонусныхБалловВВалюте КАК СуммаНачисленныхБонусныхБалловВВалюте
|ИЗ
|    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|ГДЕ
|    РеализацияТоваровУслугТовары.Ссылка = &Ссылка
|
|УПОРЯДОЧИТЬ ПО  
|Номенклатура ИЕРАРХИЯ";


результат=запрос.Выполнить();
Товар= результат.Выгрузить();
Объект.Товары.Загрузить(Товар);
1 Fedor-1971
 
05.06.25
09:25
(0) Упорядочиваются ссылки, а ожидание что будет по наименованию?
2 Nder
 
05.06.25
09:28
(1) т.е. нужно выгрузить во временную таблицу, обработать запросом и вернуть?
3 Волшебник
 
05.06.25
09:31
(0) Здесь сортировка по иерархии не нужна, потому что в документе нет никаких групп.
4 Мультук
 
гуру
05.06.25
09:34
(0)

Чуть позже 1С добавит в таб.часть "Товары" пару "срочно-важных" реквизитов и этот код начнёт делать говно (простите за мой французский), потому как эти реквизиты это код будет обнулять.
5 Nder
 
05.06.25
09:35
(4) подскажите как нужно сделать, пожалуйста
6 Nder
 
05.06.25
09:37
(3) мне нужно расположить строки в табличной части согласно иерархии справочника номенклатуры
7 Михаил Козлов
 
05.06.25
09:42
(6) Как Вы себе представляете порядок папок (групп) справочника? По наименованию? В справочнике можно выбрать и другой порядок.
8 Волшебник
 
05.06.25
09:44
(6) Не нужно.
9 Мультук
 
гуру
05.06.25
09:45
(6)

google:
1С сортировка номенклатуры по иерархии


https://helpme1s.ru/uporyadochivanie-v-zaprosax-v-1s-8-v-primerax


Правильный ли там (по ссылке) совет про сортировку по иерархии или нет -- проверяйте сами
10 Fedor-1971
 
05.06.25
09:45
(5) Упорядочить по РеализацияТоваровУслугТовары.Номенклатура.Наименование
(6) Зачем?
Например:
Группа Абыр
  Элемент Яблоко
Группа Быр
  Элемент Абрикос
в логике иерархии, сначала Яблоко, потом Абрикос - как пользователю понять почему?
11 Nder
 
05.06.25
09:50
(10) чтобы на складе было удобно набирать, т.к. группы в номенклатуре сделаны согласно расположению на складе
12 Мультук
 
гуру
05.06.25
09:54
(10)


Потому что таково было тех.задание подписанное и согласованное всеми боссами.
Возможно даже с упорядочиванием  по иерархии :-)

Правда, обычно все нелепые сортировки, что я видел, делаются в печатных формах, но наверное, бывает и так.