Как настроить сортировку весового товара по PLU-кодам в 1С и избежать кассовых ошибок?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При автоматизации розничной торговли весовым товаром в супермаркетах владельцы бизнеса и товароведы часто сталкиваются с проблемой удобства поиска позиций на электронных весах. Когда ассортимент расширяется, найти нужный товар (например, конкретный сорт яблок или томатов) по списку становится трудно. Возникает логичное желание: упорядочить коды весового товара (PLU-коды) по категориям. Например, выделить диапазон 1–20 для фруктов, 21–40 для овощей и так далее.

Однако при добавлении нового товара возникает дилемма: что делать, если код внутри диапазона уже занят? Можно ли настроить систему так, чтобы принудительно сдвигать последующие коды на +1? В этой статье мы подробно разберем, почему динамический сдвиг кодов в реальном ритейле категорически противопоказан, какие технические проблемы он за собой влечет, и рассмотрим профессиональные методы организации весовых кодов в программе «1С:Управление торговлей 10.3» при работе с весами «Масса-К» и CAS.

---

Почему динамический сдвиг PLU-кодов на +1 — это критическая ошибка?

Давайте проанализируем ситуацию, предложенную автором темы: в системе создан новый весовой товар, которому присваивается код 31. При этом старый товар с кодом 31 (например, помидор) автоматически смещается на код 32, товар с кодом 32 — на 33, и так далее по цепочке. На первый взгляд это кажется удобным решением для поддержания строгого порядка на весах. Но на практике такая схема моментально парализует работу кассовой зоны.

Выясним причину, почему так происходит:

  1. Проблема «старого» штрихкода у покупателя. Представьте сценарий: покупатель берет помидоры, взвешивает их на весах самообслуживания под кодом 31. Весы печатают этикетку со штрихкодом, в котором зашит код товара 31. В эту же минуту товаровед вносит в 1С новый товар и запускает автоматический сдвиг. Помидор в базе данных и весах становится кодом 32, а код 31 присваивается бананам. Покупатель подходит к кассе, кассир сканирует этикетку с кодом 31, и программа пробивает бананы вместо помидоров. Это приводит к прямой финансовой пересортице и конфликтам на кассе.
  2. Постоянная необходимость перезагрузки весов. Любое изменение PLU-кода требует немедленной полной очистки памяти весов и повторной загрузки всей базы данных товаров. Если товаровед добавляет позиции в течение рабочего дня, весы будут постоянно находиться в режиме обновления, блокируя работу торгового зала.
  3. Сбой аналитики продаж. История продаж в рознице завязана на уникальные идентификаторы товаров. Если коды PLU будут постоянно «мигрировать» от одного товара к другому, это полностью разрушит отчеты по продажам весовой номенклатуры.

---

Как устроен весовой штрихкод (EAN-13)

Чтобы понять, как правильно связать 1С и весовое оборудование, рассмотрим структуру формируемого весами штрихкода формата EAN-13. Типовой шаблон весового штрихкода выглядит следующим образом:

2X TTTTT WWWWW C

Если префиксы весового товара в настройках параметров учета 1С и во внутреннем программном обеспечении весов («Масса-К» или CAS) не будут совпадать до единого символа, касса просто не сможет распознать отсканированный штрихкод и выдаст ошибку «Товар не найден».

---

Решение №1: Использование клавиш быстрого вызова (КБВ)

Самый простой и эргономичный способ облегчить работу продавцам или покупателям на электронных весах — это использование клавиш быстрого вызова (горячих клавиш). Современные весы «Масса-К» поддерживают программирование физических или сенсорных кнопок быстрого доступа.

При таком подходе вам абсолютно не важно, какой именно внутренний PLU-код присвоен товару в базе 1С — это может быть и 5, и 347, и 1205. При выгрузке номенклатуры в весы в настройках обмена задается соответствие между товаром и физической клавишей весов. Продавец на фасовке нажимает кнопку «Бананы» (которая жестко привязана к кнопке №1), а весы автоматически находят в своей памяти товар с кодом 347, взвешивают его и печатают корректный штрихкод. Физическая раскладка товаров на весах может гибко меняться без изменения реальных кодов PLU в товароучетной системе.

---

Решение №2: Блочное резервирование диапазонов (стандарт индустрии)

Если специфика вашего магазина требует ввода кодов вручную на клавиатуре весов (без использования горячих клавиш), наилучшим выходом будет внедрение системы блочного резервирования числовых диапазонов с большим запасом.

Давайте разберем этот метод по шагам:

  1. Определите все группы весовых товаров в вашем ассортименте (например: Фрукты, Овощи, Зелень, Заморозка, Конфеты).
  2. Выделите под каждую группу фиксированный числовой диапазон кодов «с запасом» (например, по 100 или 1000 номеров):
    • Фрукты: диапазон 100 – 199 (реально занято 15 позиций, остальные свободны).
    • Овощи: диапазон 200 – 299 (реально занято 25 позиций).
    • Зелень: диапазон 300 – 399.
  3. При добавлении нового фрукта ему просто присваивается следующий свободный код в его группе (например, 116). При этом коды других товаров остаются неизменными, а структура каталога сохраняет идеальный порядок. Диапазона в 99 999 возможных весовых кодов EAN-13 с избытком хватит для любого крупного супермаркета.

---

Решение №3: Автоматическая генерация кодов в 1С по формуле

Для автоматизации распределения кодов по диапазонам программисты 1С используют алгоритмы генерации кодов на основе кодов номенклатурных групп. Рассмотрим пример реализации такой логики.

Пусть весовой код формируется как число по следующей формуле:

ВесовойКод = (КодГруппы * Коэффициент) + ПорядковыйНомерВГруппе

Где Коэффициент — это максимально возможное количество товаров в одной группе (например, 100).

Проанализируем пример: у нас есть группа «Овощи» с кодом группы 2. Мы добавляем в нее новый товар, который по порядку становится 5-м в этой группе. Расчет кода:

ВесовойКод = (2 * 100) + 5 = 205

Ниже представлен пример кода на языке 1С, который реализует функцию автоматического расчета нового PLU-кода при записи карточки товара:


Функция РассчитатьНовыйВесовойКод(НоменклатурнаяГруппаСсылка, ПорядковыйНомер) Экспорт
    
    КодГруппыЧислом = Число(НоменклатурнаяГруппаСсылка.Код);
    МаксТоваровВГруппе = 100; // Наш шаг резервирования
    
    // Рассчитываем уникальный числовой PLU
    НовыйPLU = (КодГруппыЧислом * МаксТоваровВГруппе) + ПорядковыйНомер;
    
    Возврат НовыйPLU;
КонецФункции

---

Как настроить генерацию кодов в «1С:Управление торговлей 10.3»

<p.Рассмотрим, как технически реализован механизм весовых кодов в типовой конфигурации 1С:УТ 10.3. За хранение кодов отвечает регистр сведений «Коды товаров подключаемого оборудования offline».

Перейдем в настройки параметров учета системы (меню «Сервис» -> «Настройка учета» -> «Параметры учета», вкладка «Коды товаров»). Здесь доступны два основных режима генерации:

Практический лайфхак по настройке диапазонов:

Если вы выбрали вариант генерации «По коду номенклатуры», вы можете создать «граничные» карточки товаров. Например, если вы хотите, чтобы обычные штучные товары автоматически получали коды только начиная с 10 000 (освобождая диапазон 1–9999 исключительно под весовые PLU), создайте в системе технический товар с кодом 10000. 1С зафиксирует этот номер, и все последующие штучные товары будут автоматически создаваться с кодами 10001, 10002 и далее. Диапазон до 10 000 останется в вашем полном распоряжении для ручного распределения весовых кодов.

Для периодической очистки неиспользуемых кодов (возникающих при удалении старых карточек товаров) рекомендуется использовать внешнюю обработку перенумерации кодов весовых товаров, запускать которую следует исключительно в санитарные часы, когда магазин закрыт и все данные на весах могут быть гарантированно перезаписаны с нуля.

← На главную