Имя: Пароль:
1C
1С v8
Работа с регистром сведений
0 Scandsv
 
22.06.14
08:20
УТ 10.3
В штрихкодах, при вводе остатков
неверно понавводили типы штрихкодов (ЕАН 13 ЕАН8 и тд. )

пытаюсь исправить:



Процедура КнопкаВыполнитьНажатие(Кнопка)
    ШтрихКоды = РегистрыСведений.Штрихкоды.Выбрать();
    ЕАН13 = ПланыВидовХарактеристик.ТипыШтрихкодов.НайтиПоНаименованию("EAN13");
    ЕАН8  = ПланыВидовХарактеристик.ТипыШтрихкодов.НайтиПоНаименованию("EAN8");
    Пока ШтрихКоды.Следующий() Цикл
        стрШтрихКод = СокрЛП(ШтрихКоды.Штрихкод);    
        ТипШтрихКода = СокрЛП(ШтрихКоды.ТипШтрихкода);    
        Если стрДлина(стрШтрихКод)<>13 Тогда
            ///
            Если ТипШтрихКода <> ЕАН8 Тогда
                СтрокаШтрихКода = ШтрихКоды.ПолучитьМенеджерЗаписи();
                СтрокаШтрихКода.ТипШтрихкода = ЕАН8;
                СтрокаШтрихКода.Записать(1);
            КонецЕсли;
        Иначе
            Если ТипШтрихКода <> ЕАН13 Тогда
                СтрокаШтрихКода = ШтрихКоды.ПолучитьМенеджерЗаписи();
                СтрокаШтрихКода.ТипШтрихкода = ЕАН13;
                СтрокаШтрихКода.Записать(1);
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    Возврат;
КонецПроцедуры


В результате при проверки на наличие дублей строк говорит, что штрихкод "17265173789" уже имеет владельца "товар...."

Почему запись как бы новая добавляется.. ведь должна старая измениться. или нет?
1 Wobland
 
22.06.14
08:25
догадаешься, почему у тебя условие ТипШтрихКода <> ЕАН13 всегда истинно?
2 Scandsv
 
22.06.14
08:31
(1) потому, что типШтрихКода - это строка, а ЕАН13 - объект...
3 Scandsv
 
22.06.14
08:36
(1) -Спасибо.
4 Scandsv
 
22.06.14
08:39
Так все же, почему запись не исправляется, а добавляется новая?
5 Wobland
 
22.06.14
08:48
СтрокаШтрихКода.Записать(Булево(1))? ;)
6 Defender aka LINN
 
22.06.14
09:01
(4) Потому что ты добавляешь новую запись
7 Scandsv
 
22.06.14
09:23
(6) где я ее добавляю???
8 Scandsv
 
22.06.14
09:26
(5) - СтрокаШтрихКода.Записать(Истина) 8)
9 Wobland
 
22.06.14
09:37
Примечание:

Полученный объект не является выбранным (метод Выбран возвратит Ложь). Для внесения изменений в полученную запись необходимо для этой запи