С помощью методов класса NavigationApi приложения вызывают различные окна смарт-терминала.
fun createIntentForSellReceiptEdit(closeAfterOperation: Boolean = false): Intent
Описание
Открывает окно редактирования чека продажи.
Параметры
closeAfterOperation — определяет нужно ли закрыть окно редактирования чека после его успешной регистрации.Возвращает
Intentfun createIntentForPaybackReceiptEdit(): Intent
Описание
Открывает окно редактирования чека возврата проданного товара.
Возвращает
Intentfun createIntentForBuyReceiptEdit(): Intent
Описание
Открывает окно редактирования чека покупки.
Возвращает
Intentfun createIntentForBuybackReceiptEdit(): Intent
Описание
Открывает окно редактирования чека возврата купленного товара.
Возвращает
Intentfun createIntentForSellReceiptPayment(): Intent
Описание
Открывает окно оплаты чека продажи.
Возвращает
Intentfun createIntentForPaybackReceiptPayment(): Intent
Описание
Открывает окно оплаты чека возврата проданного товара.
Возвращает
Intentfun createIntentForBuyReceiptPayment(): Intent
Описание
Открывает окно оплаты чека покупки.
Возвращает
Intentfun createIntentForBuybackReceiptPayment(): Intent
Описание
Открывает окно оплаты чека возврата купленного товара.
Возвращает
Intentfun createIntentForCashReceiptSettings(): Intent
Описание
Открывает окно редактирования клише чека (Настройки → Кассовый чек).

Возвращает
Intentfun createIntentForCashRegisterReport(): Intent
Описание
Открывает окно доступа к кассовым отчётам (Отчёты → Кассовый отчёт).

Возвращает
Intentfun createIntentForChangeUser(): Intent
Описание
Открывает окно смены пользователей.
Возвращает
Intentfun createIntentForNewProduct(productBuilder: NewProductIntentBuilder): Intent
Описание
Открывает окно создания нового товара.
Параметры
productBuilder
 class NewProductIntentBuilder {
     private var barcode: String? = null
     fun setBarcode(barcode: String?): NewProductIntentBuilder {
         this.barcode = barcode
         return this
     }
     @JvmSynthetic
     internal fun build() = Intent(ACTION_EDIT_PRODUCT).apply {
         barcode?.let {
             putExtra(EXTRA_BARCODE, it)
         }
     }
 }
Возвращает
Intentfun createIntentForEditProduct(productBuilder: EditProductIntentBuilder): Intent
Описание
Открывает окно редактирования товара.
Параметры
productBuilder   class EditProductIntentBuilder {
       private lateinit var uuid: String
       fun setUuid(uuid: String): EditProductIntentBuilder {
           this.uuid = uuid
           return this
       }
       @JvmSynthetic
       internal fun build() = Intent(ACTION_EDIT_PRODUCT).apply {
           putExtra(EXTRA_PRODUCT_UUID, uuid)
       }
   }
Возвращает
Intentfun getProductUuid(intent: Intent): String?
Описание
Получает идентификатор товара при успешном добавлении.
Параметры
intentВозвращает
StringПример вызова окон добавления и редактирования товара.
package evotor.ru.pushsample;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.widget.Toast;
import ru.evotor.framework.core.IntegrationAppCompatActivity;
import ru.evotor.framework.navigation.NavigationApi;
public class SampleActivity extends IntegrationAppCompatActivity {
    public static final int REQUEST_CODE_FOR_NEW_PRODUCT = 10;
    public static final int REQUEST_CODE_FOR_EDIT_PRODUCT = 11;
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        //Вызов суперкласса onCreate, создающего операцию.
        super.onCreate(savedInstanceState);
        //NavigationApi.createIntentForNewProduct() создает намерение (Intent) на создание товара с указанным штрихкодом.
        startActivityForResult(NavigationApi.createIntentForNewProduct(
                new NavigationApi.NewProductIntentBuilder().setBarcode("111")), REQUEST_CODE_FOR_NEW_PRODUCT);
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_CODE_FOR_NEW_PRODUCT && resultCode == RESULT_OK) {
            //Toast.makeText() выводит на экран смарт-терминала сообщение
            //с идентификатором нового товара.
            //getProductUuid(data) получает идентификатор (uuid)
            //нового товара.
            Toast.makeText(this, "UUID of new product: " + getProductUuid(data)
                    , Toast.LENGTH_SHORT).show();
            //NavigationApi.createIntentForEditProduct() создает намерение (Intent) на редактирование товара.
            //.setUuid(getProductUuid(data)) задаёт идентификатор редактируемого товара.
            startActivityForResult(NavigationApi.createIntentForEditProduct(
                    new NavigationApi.EditProductIntentBuilder()
                            .setUuid(getProductUuid(data))), REQUEST_CODE_FOR_EDIT_PRODUCT);
        } else if (requestCode == REQUEST_CODE_FOR_EDIT_PRODUCT && resultCode == RESULT_OK) {
            //Toast.makeText() выводит на экран смарт-терминала сообщение
            //об успешном редактировании товара.
            Toast.makeText(this, "Товар отредактирован пользователем", Toast.LENGTH_SHORT).show();
        } else if (resultCode == RESULT_CANCELED) {
            //Toast.makeText() выводит на экран смарт-терминала сообщение
            //об отмене создания нового товара.
            Toast.makeText(this, "Отменено пользователем", Toast.LENGTH_SHORT).show();
        }
        super.onActivityResult(requestCode, resultCode, data);
    }
}