Имя: Пароль:
1C
 
Не работает обратный порядок кодов при выборке элементов справочника по реквизиту
,
0 ozas
 
01.04.21
09:22
спрТМЦ=СоздатьОбъект("Справочник.Номенклатура");
спрТМЦ.ПорядокКодов();
спрТМЦ.ОбратныйПорядок(1);
спрТМЦ.ВыбратьЭлементыПоРеквизиту("ШтрихКод","8410261100012",0,0);
Пока спрТМЦ.ПолучитьЭлемент()=1 цикл
    Сообщить(спрТМЦ.Код+" - "+спрТМЦ.Наименование);
КонецЦикла;

Делает выборку в обратном порядке, но наименований, а не кодов. Что не так?
1 Chameleon1980
 
01.04.21
09:33
попробуй местами поменять
2 fisher
 
01.04.21
09:37
Меня тоже заставляют на 7.7 писать :(
3 SleepyHead
 
гуру
01.04.21
10:16
(0) насколько я помню 77, ОбратныйПорядок() действует на выборку по коду или по наименованию.

Собери данные в таблицу значений, отсортируй как нужно.
4 bolder
 
01.04.21
10:19
(0) Странно, но пример в документации противоречит описанию.В описании методы вызываются до выбратьэлементы(),а в примере наоборот).Описание языка ,1ч,1999.
5 bolder
 
01.04.21
10:21
(3) Нет, на обе выборки.Описание языка,ч.1,1999г.
6 bolder
 
01.04.21
10:22
(5) + те на выборку по реквизиту тоже.
7 acanta
 
01.04.21
10:24
А обратный порядок интерактивно установить можно?
8 SleepyHead
 
гуру
01.04.21
10:25
(5) Ну что ж, я с 77 уже лет 5 не работал, мог и забыть. Но работа с ТЗ лучше в том смысле, что если требования поменяются - просто пересортируешь как надо, причем по любой комбинации полей.
9 Mikeware
 
01.04.21
10:42
(7) вроде нет.
(8) ну или прямой запрос.
но выборка ценна тем, что места в памяти не занимает...
10 ozas
 
01.04.21
12:37
Похоже, что обратный порядок не работает именно с выборкой по реквизиту. Если просто ВыбратьЭлементы(), то все ок. Пришлось с запросом извращаться.
11 Mikeware
 
01.04.21
12:41
(10) ну так выборка - это индекс. выборка по коду - один индекс, выборка по наименованию - другой индекс, выборка по реквизиту - третий индекс...
AdBlock убивает бесплатный контент. 1Сергей