Изучаю 1С и неустанно плююсь! самую простую обработку не могу написать! на C# написал бы за 2 минуты! Помогите!
Короче нужна обработка, которая коды справочника Номенклатура привела в порядок, а то "тупые бухи" забывают что система сама назначает коды, вместо кода 000024, пишут 024, например, или 0024. Тут я понимаю все просто, пишу:
Процедура Сформировать()
Спр=СоздатьОбъект("Справочник.Номенклатура");
Спр.ВыбратьЭлементы;
Пока Спр.получитьЭлемент()=1 Цикл
Код=Спр.Код;
Пока СтрДлина(Код)<6 Цикл
Код="0"+Код;
КонецЦикла;
Спр.Код=Код;
Спр.Записать();
КонецЦикла;
КонецПроцедуры
Оно бы и работало, НО! "Тупой бух" не заметил, что есть уже позиция с кодом 000024 и ввел 024, а когда мы прибавляем нули к 024 (Код="0"+Код;), в конце цикла получается 000024, и компилятор говорит что КОД НЕ УНИКАЛЕН. Организую проверку после добавления нулей есть ли уже такой код, если есть, то изменить его, т.е. опять перебираю элементы:
Процедура Сформировать()
Спр=СоздатьОбъект("Справочник.Номенклатура");
Спр.ВыбратьЭлементы;
Пока Спр.получитьЭлемент()=1 Цикл
Код=Спр.Код;
Пока СтрДлина(Код)<6 Цикл
Код="0"+Код;
КонецЦикла;
Пока Спр.ПолучитьЭлемент()=1 Цикл
Если Код=Спр.Код Тогда
Спр.Код="099999";
КонецЕсли;
КонецЦикла;
Спр.Код=Код;
Спр.Записать();
КонецЦикла;
КонецПроцедуры
тут компилятор говорит НЕ ВЫБРАН ЭЛЕМЕНТ Спр.Код=Код;
короче, я понимаю, что ниче не понимаю в программировании 1С, тут по ходу указатель перебора элементов справочника встает в конец, поэтому ошибка.
ПОМОГИТЕ!
Добавлено через 4 минуты
не могу понять как перебирать элементы в справочнике