Чтобы открыть чек продажи в смарт-терминале:
Составьте список позиций, который требуется добавить в чек, и наполните его:
public void openReceipt() {
List<PositionAdd> positionAddList = new ArrayList<>();
JSONObject extra = new JSONObject();
}
Где:
List<PositionAdd> positionAddList = new ArrayList<>()
– список позиций. Как добавить позицию в чек смотрите в разделе Добавление, изменение и удаление позиций.
JSONObject extra = new JSONObject();
– добавляет дополнительные данные к чеку. Данные доступны только вашему приложению. Не создавайте этот объект, если приложение не добавляет дополнительные поля к чеку.
Создайте команду открытия чека и вызовите метод .process
new OpenSellReceiptCommand(positionAddList, null).process(
activity,
new IntegrationManagerCallback() {
@Override
public void run(IntegrationManagerFuture integrationManagerFuture) {
try {
IntegrationManagerFuture.Result result = integrationManagerFuture.getResult();
if (result.getType() == IntegrationManagerFuture.Result.Type.OK) {
//Чтобы открыть другие документы используйте методы NavigationApi.
startActivity(NavigationApi.createIntentForSellReceiptPayment());
}
} catch (IOException e) {
e.printStackTrace();
} catch (IntegrationException e) {
e.printStackTrace();
}
}
});
Где вместо null вы можете передать new SetExtra(extra)
, команду для создания дополнительных полей в чеке.
Чтобы открыть чек другого типа используйте соответствующую команду. Возможные команды:
OpenSellReceiptCommand
– команда открытия чека продажи.OpenPaybackReceiptCommand
– команда открытия чека возврата проданного товара.OpenBuyReceiptCommand
– команда открытия чека покупки.OpenBuybackReceiptCommand
– команда открытия чека возврата купленного товара.SELL
на PAYBACK
, если хотите открыть чек возврата.Пример открытия чека продажи или возврата в демонстрационном приложении.