Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 15:53

заменить шрихкоды

Автор xDee, 12 окт 2011, 15:07

0 Пользователей и 1 гость просматривают эту тему.

xDee

Доброго времени суток все! Подскажите пожалуйста как реализовать данную задачу: ТиС, номенклатура имеет штрихкоды начинающиеся на 20, нужно найти их все и заменить на 26(свой внутренний). Никак не могу найти решение как спозиционироваться на 20 штрихкоде (или туплю чтоли).

volodya1122

перебрать весь справочник "Номенклатура" в цикле. И проверять первых два символа в штрихкоде (Лев(ШтрихКод,2)).
Потом записать Штрихкод= "26"+Прав(ШтрихКод,(СтрДлина(ШтрихКод)-2))
думаю достаточно...

Или полностю за Вас написать процедуру,

xDee

Ном=СоздатьОбъект("Справочник.Номенклатура");
Штрих=СоздатьОбъект("Справочник.Единицы");
Ном.ВыбратьЭлементы();
Пока Ном.ПолучитьЭлемент()=1 цикл
    // Сообщить("Номенклатура "+Ном.Наименование);
     Штрих.ИспользоватьВладельца(Ном.ТекущийЭлемент());
     Штрих.ВыбратьЭлементы();
     Пока Штрих.ПолучитьЭлемент()=1 цикл
_ШтрихКод = Лев(ШтрихКод,2));
Если ....
конецЦикла;

Я встал на элемент Штрих , а вот дальше никак.

volodya1122

а у тебя что Штрихкод это подчиненный справочник "Еденицы"? не уверен.....

xDee

1C 7.7 Торговля и Склад 7.70.963
справочник "Единицы реквизит ШтрихКод подчинен Номенклатуре

volodya1122

_ШтрихКод = Лев(Штрих.ШтрихКод,2));  // или как там в справочнике точно он называется
Если _ШтрихКод="20" тогда
Штрих.ШтрихКод= "26"+Прав(Штрих.ШтрихКод,(СтрДлина(Штрих.ШтрихКод)-2));
Штрих.Записать();
КонецЕсли;
КонецЦикла;

КонецЦикла;

//Может понадобится Записать в виде
// Лев(Строка(Штрих.ШтрихКод,2)))


xDee

Выполняется обработка, забыл вывести что делает, видимо пошло, вот одно только а контрольная цифра последняя сканеру то все равно или все таки генерировать нужно и перезаписывать 20 кода ?

volodya1122

а этого уже не скажу. Со сканером не работал

xDee


volodya1122

Кстати не мешало бы создать какой то тестовый товар и поэксперементировать с разными значениями штрихкода...

Теги:
Рейтинг@Mail.ru

Поиск