В Mobile SMARTS реализована возможность получения снимка с фотокамеры, встроенной в терминал.
Для получения фотографий в Mobile SMARTS используется действие «Фотографирование».
Основные настройки фотографирования
Функция |
Описание |
Скрин |
---|---|---|
Путь сохранения |
Сделанный снимок может сохраняться в сессии или в виде файла на терминале, для последующей вставки в строки и выгрузки в учетную систему (например, 1С). |
|
Высота снимка |
Высота фотографируемого изображения, задается в пикселях. Если = 0, то используется значение по умолчанию, зависит от модели терминала. |
|
Качество |
Качество JPEG файла в процентах. Снимок всегда сохраняется в JPEG, другие форматы (gif, png и т.д.) не допускаются. |
|
Ширина снимка |
Ширина фотографируемого изображения, задается в пикселях. Если = 0, то используется значение по умолчанию, зависит от модели терминала. |
|
Подсветка |
Включение/выключение подсветки. Может включаться/выключаться клавишей на терминале. Поддерживается не на всех устройствах, функция подсветки может отсутствовать. |
|
Прицел |
Включение/выключение прицела. Может включаться/выключаться клавишей на терминале. Поддерживается не на всех устройствах, функция прицела может отсутствовать. |
|
Тип камеры |
Camera (обычная камера) Imager (имаджер-сканер) Тип камеры зависит от модели терминала. |
Путь сохранения
Действие позволяет сохранить сделанный снимок в сессию или в виде JPEG файла на терминале, и использовать фото для вставки и форматирования (практически в любое место интерфейса, где позволяется настраивать вывод текста) или загружать сделанные фотографии в учетную систему (например, 1С).
Сохранение в сессию или объект сессии
Для сохранения сделанного снимка в сессию необходимо вписать шаблон пути, указывающий на сессию или объект сессии.
Сохранения снимка в файл на терминал сбора данных
Для сохранения снимка в файл необходимо указать путь к папке на ТСД, в которую будут сохраняться фотографии, сделанные на встроенную камеру терминала. Пути по умолчанию указаны ниже, но могут быть другими.
Для ТСД на ОС Android: \MobileSMARTSv3\wh15\Images\фото.ipg
Для ТСД на ОС Windows: \Program Files\MobileSMARTS\foto.jpg
В пути содержится папка хранения и название файла. В этом случае сделанный снимок всегда будет сохраняться как файл foto.jpg (в данном примере). Новый сделанный снимок, будет всегда заменять старый.
Для ТСД на ОС Android: \MobileSMARTSv3\wh15\Images\{счетчик}.jpg
Для ТСД на ОС Windows: \Program Files\MobileSMARTS\{счетчик}.jpg
Указана папка хранения и шаблон названия файла. В шаблон может быть вписано любое имя, в данном примере «счетчик».
Для сохранения каждого снимка, с новым именем, необходимо создать выражения присваивания вида:
счетчик=1 – начало отсчета имен фотографий (у первого фото будет имя 1.jpg, если не создать, то имени у первого файла не будет), это выражение необходимо добавлять в самое начало алгоритма.
счетчик=счетчик+1 – имя файла, каждого следующего сделанного снимка, будет увеличиваться на 1 (2.jpg, 3.jpg, 4.jpg и т.д.).
Загрузка сделанных фотографий в учетную систему
Существуют разные методы, позволяющие передать полученное изображение в учетную систему.
С помощью вызова из учетной системы
Для того чтобы сделанная фотография попала в учетную систему, например, в 1С, необходимо написать функцию вызова 1С и вызвать ее из Mobile SMARTS.
Пример функции сохранения изображения товара для промежуточной базы ПРОФ драйвера 1С платформы 8.1 и 8.2 «1С:Управление торговлей» 10.3.
Функция СохранитьИзображение(КодТовара,ОбъектКартинки) Экспорт Результат = ""; Попытка StorageConnector = Новый COM Объект ("Cleverence.Warehouse.StorageConnector"); Если StorageConnector = Неопределено Тогда Результат = "#Ошибка при создании компоненты Cleverence.Warehouse.StorageConnector"; Возврат Результат; КонецЕсли; Если мСоединение = Неопределено Тогда Рез = ПодключитьСНастройкамиИзБазы(); Если Не ПустаяСтрока(Рез) Тогда Возврат Рез; КонецЕсли; КонецЕсли; НоменклатураСсылка = мСоединение.Справочники.Номенклатура.НайтиПоКоду(КодТовара); Если НоменклатураСсылка.Пустая() Тогда Возврат ""; КонецЕсли; Картинка = StorageConnector.FromXml(ОбъектКартинки); ПутьКФайлу = "d:\Тест.jpg"; Картинка.Save(ПутьКФайлу); Номенклатура = мСоединение.Справочники.номенклатура.НайтиПоКоду(КодТовара); Если Номенклатура.Пустая() Тогда Возврат Результат; КонецЕсли; НоменклатураОбъект = Номенклатура.получитьОбъект(); ОбъектХранилищеДополнительнойИнформации = мСоединение.Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент(); ОбъектХранилищеДополнительнойИнформации.ВидДанных = мСоединение.Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение; Картинка = мСоединение.NewObject("Картинка",ПутьКФайлу); ОбъектХранилищеДополнительнойИнформации.Хранилище = мСоединение.NewObject("ХранилищеЗначения",Картинка); ОбъектХранилищеДополнительнойИнформации.Объект = Номенклатура; ОбъектХранилищеДополнительнойИнформации.Записать(); НоменклатураОбъект.ОсновноеИзображение = ОбъектХранилищеДополнительнойИнформации.ссылка; НоменклатураОбъект.записать(); Исключение Результат = "#Ошибка при получении дополнительного описания товара:" + ОписаниеОшибки(); КонецПопытки; Возврат Результат; КонецФункции
В приведенном примере сделанная фотография будет выгружена в 1С с привязкой к номенклатуре . Мы о тсканировали товар, сделали его фотографию , сохранили изображение {Result} = СохранитьИзображение(Код, Картинка) и загрузили фотографию в номенклатуру 1С с помощью вызова .
С загрузкой документа
Другой вариант, более подходящий, например, для оффлайн работы – это сохранение изображения прямо в дополнительное поле документа или строки документа.
Сделанный снимок помещается в строку документа и загружается в учетную систему позже, при загрузке завершенного документа.
Для этого необходимо, например, создать дополнительное поле строки типа Object, в примере ниже – поле «фото».
После фотографирования, мы заносим изображение в дополнительное поле текущего выбранного товара
SelectedProduct.фото = фотка
При занесении строки в документ фотография сохранится внутри файла документа вместе со строкой, и в дальнейшем, при загрузке документа в учетную систему, может быть извлечена из этого дополнительного поля.