(5) Не умер. НО!
Во первых, не 2 а 0.
Не поленился, обработка из двух строчек:
Процедура Сформировать()
КС = глКонтрольныйСимволEAN(Лев(ШтрихКод, 12), 13); // Функция в ГМ, ей 100 лет в обед :-)
Форма.КС.Заголовок(КС);
КонецПроцедуры
Правда, сама функция расчета КС живет в глобальнике давно, она чуть больше, но она есть и работает.
А во вторых - проблема тут немного шире. Эти яйца пришли коробом. В котором некоторое количество "потребительских упаковок по десятку". Так вот, на самих этих упаковках, производитель не удосужился нанести ШК. Только в единственном экземпляре на коробе, И ОН-ЖЕ В ЭЛЕКТРОННОМ УПД! Так и принят по ЭДО в программу. Как их продавать на кассе? Не короб же тащить на кассу. Оператор, естественно принимает решение - распечатать этикетки на принтере ШК, на каждую потребительскую упаковку по десятку.
А принтер у меня, печатает командами принтера, из встроенного языка. То-есть, ему дается команда, "напечатать ШК, <данные>, тип ЕАН13!". Ну, он и печатает, с нулем на конце, так, как расчитывает контрольную сумму сам, внутри своей микропрограммы.
В результате - в кассу улетел ШК из УПД, с 7, а кассир сканирует этикетки с 0 на конце...
И, в результате, "звонок другу", "Караул! Твоя касса сломалась, и не находит товар!"...
А насчет верю-не верю, я этикетку с короба не видел, но видел УПД. Там действительно такой код. Появится эта продавщица на работе, попрошу прислать фотку оригинального ШК с короба, если не выбросили.
PS Нет, я конечно понимаю,что производитель этим ШК наверное хотел показать, что это ШК групповой упаковки, не потребительской. Но, по любому, это должен быть тогда не ЕАН-13, а что-то другое. А если уж наносишь ЕАН-13, то будь добр соответствовать стандартам.
Даже интересно стало - может там действительно не ЕАН на коробе нанесен? Тогда почему на упаковках нет нормального ШК, и почему в УПД он в поле ШК...
В общем, будет фотка, будет видно.