Войти в кабинет Ваша корзина пуста

Получение снимка с камеры ТСД

Категории:  Действия

В Mobile SMARTS реализована возможность получения снимка с фотокамеры, встроенной в терминал.

Для получения фотографий в Mobile SMARTS используется действие «Фотографирование».


Основные настройки фотографирования

Функция

Описание

Скрин

Путь сохранения

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

 

 

Высота снимка

Высота фотографируемого изображения, задается в пикселях. Если = 0, то используется значение по умолчанию, зависит от модели терминала.

 

 

Качество

Качество JPEG файла в процентах. Снимок всегда сохраняется в JPEG, другие форматы (gif, png и т.д.) не допускаются.

Ширина снимка

Ширина фотографируемого изображения, задается в пикселях. Если = 0, то используется значение по умолчанию, зависит от модели терминала.

Подсветка

Включение/выключение подсветки. Может включаться/выключаться клавишей на терминале. Поддерживается не на всех устройствах, функция подсветки может отсутствовать.

 

 

Прицел

Включение/выключение прицела. Может включаться/выключаться клавишей на терминале. Поддерживается не на всех устройствах, функция прицела может отсутствовать.

Тип камеры

Camera (обычная камера)

Imager (имаджер-сканер)

Тип камеры зависит от модели терминала.

Путь сохранения

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

Сохранение в сессию или объект сессии

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

Сохранения снимка в файл на терминал

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

Путь может быть указан разный.

\Program Files\MobileSMARTS\foto.jpg

Указана папка хранения и название файла. В этом случае, сделанный снимок всегда будет сохраняться как файл foto.jpg (в данном примере). Новый сделанный снимок, будет всегда заменять старый.

\Program Files\{счетчик}.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.фото = фотка

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




Не нашли что искали?

Задать вопрос в техническую поддержку