SetRetail10 ▪️ Удаленное внесение и изъятие

SRTE-2990 - Getting issue details... STATUS

SRTE-3701 - Getting issue details... STATUS

SRTE-3734 - Getting issue details... STATUS

SRTE-3743 - Getting issue details... STATUS

CR-4346 - Getting issue details... STATUS

10.3.3.0

SRTB-5404 - Getting issue details... STATUS

10.3.4.0

Описание

В некоторых торговых сетях пересчетом денежных средств для внесения или изъятия занимается старший кассир. Для того, чтобы минимизировать участие кассира в процессе внесения/изъятия и не отвлекать от обслуживания покупателя, в версии 10.3.4.0 добавлена возможность удаленного подтверждения внесения или изъятия денежных средств. 

Настройка

Перейдите в раздел Персонал → кликните Роли пользователей → кликните  напротив требуемой роли.

Выберите привилегию Удаленное внесение/изъятие ДС → кликните  → кликните .

После добавления привилегии у данного пользователя будут доступны кнопки внесения и изъятия при просмотре кассы в разделе Операционный деньСмены.

Дополнительная информация

  1. Кассир не может отменить подтверждение внесения или изъятия.

  2. Требование к выполнению операции появляется после регистрации чека до начала следующего.

  3. Касса издает непрерывный звуковой сигнал с требованием подтвердить операцию.

  4. Если пользователя нет на кассе, сообщение с требованием подтвердить операцию появится после авторизации и закрытия чека (если на кассе открыт чек).

  5. Денежный ящик при выполнении операции не открывается.
  6. Кассир может подтвердить операцию даже при отсутствии привилегии на внесение или изъятие.
  7. Допускается не выполнение задания на внесение/изъятие в следующих ситуациях:

    1. На кассе смена уже была закрыта (пришло задание, созданное до открытия смены).

    2. Попытка сделать изъятие на сумму, большую, чем числится в денежном ящике, при установленном флажке Изъятие больше чем сумма наличных запрещена.

Пример работы

Клавиатурная касса

Изъятие

Старший кассир получает деньги с кассы. 

В визуализации SetRetail10 Старший кассир выбирает нужную кассу и отправляет команду на удаленное изъятие на полученную сумму.

На кассе, в момент, когда нет чека, появляется сообщение о проведении изъятия на запрошенную сумму. Кассир нажимает ВВОД и подтверждает операцию.

На сервере в карточке кассы отображается изъятие.

Внесение

Старший кассир отправляет деньги на кассу.

В визуализации SetRetail10 Старший кассир выбирает нужную кассу и отправляет на нее команду на внесение денег с указанием суммы.

На кассе, в момент когда нет чека, появляется сообщение о проведении внесения на запрошенную сумму. Кассир нажимает ВВОД и подтверждает операцию.

На сервере в карточке кассы отображается внесение.

Превышение суммы изъятия

Если в настройках шаблона кассы установлен флажок Изъятие больше чем сумма наличных запрещена, то при отправке на кассу запроса изъятия суммы, превышающей остаток в кассе, касса выведет сообщение о превышении суммы изъятия.

Примеры сообщений на Touch-кассе

Внесение

Изъятие

Проверка работоспособности

Запрос, отправленный с сервера, отобразится в браузере Google Chrome в инструментах разработчика (клавиша F12) на вкладке Network.

Используемые методы:

  • Изъятие: sendWithdrawalToCash
  • Внесение: sendIntroductionToCash

Например, запрос на изъятие 100 рублей с кассы №1 магазина №42. 

Пример запроса на изъятие
{
   "@class":"ru.crystals.commons.jsonrpc.domain.JsonRpcRequest",
   "id":3,
   "version":"1.0.0",
   "endpoint":"java:app/SET-OperDay/ServerToCashMessagingServiceBean!ru.crystals.operday.gui.messaging.ServerToCashMessagingService",
   "method":"sendWithdrawalToCash",
   "params":[
               42,
               1,
               10000
   ]
}

В базе данных set_operday в таблице od_server_to_cash_requests появится соответствующая запись.

На сервере в расположении jboss/nginx/html/trs/OPERDAY_TO_CASH появится файл в формате xml с данными по операции.

<ru.crystals.transport.api.TransportPacket>
  <transportTicket>
    <sendTicket>
      <topoReq>
        <ru.crystals.setretailx.topology.TopologyRequestVO>
          <topologyAdress>
            <nodeId>1645</nodeId>
            <nodeLevel>CASH</nodeLevel>
          </topologyAdress>
          <isVirtual>true</isVirtual>
        </ru.crystals.setretailx.topology.TopologyRequestVO>
      </topoReq>
      <transportType>FILE</transportType>
      <dataType>OPERDAY_TO_CASH</dataType>
    </sendTicket>
  </transportTicket>
  <data class="ru.crystals.operday.transport.JMSMessage">
    <messageIds/>
    <transferObjects>
      <ru.crystals.operday.transport.JMSMessage_-TransferObject>
        <serializableObject class="ru.crystals.pos.operdaymessanger.message.server.CashInOut">
          <cashNum>1</cashNum>
          <shopNum>42</shopNum>
          <uid>d9a9ba56-125c-4b67-9f08-8a1c8df68b24</uid>
          <summ>10000</summ>
          <type>OUT</type>
        </serializableObject>
        <outer-class reference="../../.."/>
      </ru.crystals.operday.transport.JMSMessage_-TransferObject>
    </transferObjects>
  </data>
</ru.crystals.transport.api.TransportPacket>