Для работы необходимо установить и настроить сервис Sales-ws на кассовый сервер.
Для выгрузки продаж из БД All по протоколу SOAP реализованы следующие методы:
document
– выгрузка документов по идентификатору смены,shift
– выгрузка смен по времени открытия смены,shiftChanged
– выгрузка смен по времени загрузки на кассовый сервер,shiftCount
– подсчет количества смен за указанное время (по времени открытия смены),shiftChangedCount
– подсчет количества измененных смен за указанное время (по времени загрузки на кассовый сервер),shiftRoutine
– выгрузка активных смен за указанное время (активными считаются смены, которые были открыты и/или закрыты в указанный период),shiftRoutineCount
– подсчет количества активных смен за указанное время.
Информацию о выгружаемых данных можно посмотреть в разделе "Продажи".
При работе с БД, содержащей большое количество записей, может возникнуть проблема производительности (не возможно за раз получить весь объем данных). Для того чтобы снизить нагрузку на ресурсы и избежать зависания сервисов, может быть применен метод постраничной навигации (пейджинация). Пейджинация используется в методах shift
, shiftChanged
и shiftRoutine
. При необходимости выгрузить определенный пул данных, нужно указать в запросе на страницы какого размера будут разбиты данные для запроса и какую из страниц необходимо показать.
Пусть требуется выгрузить данные смен с 11 по 20. В этом случае в запросе необходимо указать, что все данные будут разбиты на страницы по 10 записей и требуется вывести 1-ю страницу данных (это будет вторая страница, но так как нумерация начинается с нуля, то указываем в pageNumber
значение 1
).
В этом случае запрос будет выглядеть следующим образом:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bean="http://cashserver.artix.su/sales/ws/beans"> <soapenv:Header/> <soapenv:Body> <bean:shiftRequest> <!--Optional:--> <bean:timeBegin>2016-09-16T00:00:00.000+00:00</bean:timeBegin> <!--Optional:--> <bean:timeEnd>2016-10-16T00:00:00.000+00:00</bean:timeEnd> <!--Optional:--> <bean:shopCode>21</bean:shopCode> <bean:status>ALL</bean:status> <bean:pageNumber>1</bean:pageNumber> <bean:pageSize>10</bean:pageSize> </bean:shiftRequest> </soapenv:Body> </soapenv:Envelope>
Результатом данного запроса будет выгрузка всех смен с 16.09.2016 по 16.09.2016 для магазина с кодом 21. По запросу будут возвращены данные со 2-й страницы при том, что все записи разбиты на страницы по 10 записей в каждой.
Все поля запроса проходят валидацию. При неверном заполнении выводится ошибка.
Document
Метод document
используется для выгрузки документов. Выборка документов осуществляется по идентификатору смены. В запросе может быть указан идентификатор кластера.
Наименование поля | Тип данных | Описание | Примечания |
---|---|---|---|
workshiftid | числовой | Идентификатор смены, за которую будут выгружены документы | Обязательное поле |
clusterid | строковый | Идентификатор кластера | |
timeBegin | дата и время | Начало диапазона времени | Формат поля "yyyy-MM-ddTHH:mm:ss " |
timeEnd | дата и время | Конец диапазона времени | Формат поля "yyyy-MM-ddTHH:mm:ss " |
В результате выполнения запроса возвращается информация о документах смены с указанным идентификатором.
Shift
Метод shift
используется для выгрузки смен, открытых в указанный период времени. Выгрузка смен осуществляется для магазина с указанным кодом.
Наименование поля | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
timeBegin | дата и время | Начало диапазона времени | ||
timeEnd | дата и время | Конец диапазона времени | ||
shopCode | строковый | Код магазина | ||
clusterId | строковый | Идентификатор кластера | ||
status | строковый |
| Статус смен, которые необходимо выгрузить | Обязательное поле |
pageNumber | числовой | Номер страницы | Обязательное поле | |
pageSize | числовой | Количество элементов на странице | Обязательное поле |
В результате выполнения запроса возвращается информация о сменах, открытых в указанный период времени.
ShiftChanged
Метод shiftChanged
используется для выгрузки смен по времени их загрузки на кассовый сервер. Выгрузка смен осуществляется для магазина с указанным кодом.
Наименование поля | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
timeBegin | дата и время | Начало диапазона времени | ||
timeEnd | дата и время | Конец диапазона времени | ||
shopCode | строковый | Код магазина | ||
clusterId | строковый | Идентификатор кластера | ||
status | строковый |
| Статус смен, которые необходимо выгрузить | Обязательное поле |
pageNumber | числовой | Номер страницы | Обязательное поле | |
pageSize | числовой | Количество элементов на странице | Обязательное поле |
В результате выполнения запроса возвращается информация о сменах по времени их загрузки на кассовый сервер.
ShiftCount
Метод shiftCount
осуществляет подсчет количества элементов в таблице workshift
.
Наименование поля | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
timeBegin | дата и время | Начало диапазона времени | ||
timeEnd | дата и время | Конец диапазона времени | ||
shopCode | строковый | Код магазина | ||
clusterId | строковый | Идентификатор кластера | ||
status | строковый |
| Статус смен, которые необходимо проверить | Обязательное поле |
В результате выполнения запроса возвращается информация о количестве смен с указанным статусом. Если статус в запросе не указан, то возвращается количество всех записей.
ShiftChangedCount
Метод shiftChangedCount
осуществляет подсчет количества элементов в таблице workshift
, которые были изменены в указанный промежуток времени.
Наименование поля | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
timeBegin | дата и время | Начало диапазона времени | ||
timeEnd | дата и время | Конец диапазона времени | ||
shopCode | строковый | Код магазина | ||
clusterId | строковый | Идентификатор кластера | ||
status | строковый |
| Статус смен, которые необходимо проверить | Обязательное поле |
В результате выполнения запроса возвращается информация о количестве смен, в которые были внесены изменения за указанный промежуток времени.
SecurityLog
Метод securityLog
выполняет выгрузку журнала выполненных операций из таблицы crighths
БД All.
Наименование поля | Тип данных | Описание | Примечания |
---|---|---|---|
workshiftid | числовой | Идентификатор смены, за которую будет выгружен журнал выполненных операций | Обязательное поле |
clusterId | строковый | Идентификатор кластера | |
timeBegin | дата и время | Начало диапазона времени | Формат поля "yyyy-MM-ddTHH:mm:ss " |
timeEnd | дата и время | Конец диапазона времени | Формат поля "yyyy-MM-ddTHH:mm:ss " |
В результате выполнения запроса возвращаются данные журнала выполненных операций по смене с указанным идентификатором.
ShiftRoutine
Метод shiftRoutine
используется для выгрузки активных смен за некоторый период. Активными считаются смены, которые были открыты и/или закрыты в указанный диапазон времени.
Наименование поля | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
timeBegin | дата и время | Начало диапазона времени | ||
timeEnd | дата и время | Конец диапазона времени | ||
shopCode | строковый | Код магазина | ||
clusterId | строковый | Идентификатор кластера | ||
status | строковый |
| Статус смен, которые необходимо проверить | Обязательное поле |
pageNumber | числовой | Номер страницы | Обязательное поле | |
pageSize | числовой | Количество элементов на странице | Обязательное поле |
В результате выполнения запроса возвращается информация о сменах, активных в указанный период времени.
ShiftRoutineCount
Метод shiftRoutineCount
осуществляет подсчет количества элементов в таблице workshift
, которые были активны в указанный промежуток времени.
Наименование поля | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
timeBegin | дата и время | Начало диапазона времени | ||
timeEnd | дата и время | Конец диапазона времени | ||
shopCode | строковый | Код магазина | ||
clusterId | строковый | Идентификатор кластера | ||
status | строковый |
| Статус смен, которые необходимо проверить | Обязательное поле |
В результате выполнения запроса возвращается информация о количестве смен, которые были активны за указанный промежуток времени.
Данные, возвращаемые в зависимости от параметров и методов
При выполнении запроса с интервалом времени открытые и закрытые смены могут иметь различное положение относительно выбранного периода времени:
В зависимости от того, какие параметры и методы используются для выгрузки смен, результат может отличаться:
- метод shift вернет смены 2,4,6 (без использования параметра статус смены), так как он оперирует временем открытия смены и возвращает смены, открытые в диапазоне дат,
- метод shiftRoutine вернет смены 1-6 (без использования параметра статус смены), так как он оперирует понятием текущая смена, т.е. та смена, которая была активна в диапазон дат.