Для работы необходимо установить и настроить сервис 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строковый
  • OPEN
  • CLOSED
  • ALL
Статус смен, которые необходимо выгрузитьОбязательное поле
pageNumberчисловой
Номер страницыОбязательное поле
pageSizeчисловой
Количество элементов на страницеОбязательное поле

В результате выполнения запроса возвращается информация о сменах, открытых в указанный период времени.

ShiftChanged

Метод shiftChanged используется для выгрузки смен по времени их загрузки на кассовый сервер. Выгрузка смен осуществляется для магазина с указанным кодом.

Наименование поляТип данныхВозможные значенияОписаниеПримечания
timeBeginдата и время
Начало диапазона времени
timeEndдата и время
Конец диапазона времени
shopCodeстроковый
Код магазина
clusterIdстроковый
Идентификатор кластера
statusстроковый
  • OPEN
  • CLOSED
  • ALL
Статус смен, которые необходимо выгрузитьОбязательное поле
pageNumberчисловой
Номер страницыОбязательное поле
pageSizeчисловой
Количество элементов на страницеОбязательное поле

В результате выполнения запроса возвращается информация о сменах по времени их загрузки на кассовый сервер.

ShiftCount

Метод shiftCount осуществляет подсчет количества элементов в таблице workshift

Наименование поляТип данныхВозможные значенияОписаниеПримечания
timeBeginдата и время
Начало диапазона времени
timeEndдата и время
Конец диапазона времени
shopCodeстроковый
Код магазина
clusterIdстроковый
Идентификатор кластера
statusстроковый
  • OPEN
  • CLOSED
  • ALL
Статус смен, которые необходимо проверитьОбязательное поле

В результате выполнения запроса возвращается информация о количестве смен с указанным статусом. Если статус в запросе не указан, то возвращается количество всех записей.

ShiftChangedCount

Метод shiftChangedCount осуществляет подсчет количества элементов в таблице workshift, которые были изменены в указанный промежуток времени.

Наименование поляТип данныхВозможные значенияОписаниеПримечания
timeBeginдата и время
Начало диапазона времени
timeEndдата и время
Конец диапазона времени
shopCodeстроковый
Код магазина
clusterIdстроковый
Идентификатор кластера
statusстроковый
  • OPEN
  • CLOSED
  • ALL
Статус смен, которые необходимо проверитьОбязательное поле

В результате выполнения запроса возвращается информация о количестве смен, в которые были внесены изменения за указанный промежуток времени.

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строковый
  • OPEN
  • CLOSED
  • ALL
Статус смен, которые необходимо проверитьОбязательное поле
pageNumberчисловой
Номер страницыОбязательное поле
pageSizeчисловой
Количество элементов на страницеОбязательное поле

В результате выполнения запроса возвращается информация о сменах, активных в указанный период времени.

ShiftRoutineCount

Метод shiftRoutineCount осуществляет подсчет количества элементов в таблице workshift, которые были активны в указанный промежуток времени.

Наименование поляТип данныхВозможные значенияОписаниеПримечания
timeBeginдата и время
Начало диапазона времени
timeEndдата и время
Конец диапазона времени
shopCodeстроковый
Код магазина
clusterIdстроковый
Идентификатор кластера
statusстроковый
  • OPEN
  • CLOSED
  • ALL
Статус смен, которые необходимо проверитьОбязательное поле

В результате выполнения запроса возвращается информация о количестве смен, которые были активны за указанный промежуток времени.

Данные, возвращаемые в зависимости от параметров и методов

При выполнении запроса с интервалом времени открытые и закрытые смены могут иметь различное положение относительно выбранного периода времени:

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

  • метод shift вернет смены 2,4,6 (без использования параметра "Статус смены"), так как он оперирует временем открытия смены и возвращает смены, открытые в диапазоне дат,
  • метод shiftRoutine вернет смены 1-6 (без использования параметра "Статус смены"), так как он оперирует понятием текущая смена, т.е. та смена, которая была активна в диапазон дат.
  • No labels