Не секрет, что сканеры «в разрыв клавиатуры» иной раз «проглатывают» первый символ при чтении штрих-кода. Простая функция поможет штрих-код восстановить (см. рисунок):
Функция ВосстановитьEAN13(пКод)
Если СтрДлина(пКод) = 13 Тогда
Возврат пКод;
ИначеЕсли СтрДлина(пКод) < 12 Тогда
Возврат "";
Иначе
Для й = 1 по 10 Цикл
ШтрКод = Строка(й - 1) + Лев(пКод,11); //Исправлено
Четн = 0;
Нечетн = 0;
Для Индекс = 1 По 6 Цикл
Четн = Четн + Сред(ШтрКод, 2 * Индекс, 1);
Нечетн = Нечетн + Сред(ШтрКод, 2 * Индекс - 1, 1);
КонецЦикла;
Четн = Четн * 3;
КонтЦифра = 10 - (Четн + Нечетн) % 10;
КонтКод = ?(КонтЦифра = 10, "0", Строка(КонтЦифра));
Если Прав(пКод,1) = КонтКод Тогда
Возврат ШтрКод + КонтКод;
КонецЕсли;
КонецЦикла;
Возврат "";
КонецЕсли;
КонецФункции //ВосстановитьEAN13