Экспорт отчетов по сторно из SetRetail10 в ERP (веб-сервис на стороне SetRetail10)

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

Экспорт отчетов по сторно из SetRetail10 в ERP (веб-сервис на стороне SetRetail10)

https://crystals.atlassian.net/browse/SRTE-3492

https://crystals.atlassian.net/browse/CR-5381

10.2.99.0

Версия WEB-сервиса 1.1

Методы веб-сервиса для экспорта отчетов по сторно

Отбор по фильтру

Метод

getByFilter

URL

http://IP-адрес_сервера:8090/SET-ERPIntegration/StornoExportServiceBean

WSDL

http://IP-адрес_сервера:8090/SET-ERPIntegration/StornoExportServiceBean?wsdl

Поле

Тип данных

Описание

Обязательное

Принимаемые параметры

cash

Long

Номер кассы

Нет

marking

String

Код/Артикул товара

Нет

operday

DateTime

Дата операционного дня в формате YYYY-MM-DD

Нет

shift

long

Номер смены

Нет

shop

long

Номер магазина

Нет

tabNo

string

Табельный номер кассира

Нет

type

string

Тип события:

  • STORNO (Сторно) - уменьшение количество позиций товара кассиром в чеке до “0”;

  • CHANGE (Изменения) - уменьшение количества позиций товара кассиром (не до значения “0”);

  • CANCEL (Отмена) - удаление позиции из подвала чека (товар не добавляется к чеку; применимо только для POS).

Нет

Возвращаемые параметры

return

base64Binary

Отчеты по сторно

Да

Описание формата выгрузки отчетов по сторно

Пример запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.storno.operday.ERPIntegration.crystals.ru/"> <soapenv:Header/> <soapenv:Body> <ser:getByFilter> <!--Optional:--> <filter> <!--Optional:--> <cash>3</cash> <!--Optional:--> <marking>45034</marking> <!--Optional:--> <operday>2021-07-06</operday> <!--Optional:--> <shift>44</shift> <!--Optional:--> <shop>234</shop> <!--Optional:--> <tabNo>21323</tabNo> <!--Optional:--> <type>STORNO</type> </filter> </ser:getByFilter> </soapenv:Body> </soapenv:Envelope>

Включение и настройка экспорта отчета по сторно

  • После включения экспорта в выгрузку попадут только данные, которые будут сформированы после активации.

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

1. Для включения экспорта выполните скрипт в базе данных 

set на сервере SetRetail10/SetCentrum:

Экспорт через веб-сервис
UPDATE public.sales_management_properties SET property_value='true' WHERE property_key = 'export.set10wsclient.storno.enabled';
Файловый экспорт
UPDATE public.sales_management_properties SET property_value='true' WHERE property_key = 'export.file.storno.enabled';

2. Перезапустите службу сервера.

3. Проверьте что в шаблоне касс включен флажок для формирования отчетов по сторно в операционном дне. Без этой настройки отчеты по сторно формироваться не будут. После установки этой настройки перезагрузите кассы.

Кассовый модуль → Шаблоны касс → <Шаблон кассы> → Вкладка ПРОЦЕСС ТОРГОВЛИ → Работа с чеком →

Вести учет и изменения количества и удаления позиций в чеках.

4. Также в базе данных 

set в таблице
sales_management_properties установите дополнительные настройки по экспорту, если требуется.

property_key

property_value

description

storno.clean.time

06:35:00

Время старта чистильщика истории изменений или отмен (Storno) позиций чеков в течении дня

storno.clean.day.limit

999999999999

Ограничение глубины очистки истории изменений или отмен (Storno) позиций чеков в днях

export.set10wsclient.storno.polling.interval.sec

30

Период выгрузки событий изменения количества товара в чеках (aka сторнирования) в веб-сервис на стороне ERP, в секундах

export.set10wsclient.storno.version

1.0

Версия плагина выгрузки событий изменения количества товара в чеках (aka сторнирования) в веб-сервис на стороне ERP

export.set10wsclient.storno.short.interval

5

Период перевыгрузки событий изменения количества товара в чеках (aka сторнирования) в веб-сервис на стороне ERP (если данных больше, чем размер пачки), в секундах

export.set10wsclient.storno.polling.wsdl

 

URL для выгрузки событий изменения количества товара в чеках (aka сторнирования) в веб-сервис на стороне ERP

export.set10wsclient.storno.catalog.size.records

100

Размер пачки для выгрузки событий изменения количества товара в чеках (aka сторнирования) в веб-сервис на стороне ERP

export.set10wsclient.storno.auth.username

 

Имя пользователя для авторизации в веб-сервисе выгрузки событий изменения количества товара в чеках (aka сторнирования) на стороне ERP

export.set10wsclient.storno.auth.password

 

Пароль для авторизации в веб-сервисе выгрузки событий изменения количества товара в чеках (aka сторнирования) на стороне ERP

export.set10wsclient.storno.export.style

SAP

Способ выгрузки событий изменения количества товара в чеках (aka сторнирования) в веб-сервис на стороне ERP. (C1/SAP - с ответом/без ответа)

export.set10wsclient.storno.save.catalog.to.temp.dir

false

Сохранять ли выгруженные события изменения количества товара в чеках (aka сторнирования) в папку export.set10wsclient.storno.tmp.catalog.path

export.set10wsclient.storno.request.timeout

60

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

export.set10wsclient.storno.tmp.catalog.path

c:\\reports\\export\\set10wsclient\\storno

Папка для сохранения выгруженных событий изменения количества товара в чеках (aka сторнирования).

export.file.storno.filename.prefix

storno

Префикс файлов для выгрузки отчетов по событиям изменения количества товара в чеках (aka сторнирования)

export.file.storno.filename.separator

-

Разделитель в имени файлов выгрузки событий изменения количества товара в чеках (aka сторнирования)

export.file.storno.filename.extension

xml

Расширение файлов выгрузки событий изменения количества товара в чеках (aka сторнирования)

export.file.storno.polling.interval.sec

60

Интервал выгрузки событий изменения количества товара в чеках (aka сторнирования), сек

export.file.storno.short.interval.sec

2

Короткий интервал для выгрузки событий изменения количества товара в чеках (aka сторнирования), сек

export.file.storno.catalog.size.records

100

Размер порции для выгрузки событий изменения количества товара в чеках (aka сторнирования)

export.file.storno.version

1.0

Версия выгрузки событий изменения количества товара в чеках (aka сторнирования)

storno.export.document.schema.version

1.0

Версия документа выгрузки отчетов по событиям изменения количества товара в чеках (aka сторнирования) через ws-service

export.file.storno.enabled

true

Флаг-признак: разрешена ли выгрузка событий изменения количества товара в чеках (aka сторнирования) в файл

export.set10wsclient.storno.enabled

true

Флаг-признак: разрешена ли выгрузка событий изменения количества товара в чеках (aka сторнирования) в веб-сервис на стороне ERP

События отчета по сторно <storno-events/storno-event>

storno-events/storno-event

Наименование элемента

Тип данных

Описание

Обязательное

storno-events

stornoEventType

Каталог списка событий редактирования позиций в чеках

Да

Наименование элемента

Тип данных

Описание

Обязательное

storno-event

Комплексный

Событие редактирования позиции в чеке

Да

Наименование атрибута

Тип данных

Описание

Обязательное

shop

Long

Номер магазина

Нет

cash

Long

Номер кассы

Нет

shift

Long

Номер смены

Нет

receipt-number

Long

Номер чека

Нет

event-type

Комплексный

Тип события:

  • STORNO (Сторно) - уменьшение количество позиций товара кассиром в чеке до “0”

  • CHANGE (Изменения) - уменьшение количества позиций товара кассиром (не до значения “0”)

  • CANCEL (Отмена) - удаление позиции из подвала чека (товар не добавляется к чеку; применимо только для POS).

Нет

cashier-id

String

Табельный номер кассира, оформляющего чек

Нет

cashier-name

String

ФИО кассира, оформляющего чек

Нет

admin-id

String

Табельный номер администратора, сделавшего отмену или изменение

Правила заполнения:

Если позицию удаляет не сам кассир, а администратор под своим логином\картой, то в отчёте:

  1. в поле "Кассир" (cashier-name) попадает фамилия кассира, оформляющего чек

  2. в поле "Табельный номер кассира" (cashier-id) попадает номер кассира, оформляющего чек

  3. в поле "Табельный номер администратора" (admin-id) попадает табельный номер администратора, удаливший позицию

Если позицию удаляет кассир, но при специальном положении ключа, то в отчете:

1. в поле "Кассир" (cashier-name) попадает имя кассира оформляющего чек,
2. в поле "Табельный номер кассира" (cashier-id) попадает номер кассира, оформляющего чек
3. в поле "Табельный номер администратора" (admin-id) попадает табельный номер кассира, оформляющего чек (и соответственно, удаливший позицию)

Нет

barcode

String

Штрих-код товара

Нет

marking

String

Код/Артикул товара

Нет

good-name

String

Наименование товара

Нет

qnty-before

Decimal

Количество товара, которое было в позиции до выполнения операции сторнирования

Нет

qnty-after

Decimal

Количество товара, которое стало в позиции после выполнения операции сторнирования. Для типа “сторно” и “отмена” = 0

Нет

price

Decimal

Базовая (Первая цена) цена на товар до момента расчёта скидок

Нет

delete-position-reason-id

Long

Код причины удаления позиции

Нет

excise-token

String

Информация о марке

https://crystals.atlassian.net/browse/SRTB-6910

https://crystals.atlassian.net/browse/CR-908610.3.25.0

Нет

mark

String

Информация об акцизной марке

https://crystals.atlassian.net/browse/SRTB-6910

https://crystals.atlassian.net/browse/CR-9086

10.3.25.0

Нет

Пример отчета по сторно
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <storno-events> <storno-event shop="234" cash="3" shift="44" receipt-number="7" event-time="2021-07-06T17:31:11.654+03:00" event-type="STORNO" cashier-id="21323" cashier-name="Иванова Мария Александровна" admin-id="21323" barcode="2300169" marking="45032" good-name="Грудка КУРИНАЯ" qnty-before="1.000" price="149.70" delete-position-reason-id="1"/> </storno-events>