Имя: Пароль:
1C
1C 7.7
v7: Почему не работает ПорядокКодов()?
,
0 Масянька
 
19.09.13
08:49
Доброе утро!
Почему в данном коде идет выборка не в порядке возрастания кодов?

    СпрНоменклатуры = СоздатьОбъект("Справочник.Номенклатура");    
    
    // группы справочника, которые надо обрабатывать
    СпрНоменклатуры.НайтиПоНаименованию("Товары");
    РабочаяГруппа = СпрНоменклатуры.ТекущийЭлемент();
    
    СпрНоменклатуры.ПорядокКодов();
    
    СпрНоменклатуры.ВыбратьЭлементы();
    
    КоличествоЭлементов = 0;
    
    // считаем кол-во обрабатываемых элементов
    Пока СпрНоменклатуры.ПолучитьЭлемент() = 1 Цикл
        Если (СпрНоменклатуры.ТекущийЭлемент().ЭтоГруппа() = 0) Тогда
            Если (СпрНоменклатуры.ТекущийЭлемент().ПринадлежитГруппе(РабочаяГруппа) = 1) Тогда
Сообщить("код1 - " + СпрНоменклатуры.Код);                
                КоличествоЭлементов = КоличествоЭлементов + 1;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;

Спасибо.
1 Нуф-Нуф
 
19.09.13
08:50
Ужаснах
2 Нуф-Нуф
 
19.09.13
08:50
Блеать, стаж 6 лет...
3 Масянька
 
19.09.13
08:50
(1) Почему?
4 Масянька
 
19.09.13
08:51
(2) Не выспался?
5 Кирпич
 
19.09.13
08:55
код небось текстовый
6 Масянька
 
19.09.13
08:58
(5) Есесьно. 4 знака.
7 Кирпич
 
19.09.13
09:10
(6) ну давай чтоли список кодов, который у тебя получается
8 Масянька
 
19.09.13
09:19
(7) Уже решила - СпрНоменклатуры.ВыбратьЭлементы(0); - выводит в порядке возрастания.
9 Ёпрст
 
19.09.13
09:25
ну как бэ, выкини из кода везде ТекущийЭлемент(), и выкини из кода ПринадлежитГруппе.

Делай ИспользоватьРодителя.
10 Ёпрст
 
19.09.13
09:25
и просто выборка.
11 2S
 
19.09.13
09:26
нда
12 Масянька
 
19.09.13
09:36
(10) Как всегда - огромное спасибо!
13 Simod
 
19.09.13
10:00
А еще есть запросы.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.