При автоматизации розничной торговли часто возникает задача интеграции весового оборудования с кассовым программным обеспечением. Одной из наиболее распространенных проблем является несовпадение формата штрихкода, который печатают весы, с настройками поиска товара в кассовой программе Frontol 6. Рассмотрим подробно, как правильно настроить шаблон весового штрихкода, разобраться в иерархии идентификаторов (PLU vs Код) и обеспечить корректную передачу данных из 1С.
Для начала проанализируем пример штрихкода, предоставленный в задаче: 21-00001-01062-1. Нам необходимо разбить его на логические сегменты, чтобы Frontol мог правильно интерпретировать считанные данные:
Важно понимать, что общая длина такого кода составляет 13 символов (стандарт EAN-13). Если ваша маска отличается по длине, необходимо в настройках Frontol в разделе «Штрихкоды» -> «Общие» разрешить работу с кодами произвольной длины.
Для корректного распознавания вышеуказанной структуры во Frontol 6 используется специальный синтаксис шаблонов. Проанализируем формулу, которую необходимо ввести в поле «Маска» настроек шаблона ШК:
21CCCCCWWWWWE
Разберем назначение каждого символа в этой формуле:
21 — Указываем префикс как жесткую константу. Если на ваших весах настроен другой префикс (например, 22 или 29), замените эти цифры.C — Символ Кода товара (от англ. Code). Именно по этому полю Frontol ищет товар в своей базе. В нашем примере мы выделяем под него 5 символов.W — Символ Веса (от англ. Weight). Мы выделяем 5 позиций для передачи массы товара.E — Контрольный символ EAN-13. Frontol проверит валидность кода. Если алгоритм весов не совпадает со стандартом, вместо E можно использовать X (игнорируемый символ), чтобы система просто отсекала последний знак без проверки.Основная сложность, с которой сталкиваются специалисты, заключается в том, что во Frontol 6 нет отдельного поля «PLU» для поиска при сканировании. Система всегда ищет товар по полю Code (Код) или по таблице дополнительных штрихкодов. В то же время весы чаще всего оперируют понятием PLU.
Рассмотрим три способа решения этой проблемы:
Самый надежный метод — настроить выгрузку из 1С таким образом, чтобы значение PLU попадало в поле Код (Code) во Frontol. В типовых обработках выгрузки 1С часто присутствует флаг «Использовать PLU в качестве кода». Если такого флага нет, необходимо изменить маппинг в правилах обмена.
Посмотрим на пример логики, которая должна выполняться при формировании файла обмена (например, goods.txt):
// Пример логики маппинга при выгрузке
Если НастройкаВыгрузки.ИспользоватьPLU Тогда
ТекстСтроки = "КодТовараДляФронтола;" + Товар.PLU + ";;;";
Иначе
ТекстСтроки = "КодТовараДляФронтола;" + Товар.Код + ";;;";
КонецЕсли;
Если изменить логику выгрузки из товароучетной системы невозможно, мы можем перенастроить сами весы (через драйвер или системное меню весов, таких как DIGI, CAS или МАССА-К). В шаблоне этикетки весов нужно указать, чтобы в штрихкод записывался не внутренний номер PLU, а Код товара (SKU), пришедший из 1С.
Вы можете загружать PLU как дополнительный штрихкод для товара. Однако для весового товара этот путь сложен, так как маска весового шаблона во Frontol работает преимущественно с полем Код. Мы не рекомендуем этот способ для весовых позиций из-за высокой вероятности ошибок распознавания.
Выясним причину, по которой касса может неправильно интерпретировать вес. В нашем примере 01062 должно превратиться в 1.062 кг. Для этого во Frontol 6 в настройках шаблона ШК необходимо правильно указать Делитель.
Для веса в граммах, где 5 знаков выделено под массу, делитель должен быть равен 1000. Если оставить делитель равным 1, касса прибавит в чек 1062 кг товара. Обязательно проверяйте этот параметр при создании шаблона.
Проанализируем ситуацию, если штрихкод все равно не находится:
CCCCC, то код "1" должен превратиться в "00001".E на X в конце маски. Это поможет, если весы используют нестандартный алгоритм вычисления контрольной суммы.addPosition. Но помните, что это замедляет работу кассы и является избыточным для стандартных задач.Таким образом, для решения задачи автора сообщения достаточно настроить шаблон 21CCCCCWWWWWE с делителем 1000 и обеспечить в 1С соответствие поля Код значению PLU, которое записывается в весы.