Решение задач 1С:Предприятие 8 на примерах

Генератор штрихкодов EAN-13 онлайн и контрольная цифра

Введите 12 цифр — инструмент рассчитает контрольную тринадцатую цифру и нарисует штрихкод. Введите 13 цифр — проверит, правильный ли код. Ниже можно сгенерировать серию внутренних штрихкодов для весового или штучного товара.

Серия внутренних штрихкодов


Функция для 1С

Функция КонтрольнаяЦифраEAN13(Знач Код12) Экспорт
	Сумма = 0;
	Для Позиция = 1 По 12 Цикл
		Цифра = Число(Сред(Код12, Позиция, 1));
		Сумма = Сумма + ?(Позиция % 2 = 0, Цифра * 3, Цифра);
	КонецЦикла;
	Возврат (10 - Сумма % 10) % 10;
КонецФункции

Функция ШтрихкодEAN13Корректен(Знач Штрихкод) Экспорт
	Если СтрДлина(Штрихкод) <> 13 Или Не СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(Штрихкод) Тогда
		Возврат Ложь;
	КонецЕсли;
	Возврат КонтрольнаяЦифраEAN13(Лев(Штрихкод, 12)) = Число(Прав(Штрихкод, 1));
КонецФункции

Функция НовыйВнутреннийШтрихкод(Префикс, Номер) Экспорт
	Код12 = Префикс + Формат(Номер, "ЧЦ=" + (12 - СтрДлина(Префикс)) + "; ЧВН=; ЧГ=0");
	Возврат Код12 + КонтрольнаяЦифраEAN13(Код12);
КонецФункции

Функция СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке есть в конфигурациях на БСП. Без БСП проверьте цифры циклом или через СтрПодобнаПоРегулярномуВыражению(Штрихкод, "^\d{13}$") на платформе 8.3.23 и новее.

Как считается контрольная цифра EAN-13

  1. Цифры на чётных позициях (2, 4, …, 12) умножают на 3, на нечётных — на 1.
  2. Полученные числа складывают.
  3. Контрольная цифра дополняет сумму до ближайшего числа, кратного 10: (10 - Сумма % 10) % 10.

Для собственных штрихкодов магазина используют коды, которые начинаются с 2 (диапазон 20–29): они не пересекаются с кодами производителей. Типовые конфигурации 1С генерируют такие коды сами, а в своих разработках можно взять функцию ниже.

Частые вопросы

Можно ли использовать сгенерированные коды для продажи на маркетплейсах?

Нет. Для маркетплейсов и внешней торговли нужны коды производителя из системы GS1 (в России — ассоциация ГС1 РУС). Коды с префиксом 2 подходят только для внутреннего учёта.

Что значит первая цифра 2 в штрихкоде весового товара?

Префиксы 20–29 зарезервированы для внутреннего использования. Весы с печатью этикеток часто кодируют в таком штрихкоде артикул и вес товара.

Штрихкод в 1С: контрольная цифра EAN-13, генерация, поиск и печать

Алгоритмы

Практический разбор штрихкодов в 1С: расчёт контрольной цифры EAN-13 и EAN-8, внутренние уникальные коды, поиск товара по штрихкоду, вывод картинки в печатную форму и работа со сканером.

Как подключить и настроить сканер штрихкодов, используя драйвер от 1С

Управляемые формы

Подключаем сканер штрихкода через драйвер «1С:Сканер штрихкода»: загружаем компоненту при старте системы, настраиваем порт и суффикс и получаем штрихкод во внешнем событии.

Как настроить сканер штрихкода и подключить его к произвольной форме в УТ 11.3

УТ 11.3

Как настроить сканер штрихкода в УТ 11.3 через стандартный драйвер 1С и получать отсканированные штрихкоды на своей форме. Есть готовый код обработчиков формы.

Другие инструменты