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

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}

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

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