public interface GoodsPlugin extends FiscalizationListener, ReconciliationReportMaker
Modifier and Type | Method and Description |
---|---|
default void |
addForRefund(AddForRefundRequest request)
Запрос на добавление товара в чек произвольного возврата.
|
void |
addForSale(AddForSaleRequest addForSaleRequest)
Запрос на добавление товара в чек для продажи.
|
MerchandiseEntity |
findByBarcode(java.lang.String barcode)
Запрос на поиск товара по штрихкоду.
|
void |
removeFromSale(RemoveFromSaleRequest request)
Запрос на удаление товарной позиции из чека продажи.
|
eventReceiptFiscalized, onRepeatSend
createDailyReport, hasDailyReports
void addForSale(AddForSaleRequest addForSaleRequest)
Касса вызывает этот метод, когда необходимо добавить товар в чек.
Товар содержится в аргументе addForSaleRequest
.
Результат добавления/не добавления товара возвращается в кассу обратными
(callback) вызовами содержащимися в аргументе
addForSaleRequest
.
addForSaleRequest
- необходимые для добавления товара данные и реализация callback интерфейсаAddForSaleRequest
default void addForRefund(AddForRefundRequest request)
request
- тело запроса на добавление товара, должен содержать товар и метод, который плагин обязан вызвать для
передачи результата кассе.void removeFromSale(RemoveFromSaleRequest request)
Касса вызывает метод, когда необходимо удалить добавленную позицию из чека, дважды.
Первый раз управление передается плагину для проверки возможности удаления.
Далее, если удаление возможно, на кассе выводится диалог: "Удалить позицию из чека?" (Да | Нет)
После положительного выбора управление передается плагину для выполнения необходимых действий
с позицией перед удалением из чека.
Под удалением подразумевается, что плагин выполнит все необходимые ему действия.
Удаление записи из БД касса выполняет после получения второго положительного ответа в callback, т.е.:
RemoveFromSaleCallback.completed(boolean)
request
- содержит удаляемую позицию, чек и реализацию callback интерфейсаMerchandiseEntity findByBarcode(java.lang.String barcode)
Касса вызывает этот метод, когда был просканирован штрихкод и касса находится в режиме добавления товаров в чек.
Если плагин распознал шрихкод как товар, продажу которого он осуществляет, то необходимо вернуть новую сущность
MerchandiseEntity
, иначе null
.
В режиме продажи, касса передаст управление плагину вызовом метода addForSale(AddForSaleRequest)
,
найденный товар можно будет получить методом AddForSaleRequest.getMerchandise()
.
barcode
- штрихкодnull