Публичный ресурс

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

SRTB-5806 - Getting issue details... STATUS

CR-7040 - Getting issue details... STATUS

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>

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

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