Ну для начала разберем как 1с ведет себя со штрих-кодом стандарта EAN8:
Берем пачку сигарет "Честерфилд". Там стоит штрих-код 46014405. Как видно это штрих-код стандарта EAN8. Теперь открываем карточку товара в 1с и считываем штрих-код (его ведь надо для начала внести в карточку). Он считывается и вносится как есть 46014405 (сейчас речь идет о месте товароведа, когда сканер подключен непосредственно к компьютеру). Теперь переходим на место кассира (когда сканер подключен к кассе) и считываем штрих-код. У вас ничего не выйдет, потому что 1с сообщит, что товар со штрих-кодом 0000460144059 (что-то в этом роде) не найден. А теперь посмотрим в обработку on_ams.ert в функцию ПолучитьПолныйШК :
Функция ПолучитьПолныйШК(Штрихкод)
ПолныйШК = "";
ДлинаШК = СтрДлина(Штрихкод);
Если ДлинаШК <= 7 Тогда
// EAN8
ВремШК = глДополнитьСтрокуЛ(Штрихкод, "0", 7);
Шк = глКонтрольныйСимволEAN(ВремШК,

;
ПолныйШК = ВремШК + Шк;
Иначе
// EAN13
ВремШК = глДополнитьСтрокуЛ(Штрихкод, "0", 12);
Шк= глКонтрольныйСимволEAN(ВремШК, 13);
ПолныйШК = ВремШК + Шк;
КонецЕсли;
Возврат ПолныйШК;
КонецФункции // ПолучитьПолныйШК()
Вы видете? Уже ошибка : если длина кода больше 7 тогда 1с считает что это штрих-код стандарта EAN13, добивает его нулями до 12 цифр и высчитывает контрольную сумму, что не приемлемо. Естественно я внес изменения:
ДлинаШК = СтрДлина(Штрихкод);
Если ДлинаШК <= 8 Тогда
// EAN8
ВремШК = глДополнитьСтрокуЛ(Штрихкод, "",

;
// Шк = глКонтрольныйСимволEAN(ВремШК,

;
ПолныйШК = ВремШК;// + Шк;
___________________________________________________________
Теперь возмем пачку сигарет "Winston One" там вообще штрих-код 12-значный 0 12300 25397 0. С ним происходит такая же лабуда. А есть ещё упаковка канцелярского клея, который штрих-этикирован по стандарту ITF14 и имеет штри-код 2 46 07048 17112 1. Сдесь первая цифра 2 обозначает что это упаковка. С ним 1с извращается вообще сказочно. Она обрезает штрих-код до 12 цифр и выщитывает контрольную цифру. Вообщем я в этой обработке уже накрутил, навертел, так что сам запутался и зашел в тупик. Я не программер и приходится очень долго и мучительно доперать своими мозгами. Если вы сможете как-нибудь помочь мне в этом (например опубликовать исправленный кусок кода) буду очень признателен.