Мобильная Торговля
Версия
Разное

Карты

stmobile://location/map                         OpenStreetMap
stmobile://location/yandexmap                   Яндекс карта

Торговые точки

stmobile://outlet/coordinates                   Редактирование координат торговой точки (принимает GET-параметр outletId)
stmobile://outlet/edit                          Редактирование атрибутов торговой точки (принимает GET-параметры outletId и distributorId)
stmobile://outlet/new                           Создание новой торговой точки
stmobile://outlet/requisite                     Просмотр атрибутов торговой точки (принимает GET-параметры outletId и distributorId)
stmobile://component/outlet/requisite/photo     Редактирование фотографий торговой точки

Управление кнопкой "Сохранить" (активация / деактивация) осуществляется при помощи метода api.form.setModified(isModified) Подписаться на событие нажатия этой кнопки можно объявив виртуальную кнопку с именем "save" и соответствующей функцией обработчиком (см. api.form.tools.controls)

Пример скрипта настройки атрибутов перед открытием формы редактирования ТТ смотрите в разделе Страница редактирования ТТ

Сводка

stmobile://dashboard                            Экран «Сводка»

Галерея просмотра фотографий

stmobile://images/view

Страница принимает следующие GET-параметры:

  • title - Заголовок страницы просмотра фотографий
  • images - JSON-строка с * массивом * объектов, имеющих следующие поля:
    • url - Ссылка на изображение
    • title - Заголовок изображения
    • info - Информация об изображении
  • allow_edit - Признак возможности работы с фотографиями (добавление, удаление, удалить все фото и выбор источника фото).
  • currentImageIndex - Индекс номера фотографии в списке, с которой начинать просмотр в галерее. (Начиная с версии 4.4.2)

Редактирование галереи возможно только в синхронном режиме. По умолчанию этот параметр включен (sync=true).

По умолчанию флаг allow_edit = false, если передать allow_edit = true, то в фотогалерее появятся пункты:

  • кнопка загрузки фото
  • _..._ (троеточие)
    • удалить все фото
    • удалить фото
    • выбрать источник фото

Список фотографий вернется в структуре, возвращаемой api.launcher.open

    let photos = api.launcher.open(`stmobile://images/view?sync=true
        &title=Фотографии
        &images=${JSON.stringify(allPhotoList)}
        &allow_edit=true
        & currentImageIndex=${curIndexPhoto}`);
    // Новая структура вернется в переменную photos

При вызове с параметром allow_edit = true в переменную photos вернется структура, которая будет содержать доп. свойство filePath:

  • url - Ссылка на изображение. По факту результат api.df.pathToUri(filePath)
  • title - Заголовок изображения
  • info - Информация об изображении
  • filePath - Путь к изображению

Распознавание штрихкодов

stmobile://recognition/barcodedetector
Заметки
Для работы сканера на Android устройстве должны быть установлены Google Mobile Services (GMS)

Страница принимает следующие GET-параметры:

  • mode - Режим работы распознавания, принимает одно из значений:
    • scan-once - Распознавать только один штрихкод
    • scan-list - Распознавать список штрихкодов. Результат распознавания содержит все отсканированные штрихкоды, в том числе повторные значения. Данный режим устанавливается по умолчанию
    • scan-uniquelist - Распознавать список штрихкодов. Результат распознавания содержит только уникальные значения (дубли исключаются)
  • formats - Список требуемых форматов распознавания. Список состоит из наименований форматов, разделенных через запятую. Поддерживаются следующие форматы распознавания:
    • FORMAT_QR_CODE
    • FORMAT_EAN_13
    • FORMAT_EAN_8
    • FORMAT_CODE_39
    • FORMAT_CODE_93
    • FORMAT_CODE_128
    • FORMAT_CODABAR
    • FORMAT_UPC_A
    • FORMAT_UPC_E
    • FORMAT_DATA_MATRIX
    • FORMAT_ITF
    • FORMAT_AZTEC

Распознавание штрихкодов возможно только в синхронном режиме. По умолчанию этот параметр выключен (sync=false).

Список распознанных штрихкодов вернется как результат вызова api.launcher.open в виде массива строк без повторяющихся значений.

Пример:

var scannerMode = "scan-list"; // Режим работы распознавания: scan-once, scan-list
var scannerFormats = "FORMAT_EAN_13,FORMAT_EAN_8, FORMAT_CODE_39"; // Требуемые форматы распознавания
var result = api.launcher.open(`stmobile://recognition/barcodedetector?sync=true&mode=${scannerMode}&formats=${scannerFormats}`);

var barcodes = result.value;

// Новая структура вернется в переменную barcodes, в виде массива строк
api.interactive.msgbox("Список штрихкодов = " + barcodes.join(","));

Особенности использования параметра "formats" :

  • Если указать пустую строку или вообще не указывать параметр "formats", то распознавание будет вестись по всем форматам.
  • Если в списке присутствует неверный формат, то в логе будет предупреждение вида: "Barcode detector, given format is not supported:...". При этом распознавание будет вестись только по правильно заданным именам форматов
  • Наименования форматов должны разделяться только запятыми. Допускается обрамлять наименования пробелами.
  • Если ни один из перечисленных форматов не соответствует поддерживаемому или содержит ошибки в наименовании, то в логе будет зафиксирована ошибка инициализации сканера. Также в логе будет выведена ошибка вида: Barcode detector, All given formats are not supported:... ". При этом сканер не будет распознавать никакие объекты.