Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут! (в рабочие часы)

Определить тип штрих-кода в 1С

Самые распространенные типы штрих-кода — EAN13, EAN8, CODE39.

Как получить тип штрих-кода в 1С 8.3, зная только сам штрих-код, я расскажу ниже.

Штрихкод

Данные функции содержатся в общем модуле РаботаСТорговымОборудованием управления торговлей версии 10.3.

Определение типа штрих-кода EAN8

Функция ТипШтрихкодаEAN8ТО(Штрихкод) Экспорт

Результат = Ложь;
Сумма = 0;
Коэффициент = 3;

Если СтрДлина(Штрихкод) = 8 Тогда
Индекс = Неопределено;
Для Индекс = 1 По 7 Цикл
КодСимв = КодСимвола(Штрихкод, Индекс);
Если КодСимв < 48 Или КодСимв > 57 Тогда
Возврат Результат;
КонецЕсли;
Сумма = Сумма + Коэффициент * (КодСимв — 48);
Коэффициент = 4 — Коэффициент;
КонецЦикла;
Сумма = (10 — Сумма % 10) % 10;
Результат = (КодСимвола(Штрихкод, 8) = Сумма + 48);
КонецЕсли;

Возврат Результат;

КонецФункции // ТипШтрихкодаEAN8ТО()

Функция для получения контрольного числа в 1С EUN13:

Функция КонтрольныйСимволEAN13ТО(Штрихкод) Экспорт

Результат = «»;
Сумма = 0;
Коэффициент = 1;

Индекс = Неопределено;
Для Индекс = 1 По 12 Цикл
КодСимв = КодСимвола(Штрихкод, Индекс);
Сумма = Сумма + Коэффициент * (КодСимв — 48);
Коэффициент = 4 — Коэффициент;
КонецЦикла;
Сумма = (10 — Сумма % 10) % 10;
Результат = Символ(Сумма + 48);

Возврат Результат;

КонецФункции // КонтрольныйСимволEAN13ТО()

Определение типа штрих-кода EAN13

Функция ТипШтрихкодаEAN13ТО(Штрихкод) Экспорт

Результат = (СтрДлина(Штрихкод) = 13
И КонтрольныйСимволEAN13ТО(Штрихкод) = Прав(Штрихкод, 1));

Возврат Результат;

КонецФункции // ТипШтрихкодаEAN13ТО()

Определение типа штрих-кода CODE39

Функция ТипШтрихкодаCODE39ТО(Штрихкод) Экспорт

Результат = Ложь;
Длина = СтрДлина(Штрихкод);
Индекс = Неопределено;

Если Длина > 0 Тогда
Результат = Истина;
Для Индекс = 1 По Длина Цикл
КодСимв = КодСимвола(Штрихкод, Индекс);
Если (КодСимв <> 32)
И (КодСимв < 36 Или КодСимв > 37)
И (КодСимв <> 43)
И (КодСимв < 45 Или КодСимв > 57)
И (КодСимв < 65 Или КодСимв > 90) Тогда

Результат = Ложь;
Прервать;

КонецЕсли;
КонецЦикла;
КонецЕсли;

Возврат Результат;

КонецФункции // ТипШтрихкодаCODE39ТО()

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Остались вопросы?

СПРОСИТЕ в комментариях!

Добавить комментарий:

Ваш адрес email не будет опубликован.