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)
Запрос на поиск товара по штрихкоду.
|
default PositionalRefundPreparationResult |
preparePositionalRefund(PositionalRefundPreparationRequest request)
Запрос на подготовку возвращаемых позиций, принадлежащих плагину, при возврате по чеку.
|
void |
removeFromSale(RemoveFromSaleRequest request)
Запрос на удаление товарной позиции из чека продажи.
|
eventReceiptFiscalized, onRepeatSendcreateDailyReport, hasDailyReportsvoid addForSale(AddForSaleRequest addForSaleRequest)
Касса вызывает этот метод, когда необходимо добавить товар в чек.
Товар содержится в аргументе addForSaleRequest.
Результат добавления/не добавления товара возвращается в кассу обратными
(callback) вызовами содержащимися в аргументе
addForSaleRequest.
addForSaleRequest - необходимые для добавления товара данные и реализация callback интерфейсаAddForSaleRequestdefault 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 - штрихкодnulldefault PositionalRefundPreparationResult preparePositionalRefund(PositionalRefundPreparationRequest request)
Плагин может, например, запретить возврат отдельных позиций или ограничить максимальную сумму для возврата
Метод не вызывается, если в планируемом к возврату чеке нет позиций этого плагина, доступных для возврата
request - запрос на подготовку возврата по чеку