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