Имя: Пароль:
1C
1C 7.7
v7: Не могу написать код замены кода справочника
0 raykom
 
31.08.14
01:30
Надо заменить коды в партиях, наваял такой вот сюжет

    Спр.ВыбратьЭлементы(0);
    СчКода=КодНачалаЗамены;
    Пока Спр.ПолучитьЭлемент()=1 Цикл
        Если СокрЛП(Спр.Код) = СокрЛП(КодЗаменяемый) Тогда
            СчКода=СчКода+1;    
            Спр.Код = Строка(Формат(СчКода,"Ч(0)8.0"));
            Спр.Записать();
        КонецЕсли;
    КонецЦикла;


ТАк он мне такую ошибку возвращает.

Спр.Код = Строка(Формат(СчКода,"Ч(0)8.0"));
{Z:\ОБРАБОТКИ\ПЕРЕНУМЕРАЦИЯПАРТИЙ.ERT(17)}: Изменен Код! Может быть нарушена последовательность выборки!

Че делать то ? Подсоветуйте. Спасибо
1 Garykom
 
гуру
31.08.14
01:33
(0) эээ выборку переделай на НЕ использование "порядок кодов"

но лучше сначала отбери куда нить (тз или список) а потом проходом по этому списку меняй коды

ЗЫ учти еще проверку что код на который меняешь отсутвует в справочнике...
2 raykom
 
31.08.14
01:59
Да. Спасибо. Все сработало.
3 КонецЦикла
 
31.08.14
03:05
Ждем ветко "Код не уникальный" :)
4 mikecool
 
31.08.14
18:09
вот любят же изобретать велосипед...
5 raykom
 
31.08.14
21:41
(3)Не, все норм. Старт перенумерации от последнего нормального. а заменяемые все с левым пре5фиксом были.
Так что норм.
(4)Я и не изобретаю, а ворую ...
Но так то справедливости ради стоит отметить, что перенумерация справочников партий - нифига на простая задача.
С уникальностью в пределах подчинения ...
6 welwel
 
31.08.14
22:25
А Uchoice.ert с Итс не подходит?
7 Эльниньо
 
02.09.14
09:52
Спр.ПорядокНаименований()