За Двоился Спр.единица Изм.

  • Автор темы MelU
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

MelU

#1
В номенклатура при выборе ЕХО дает на выбор 2-ед. из них правильная одна(открываю в спр.ном. закладку ЕИ, правильная выделенная жирным). Когда создавался ШК он выбрал неправильную ЕИ, когда я печатаю этикетки ШК не выходит на печать. рис. 1 1.jpg Теперь хочу сделать замену у ШК ЕИ на правильную ... вот только как ?
Вот наброски


Процедура КнопкаВыполнитьНажатие(Кнопка)
Спр = Справочники.Номенклатура.НайтиПоКоду("УТ000000910");
КодОЕ = Спр.ЕдиницаХраненияОстатков.Код;


НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьМенеджерЗаписи();
НаборЗаписей.ЕдиницаИзмерения = КодОЕ
КонецПроцедуры

Хочется пока только для выбранной ном. исправить у ее ШК ЕИ ... подскажите более корректный код ...
 

Вложения

  • 232.8 КБ Просмотры: 171

unknown181538

НеГуру
28.12.2008
1 417
0
#2
Код:
НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Владелец.Уставноить(Номенклатура);
НаборЗаписей.Прочитать();
дЛЯ каждого Тек Из НаборЗаписей Цикл
Тек.ЕдиницаИзмерения = НужнаяЕдиница;
КонецЦикла;
НаборЗаписей.ЗАписать();
 
M

MelU

#3
Код:
НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Владелец.Уставноить(Номенклатура);
НаборЗаписей.Прочитать();
дЛЯ каждого Тек Из НаборЗаписей Цикл
Тек.ЕдиницаИзмерения = НужнаяЕдиница;
КонецЦикла;
НаборЗаписей.ЗАписать();

Пишет.

Штрихкод: 03X01-01308 уже имеет владельца "Серьги -03X01-01308".
 
M

MelU

#7
Итого сделал вот так
1 шаг. удаляю ШК из РегистраСведений.ШтрихКод

ТипШтрихкода_ = ПланыВидовХарактеристик.ТипыШтрихкодов.НайтиПоКоду("000000005");

НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ТипШтрихкода.Установить(ТипШтрихкода_);//т.к. у нас для товаров свой типШК? вот по нему и сделал отбор
НаборЗаписей.Записать();

2 шаг. заношу новый ШК в РегистраСведений.ШтрихКод

Номенклатура = Справочники.Номенклатура.Выбрать(полеВводаРодителя);

Пока Номенклатура.Следующий() Цикл

Ном = Номенклатура.Наименование;
Штрихкод_ = Номенклатура.Артикул;
КодОЕ = Номенклатура.ЕдиницаХраненияОстатков;
Качество_ = Справочники.Качество.Новый;

НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();

НаборЗаписей.Отбор.ЕдиницаИзмерения.Установить(КодОЕ);

НоваяЗапись = НаборЗаписей.Добавить();

НоваяЗапись.Владелец = Номенклатура.Ссылка;
НоваяЗапись.ЕдиницаИзмерения = КодОЕ;
НоваяЗапись.Качество = Качество_;
НоваяЗапись.ТипШтрихкода = ТипШтрихкода_;
НоваяЗапись.Штрихкод = Штрихкод_;

НаборЗаписей.Записать();

КонецЦикла;


Может есть лучший вариант, но я сделал вот так ... только медленно работает на 5000 наименований(((
 
Статус
Закрыто для дальнейших ответов.