SetRetail10 ◾️ Продажа товара по штрих-коду уценки

Публичное пространство

SetRetail10 ◾️ Продажа товара по штрих-коду уценки

SRTB-5806 - Получение подробных данных проблемы… СТАТУС

CR-7040 - Получение подробных данных проблемы… СТАТУС

10.3.11.0

Описание

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

Для работы функциональности используется плагин ШК-трансформер модуля процессинга штрих-кода. С его помощью можно сформировать свой штрих-код уценки, чтобы касса добавляла товары по настраиваемой маске.

Пример формата штрих-кода

Уценочный штрих-код может иметь следующий формат:

  • 997XXXXXXXXXXXXXVVVVVRRPPPPPPPSS1:
    • 997 – фиксированный префикс
    • XXXXXXXXXXXXX – Штрих-код товара (EAN-13)
    • VVVVV - вес товара
    • RR – причина изменения цены
    • PPPPPPP – измененная цена
    • SS – код сотрудника (не используется)
    • 1 – фиксированное значение

Настройка

Для включения плагина выполните скрипт по базе данных set:

UPDATE sales_management_properties SET property_value = 'true'
WHERE module_name = 'CASH_BARCODE_PROCESSOR' AND plugin_name = 'transformer' AND property_key = 'enabled';

Для настройки формата штрих-кода выполните скрипт по базе данных set:

Приведен пример маски. Настройте маску в соответствии с вашими бизнес-процессами.

UPDATE sales_management_properties SET property_value = '{
  "masks": [
    {
      "description": "ШК уценки 33 цифры",
      "fields": [
        {
          "name": "prefix",
          "value": "997"
        },
        {
          "name": "ean13",
          "length": 13
        },
		{
          "name": "quantity",
          "length": 5
        },
        {
          "name": "reasonCode",
          "length": 2
        },
        {
          "name": "price",
          "length": 7
        },
        {
          "name": "_",
          "length": 2
        },
        {
          "name": "_",
          "value": "1"
        }
      ],
      "inputRestrictions": {
        "scannerOnly": true
      },
      "result": {
        "productRef": {
          "barcode": {
            "source": "field",
            "value": "ean13"
          }
        },
        "position": {
          "price": {
            "source": "field",
            "value": "price"
          },
		   "quantity": {
            "source": "field",
            "value": "quantity"
          },
		  "attributes": {
			"canChangeQuantity": false,
			"allowDiscounts": true
		  },
          "correctionReasonCode": {
            "source": "field",
            "value": "reasonCode"
          }
        }
      }
    }
  ]
}'
WHERE module_name = 'CASH_BARCODE_PROCESSOR' AND plugin_name = 'transformer' AND property_key = 'config';
UPDATE sales_management_properties SET send_status = 0 WHERE module_name = 'CASH_BARCODE_PROCESSOR' AND plugin_name = 'transformer';

Правила настройки маски

1. Можно настроить несколько форматов (масок) штрих-кодов, добавив еще нужное количество в список masks.
2. Порядок масок используется при поиске подходящей маски (первая маска проверяется первой).
3. Каждая маска состоит из списка полей штрих-кода (fields) и результата преобразования штрих-кода (result), а также опциональных ограничений ввода штрих-кода (inputRestrictions).
4. Для каждой маски могут быть указаны ограничения ввода inputRestrictions/scannerOnly, для запрета ручного ввода штрих-кода.
5. В поле fields обязательно должны быть перечислены все поля штрих-кода, покрывающие всю его длину в том порядке, в котором они идут в штрих-коде.
6. Каждое поле маски должно содержать либо фиксированное значение (для констант), либо длину поля (для переменных значений).
7. Поля маски должны иметь имя. Допускается использование символа _ для полей, которые не требуется извлекать из штрих-кода.
8. В поле result должны быть заполнены поля:

  • productRef/barcode - штрих-код товара в формате EAN13 для поиска.

  • position/price - цена товара после уценки в копейках.

  • (опционально) correctionReasonCode/price - код причины коррекции цены (если его нет, то товар добавится в чек с измененной ценой, но без указания причины).

11. Значения в поле result могут быть выражены в виде константы:

{
  "fields": [
    {
      "name": "reasonCode",
      "length": 2
    }
  ],
  "result": {
    "position": {
      "correctionReasonCode": 10
    }
  }
}

или значения из поля штрих-кода:

{
  "fields": [
    {
      "name": "reasonCode",
      "length": 2
    }
  ],
  "result": {
    "position": {
      "correctionReasonCode": {
        "source": "field",
        "value": "reasonCode"
      }
    }
  }
}

12. В поле position/attributes можно разрешить ручной ввод количества, ручное изменение цены, применение скидок:

"attributes": {
    "canChangeQuantity": true,
    "canChangePrice": true,
    "allowDiscounts": true
}

Пример работы

Кассир сканирует штрих-код товара. Касса распознает данные из штрих-кода.

Кассир добавляет товар в чек и нажимает РАСЧЕТ. 

Производится расчет скидок, если это предусмотрено условиями маски и действующими акциями. Кассир закрывает чек.

Экспорт чека в ERP

В данных экспорта чека будет отражен код причины коррекции <plugin-property key="changePriceReason" value="10"/>.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<purchases count="1">
    <purchase tabNumber="99999" userName="Иванов Пётр " operationType="true" cashOperation="INCOME" operDay="2022-05-31+03:00" shop="42" cash="1" shift="71" number="3" saletime="2022-06-01T11:33:18.698+03:00" begintime="2022-06-01T11:00:50.662+03:00" amount="211.17" discountAmount="11.13" inn="7802781104" fiscalDocNum="222;3" status="REGISTERED">
        <plugin-property key="FISCAL_DOC_ID" value="222"/>
        <plugin-property key="UID_PURCHASE" value="14d2989d-573d-40b5-ab31-fd97c992f18b"/>
        <plugin-property key="KPP" value="780201001"/>
        <positions>
            <position order="1" departNumber="583" goodsCode="220666" barCode="4607141310048" count="1.235" cost="180.00" nds="10.0" ndsSum="19.20" discountValue="11.13" costWithDiscount="170.99" amount="211.17" dateCommit="2022-06-01T11:00:50.677+03:00" insertType="0">
                <plugin-property key="beforeManualPrice" value="234.90"/>
                <plugin-property key="countryName" value="Россия"/>
                <plugin-property key="salesTax" value="0"/>
                <plugin-property key="changePriceReason" value="10"/>
            </position>
        </positions>
        <payments>
            <payment typeClass="CashPaymentEntity" amount="220.00" description="Оплата наличными"/>
            <payment typeClass="CashChangePaymentEntity" amount="8.83" description=""/>
        </payments>
        <discount positionId="1" goodCode="220666" amount="11.13" isDiscountPurchase="false" AdvertActGUID="42608" AdvertActExternalCode="SR10_42608" AdvertActDiscountType="5" advertType="DISCOUNT_GOODS" quantity="1.235"/>
        <bonuses/>
    </purchase>
</purchases>

Корректировка цены на кассе с помощью QR-кода ценника

SRTB-6994 - Получение подробных данных проблемы… СТАТУС

CR-8268 - Получение подробных данных проблемы… СТАТУС

10.3.27.0

Описание

Функциональность предоставляет возможность корректировать стоимость товара, отсканировав QR-код ценника, чтобы продать товар по корректной стоимости, указанной на ценнике.

Формат

В QR-код зашивается информация в JSON-формате.

В соответствии с данной маской, JSON с информацией о новой стоимости товара, содержащийся в QR-коде, будет разбираться и добавляться на кассе:

  1. "b": штрих-код

  2. "p": цена за единицу товара, руб.

  3. "k": цена за единицу товара, коп.

  4. "t": код шаблона ценника

{
    "b":"2708437",
    "p":59,
    "k":90,
    "t":13511
}

Пример ценника в формате JSON

Правила работы

  1. После редактирования стоимости товара по QR-коду скидки на товар не применяются.

  2. При продаже товара, отредактированному при помощи QR-кода, выгружается признак для идентификации таких продаж в ERP.

  3. Разрешено изменение количества товара для штучных товаров и веса для весовых товаров, отредактированных при помощи QR-кода.

  4. Изменение цены происходит согласно функциональности на кассе "Коррекция стоимости".

  5. Только для клавиатурных касс.

  6. Добавлять товар по такому QR-коду может только пользователь с привилегией “Продажа товара с коррекцией стоимости“. При отсутствии привилегии товар в чек добавить нельзя, касса демонстрирует ошибку

  7. Внутри закодированного QR не должно быть переносов строк для корректного сканирования всеми моделями сканеров, JSON из примера должен быть закодирован в одну строку: {"b":"2708437", "p":59, "k":90, "t":13511}



Валидация срока действия ценника при коррекции цены

MMTR-166 - Получение подробных данных проблемы… СТАТУС

CR-13345 - Получение подробных данных проблемы… СТАТУС

10.4.16.0

Описание

В текущей схеме работы сотрудники магазинов могут злоупотреблять доверием, используя старые ценники после повышения цены товара или даже самостоятельно генерируя штрихкоды для продажи товара по заниженной стоимости. Чтобы минимизировать потери торговой сети из-за мошеннических действий сотрудников, связанных с подменой ценников, была разработана новая система валидации, в рамках которой в штрихкод ценника добавляется дата его действия, а также уникальный проверочный код, сгенерированный по специальному алгоритму. На кассе автоматически проверяется актуальность ценника, что исключает использование просроченных или фальшивых ШК.

Таким образом, функциональность помогает сократить финансовые потери и усилить контроль над процессом продаж.

Примеры работы

Основной сценарий

1. Кассир сканирует Ценник 1

2. Касса распознает ШК-трансформер и производит проверку кода действия.

3. Код действия соответствует.

4. Касса проверяет срок действия Ценника 1.

5. Срок действия соответствует.

6. Касса добавляет товар в чек.

Некорректный проверочный код

1. Кассир сканирует Ценник 2.

2. Касса распознает ШК трансформер и производит проверку кода действия.

3. Код действия НЕ соответствует.

4. Касса не добавляет товар в чек и отображает сообщение “Ценник не действительный. Продажа по нему запрещена.


Истекший срок действия ценника

1. Кассир сканирует Ценник 3.

2. Касса распознает ШК трансформер и производит проверку кода действия.

3. Код действия соответствует.

4. Касса проверяет срок действия Ценника 3.

5. Срок действия НЕ соответствует.

6. Касса не добавляет товар в чек и отображает сообщение “Ценник устарел, продажа по нему невозможна.

confluence.macros.advanced.include.unable-to-render Включенная страница не может быть найдена.

© 1994-2025, ООО «Кристалл Сервис Интеграция».
Все права защищены.

Политика обработки персональных данных