Имя: Пароль:
1C
1С v8
Помогите заполнить регистр сведений
0 Tumakota
 
24.12.15
15:09
Пока Выборка.Следующий() цикл
            //НОМЕНКЛАТУРА
            УИДНОМ = Выборка.Владелец.UUID();
            ГУИДНОМ = Base1С.String(УИДНОМ);
            Номен = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИДНОМ));
            Если СокрЛП(Номен.Наименование) <> "" и СокрЛП(Выборка.Штрихкод) <> "" тогда
            НовыйНаборЗаписей = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();
            НовыйНаборЗаписей.Штрихкод = Выборка.Штрихкод;
            НовыйНаборЗаписей.Номенклатура = Номен.Ссылка;
            Характеристика = Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию(Выборка.ХарактеристикаНоменклатуры.Наименование,истина,,Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИДНОМ)));
            Если Характеристика.Пустая() и (Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИДНОМ)).ВидНоменклатуры.ИспользоватьХарактеристики или Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИДНОМ)).ИспользованиеХарактеристик =  Перечисления.ВариантыИспользованияХарактеристикНоменклатуры.ИндивидуальныеДляНоменклатуры) тогда
                НеизвестнаяХарактеристика = Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию("Неизвестная характеристика",истина,,Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИДНОМ)));
                Если НеизвестнаяХарактеристика.Пустая() тогда
                    ХарактеристикаНовая = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
                    ХарактеристикаНовая.Владелец = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИДНОМ));
                    ХарактеристикаНовая.Наименование = "Неизвестная характеристика";
                    ХарактеристикаНовая.НаименованиеПолное = "Неизвестная характеристика";
                    ХарактеристикаНовая.Записать();
                    НовыйНаборЗаписей.Характеристика = Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию("Неизвестная характеристика",истина,,Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИДНОМ)));
                Иначе
                    НовыйНаборЗаписей.Характеристика = НеизвестнаяХарактеристика;
                КонецЕсли;
            Иначе
                НовыйНаборЗаписей.Характеристика = Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию(Выборка.ХарактеристикаНоменклатуры.Наименование,истина,,Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИДНОМ)));
            КонецЕсли;
            НовыйНаборЗаписей.Записать();
            КонецЕсли;
        КонецЦикла;

Не могу понять он создает 200 штрих кодов, потом чистит создает пару потом по 1 потом опять может 200 создать, как сделать чтобы не затирал! Конфа 11.1
1 aleks_default
 
24.12.15
15:13
использовать набор записей а не менеджер
2 Mort
 
24.12.15
15:14
(0) В этом овне трудно что-либо понять. Удали его и напиши заново.
3 Лефмихалыч
 
24.12.15
15:15
Во-первых, удали этот код и напиши другой заново. В этом нечего чинить.
Во-вторых, ты врешь. Потому, что менеджер записи не может удалить ни чего до тех пор, пока ты не вызовешь его метод Удалить();
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой