Изменения в платформе Mobile SMARTS 3.2

Теги: v 3.2
Последние изменения: 12.10.2020

Администрирование сервера

Переработан и улучшен интерфейс приложения для администрирования локального сервера.

Кнопки управления перенесены вверх, часть устаревших функций была убрана. Добавлена функция быстрого открытия лога.

Переработан раздел «Производительность» - теперь там доступны три варианта настройки:

  • «Стандартный» - работает так, как в Windows и .NET настроено по-умолчанию.
  • «Рекомендованный» - настройки подобранные нами, которые подходят большинству пользователей, даже если у них достаточно много баз (более 5) или мобильных устройств (более 100).
  • «Настраиваемые» - режим, полностью настраиваемый пользователем (для продвинутых).

В разделе «Управление ресурсами» изменены настройки базы, установленные по-умолчанию. Теперь для новых баз справочник товаров и документы не загружаются в оперативную память сервера. Это позволяет уменьшить потребление оперативной памяти сервером без серьезного падения производительности.

Для уже существующих баз вы можете изменить эту настройку вручную.

Приложение пользователя на ПК

Интерфейс пользовательского приложения на ПК также претерпел схожие улучшения для более комфортной работы.

Значительно переработан мастер настройки подключения к 1С для более простого и понятного подключения к базе «1С: Предприятия»

Подробно весь процесс подключения к базе 1С на примере «Склада 15» рассмотрен в статье «Установка «Склад 15»».

Мастер сбора информации для технической поддержки

Для более быстрой обработки запросов, поступающих в техническую поддержку, мы добавили специальный мастер для сбора максимума информации, необходимой для диагностики проблемы.

Мастер призван помочь пользователю воспроизвести проблему в режиме расширенного логирования, собрать все получившиеся логи и либо загрузить данные на сервер качества «Клеверенс», либо просто сохранить  архив с собранной информацией, который потом можно предоставить в службу технической поддержки. Подробнее читайте в статье «Мастер технической поддержки»

Расширение HYDB возможностей платформы для номенклатуры и таблиц

В новой версии платформы возможности по настройке приоритетов поиска номенклатуры и данных в дополнительных таблицах стали еще более широки.

Теперь вы можете включать, отключать и задавать произвольный порядок источников для поиска данных.

Подробнее в статье «Настройка гибридной схемы работы со справочниками номенклатуры и таблицами»

Расширенный поиск по штрихкоду

Добавлен функционал, становящийся всё более актуальным с активным развитием проектов маркировки различных групп товаров.

В платформе Mobile SMARTS и раньше была возможность поиска товаров по EAN-13, извлеченному из GS1-128 штрихкода, но теперь поиск идет по еще большему числу вариаций.

Например, при сканировании штрихкода (01)10000057074365(3103)005040(11)181026(17)190426(10)0002 поиск будет идти в следующем порядке:

  1. 57074368 - поиск по EAN8, извлеченному из GTIN.
  2. 0000057074368 - поиск по EAN13, извлеченному из GTIN.
  3. 000057074368 - поиск по UPC, извлеченному из GTIN.
  4. 00000057074368 - поиск по базовому GTIN.
  5. 10000057074365 - поиск по GTIN из штрихкода.
  6. (01)10000057074365(3103)005040(11)181026(17)190426(10)0002 - поиск по всему отсканированному штрихкоду.

Таким образом решается проблема, в каком виде выгружать штрихкоды из учетной системы.

Подробнее в статье «Глобальный номер товарной продукции (GTIN)»

Локальные таблицы

Добавлена возможность назначать таблицу локальной  (не загружается на мобильное устройство с сервера).

Такая таблица может изменяться из алгоритма работы с документом на мобильном устройстве. При этом нет риска, что новая версия таблицы загрузится с сервера и внесенные в таблицу данные пропадут.

Для примера, подобную таблицу продукт «Кировка» использует для хранения уже нанесенных на данном мобильном устройстве КМ.

Серверные операции и расширение для вызова серверных операций

Начиная с версии 3.2, в платформе Mobile SMARTS появились операции, выполняемые на сервере, выполнение которых, как следует из названия, может происходить не на мобильном устройстве, а на сервере.

Есть несколько вариантов использования таких операций:

  1. При работе с коллективным документом такие операции полностью выполняются на сервере. 

    Это позволяет ускорить работу с коллективным документом, заменяя множество одиночных вызовов на сервер одним, при котором целый кусок алгоритма отрабатывает на сервере. Дополнительно, используя блокировки, это позволяет решить проблемы несогласованного изменения данных в сложных случаях.

  2. Операции, выполняемые на сервере, можно использовать в качестве обработчиков серверных событий, например, производить какие-то операции с данными при выгрузке или завершении документа.

  3. Операции, выполняемые на сервере, можно вызывать из обычных (не коллективных) документов, что дает возможность строить более гибкую логику работы.

Для 2 и 3 вариантов в платформу также добавлено специальное расширение «Вызов серверных операций».

Расширение REST API

Интерфейс REST API, доступный в платформе, был значительно расширен и доработан.

На текущий момент он позволяет полностью переключиться на его использование в типовых обработках наших продуктов «Магазин 15», «Склад 15» и т.д., причем для работы и в онлайн-, и в офлайн-режиме.

Это позволяет полностью отказаться от использования COM-компонент, конфигурирование и использование которых всё более проблематично.

Доработка механизмов мобильной и стационарной печати

В платформе были доработаны все аспекты печати, как для прямой печати на мобильный принтер, так и для печати на стационарные принтеры через сервер.

Основной список изменений:

  • Улучшено подключение стационарных принтеров в панели управления, добавлена возможность указывать модель принтера, благодаря чему определяется папка с этикетками. Это упрощает совместное использование разных моделей принтеров, если необходимо сделать для них разные этикетки.

  • Улучшено подключение мобильных принтеров, доработано автоопределение модели принтера на мобильном устройстве. В случае ручного выбора модели список перестал быть жестко зашитым в клиентское приложение, и дополнительно отображает также имена папок с этикетками. Это позволяет разработчику использовать любые модели принтеров, для которых он сделал этикетки.

  • Добавлена возможность одновременной отправки на печать множества этикеток. При этом если вы печатаете эти этикетки на стационарный офисный принтер, то доступна возможность раскладывать их на лист А4.

Функция непрерывного сканирования

Внимание! На момент релиза функция доступна только для ТСД Zebra (Android).

В платформу добавлен функционал, позволяющий совершать операции, используя непрерывное сканирование.

Обычное сканирование: штрихкод прочитан, луч сканера гаснет и выполняется обработка штрихкода, во время которой луч заново не загорается, пока не будет завершена обработка.

Непрерывное сканирование: луч сканера продолжает гореть после того как был считан штрихкод. Пользователь может сканировать следующий штрихкод, пока идет обработка предыдущего.

Такой режим особенно удобен, когда процесс работы подразумевает сканирование большого количества уникальных штрихкодов (кодов маркировки обуви, табака и т.п.).

Для того чтобы успешно использовать непрерывное сканирование, в большинстве случаев может потребоваться специальная адаптация алгоритмов.

Так как происходит сканирование большого количества ШК, без ожидания их обработки, эффективно работать в таком режиме можно только в случае если сканирование не выводит каких-то промежуточных визуальных окон или вопросов к пользователю.

Подробнее читайте в статье «Функция непрерывного сканирования ШК в Mobile SMARTS».

Изменения по локализации платформы и решений на её основе

Локализация инсталлятора платформы

Если язык операционной системы на ПК отличен от русского, установка платформы теперь проходит на английском языке.

Встроенный механизм локализации конфигурации

Для возможности создания мультиязычных конфигураций был добавлен простой встроенный механизм локализации.

Процесс состоит из нескольких несложных этапов.

  • Сбор фраз для перевода.

    Разработчик включает на мобильном устройстве режим полных логов, необходимую локаль и «проходит» по всем окнам своей конфигурации. 

    В это время программа собирает все непереведенные фразы в отдельный файл (например, en.not)  в папку базы на устройстве.

  • Перевод.

    Создается файл, содержащий перевод исходных фраз.

    Закрыть палету = Close the pallet
    Палета закрыта = The pallet is closed
    Удалить коробку? = Delete this box?
    ЗАКРОЙТЕ ПАЛЕТУ = CLOSE THE PALLET
    Есть незакрытая палета! = A pallet is in progress!
    В коробку = In box
    Убрать коробку с палеты? = Remove box from pallet?
    СКАНИРУЙТЕ ЗАКРЫВАЕМУЮ ПАЛЕТУ = SCAN PALLET TO CLOSE
    Уже лежит в = Already placed on
    Переместить в текущую палету? = Move it to current pallet?
    

  • Использование.

    Переведенный файл с фразами помещается в папку базы с именем, указывающим на локализацию, например, lang.en.txt.

Подробнее весь процесс описан в статье «Локализация клиентского приложения Mobile SMARTS».

Локализация логотипов

В платформе уже существовал способ подменить стандартные изображения на свои, положив в папку документов изображения logotype.png, logoside.png, logologin.png и т.д.

Теперь подменять изображения можно с учетом локализации, т.е. положить разные изображения для разных локалей пользователя.

Для этого достаточно в имени файла указывать локализацию, аналогично примеру: logotype.en.png, logotype.ru.png. Подробнее весь процесс описан в статье «Брендирование и локализация логотипа клиентского приложения».

Изменения в интеграции через файлы CSV и Excel

Внесен ряд изменений в  алгоритмы и возможности конвертера Excel\CSV файлов.

  • Добавлены шаблоны загрузки завершенных документов в файлы по умолчанию. Даже если у вас не сделаны шаблоны для конвертации документов из Mobile SMARTS в текстовые документы, они все равно загрузятся согласно встроенному в платформу шаблону.

  • При загрузке номенклатуры в Mobile SMARTS изменен алгоритм генерации идентификатора товара, если он не задан в исходном документе. Теперь вместо простого перечисления 1,2,3… используется генерация идентификатора на базе поле товара (наименование артикул, штрихкод и т.д.). Это позволяет решить проблему повторной загрузки товаров в режиме частичной загрузки. Ранее это приводило к дублированию позиций в справочнике номенклатуры под разными идентификаторами.

  • При конвертации CSV файла таблицы с одной колонкой теперь допускается не соблюдать правила CSV формата по экранированию символов.

  • Добавлена возможность загружать дополнительные таблицы в Mobile SMARTS в режиме частичного дополнения, а не полной перезаписи.

    Для этого в конфигурационный файл необходимо добавить настройку.

     <add key="overwriteИмяТаблицы" value="False" />
    

  • Добавлена возможность задавать сразу несколько шаблонов загрузки в Mobile SMARTS номенклатуры из разных файлов. Имена шаблонов задаются в конфигурационном файле через разделитель “|”

     <add key="productsFileName" value="Номенклатура*.csv|prod*.csv" />
    

  • Обработка завершенных документов и конвертация их в текстовые файлы на сервере теперь происходит как обработчик события завершения документа.


    В прошлых релизах платформы эта обработка происходила случайным образом по таймеру, что приводило к неверной работе, если до конвертации в CSV требовалась дополнительная обработка документа с помощью серверной операции.

Средства разработки

В новом релизе мы улучшили работу с панелью управления для разработчиков.

Целый ряд функций был добавлен или переработан, чтобы повысить эффективность и скорость разработки.

Редактор кода

Режим «алгоритмы в отдельных вкладках» окончательно стал основным. 

Само отображение алгоритма было значительно улучшено, добавлена раскраска алгоритма.

Многие действия (например, выбор строк),  которые ранее можно было править только через редактор свойств, теперь можно редактировать прямо на странице алгоритма.

Редактор этикеток

Вместо использования простого блокнота для редактирования RAW-этикеток, теперь можно использовать встроенный редактор.

Оптимизация конфигурации

Добавилась функция, позволяющая находить потерянные или неиспользуемые куски кода и операции.

Профилирование кода

Для оптимизации скорости алгоритмов в платформе появилась встроенная функция профилирования кода.

Включив соответствующую настройку в клиентском приложении, разработчик может собрать временные характеристики выполнения различных частей алгоритма.

При обмене с сервером отчет о профилировании будет загружен на сервер, и его можно будет посмотреть в панели управления.

Подробнее весь процесс описан в статье «Профилирование кода в Mobile SMARTS».

Отладка операций, выполняемых на сервере

Для удобной разработки серверных операций в панели управления была добавлена возможность отладки их выполнения.

Подробнее об отладке серверных операций читайте в статье «Отладка кода в Mobile SMARTS на сервере».

Ручная отправка событий для документов

Часто в процессе разработки или внедрения необходимо как-то добиться повторного возникновения события в сервере (например, «Документ завершен»).

Ранее разработчику приходилось заново отправлять документ на ТСД и завершать его на мобильном устройстве, чтобы сервер заново вызвал обработку события.

Теперь такая функция добавлена в панель управления, подробнее здесь.

Прочие изменения

Изменение кодов мобильных устройств

Уникальные коды мобильных устройств были немного изменены для более надежной работы с ними. Код приведен к верхнему регистру, а также добавлен контрольный символ.

Было: @Honeywell-EDA50K-19339B2467

Стало: @HONEYWELL-EDA50K-D-19339B2467

При этом лицензии, где код прописан в старом виде, продолжат работать точно также, как и раньше.

Получение лицензии

В операции активации лицензии из мобильного клиента был улучшен интерфейс, а также добавлена возможность получения лицензии без связи с сервером. В таком случае лицензия будет загружена на сервер при появлении связи.

Подключение по QR коду

Доработана операция подключения к базе по QR коду. Теперь она работает быстрее в сложных случаях и точнее выводит возможную причину ошибки.

Проверка истечения подписки

Добавлена проверка на истекающий срок подписки на обновление.

Отображение ошибок

Улучшено отображения ряда типовых ошибок в мобильном приложении.