В 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.фото = фотка
При занесении строки в документ фотография сохранится внутри файла документа вместе со строкой, и в дальнейшем, при загрузке документа в учетную систему, может быть извлечена из этого дополнительного поля.