Имя: Пароль:
1C
1С v8
Медленно работает СделатьФотоснимок() на мобильной устройстве
0 d3N4eGG
 
08.03.16
16:41
Добрый день.

Пишу конфигурацию для кладовщиков на мобильном приложении 1с (8.3.7.1860), за основу взял мобильную "Мобильное приложение 1С:Управление небольшой фирмой".

Необходимо фотографировать грузы. Использую стандартный механизм мобильной платформы СредстваМультимедиа.СделатьФотоснимок().
На фотографию уходить приблизительно 7 секунд, что очень медленно.  Все остальное выполняется быстро.

У данной функции есть параметр "Качество", выставлял все возможные значения от 1 до 100, на скорость работы это не влияет.

Для тестирования использую Samsung Galaxy S5 mini.

Подскажите, пожалуйста, как выполнить фотографирование быстрее? Может запускать стандартную камеру телефона?

Помогите, пожалуйста.
1 rphosts
 
08.03.16
16:44
условия плохой освещённости а вспышка отключена? Рука дрожит после вчерашнего и не успевает сфокусироваться камера?
2 d3N4eGG
 
08.03.16
16:46
Тестирую пока в офисе. Без вспышки, освещение хорошее. Сама камера открывается быстро. 7 секунд, примерно занимает с момента как нажал на кнопку сфотографировать до возвращение в приложение.
3 Злопчинский
 
08.03.16
16:51
(0) ну, как напишешь - покажи хоть что-нить.. а то все пишут "мобильные приложения для кладовщиков". а в продакшене - нуль...
.
нужно "мобильное приложение для кладовщиков", которое позволит заявку в 700 строк, собирать паралельно неограниченному кругу кладовщиков с лимитом по количеству строк, объему, весу приходящегося на одного кладовщика...
4 d3N4eGG
 
08.03.16
17:48
Конфигурация маленькая и заточена под предприятие, где работаю.

Попробовал следующее: запустил стандартную камеру через
ЗапускПриложенияМобильногоУстройства("android.media.action.IMAGE_CAPTURE")

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

Подскажите, есть ли способ повысить скорость?
5 UnknownNick
 
08.03.16
18:40
ага, зайти в эклипс и наваять за вечерок.
6 spock
 
08.03.16
18:52
(0) Можно так, отдав все Android'у:
&НаКлиенте
Процедура СделатьФото(Команда)
    Перем ИмяФайла, ФайлКартинки, Запуск, Картинка;
    
#Если МобильноеПриложениеКлиент Тогда
    ИмяФайла     = Формат(ТекущаяДата(), "ДФ=yyyyMMddHHmmss") + ".img";    
    ФайлКартинки = "/sdcard/Download/" + ИмяФайла;
    
    Запуск = Новый ЗапускПриложенияМобильногоУстройства("android.media.action.IMAGE_CAPTURE");
    Запуск.ДополнительныеДанные.Добавить("output", "file://" + ФайлКартинки, "Uri");
    
    Если Запуск.Запустить(Истина) <> 0 Тогда
        Если ФайлСуществует(ФайлКартинки) Тогда
            Картинка = Новый Картинка(ФайлКартинки);
            Картинка.Преобразовать(ФорматКартинки.JPEG);
            
            // просто запись двочных данных в регистр
            //ЗаписатьМедиаДанныеВРегистр(Картинка.ПолучитьДвоичныеДанные(), ИмяФайла, ЭтаФорма.Объект.Ссылка, Широта, Долгота);
            УдалитьФайлы(ФайлКартинки); // удаляем временный файл
        КонецЕсли;
    КонецЕсли;
#КонецЕсли    
    ЭтаФорма.Элементы.Фотографии.Обновить();
КонецПроцедуры // СделатьФото()

&НаКлиенте
Функция ФайлСуществует(Знач ИмяФайла)
    Перем ФайлНаДиске;
    
    ФайлНаДиске = Новый Файл(ИмяФайла);
    
    Возврат ФайлНаДиске.Существует();
КонецФункции // ФайлСуществует()
7 torgm
 
08.03.16
18:55
(0) зайди на мистастарт там у дитриха описашки всякие были под андроид, в том числе к фото.
8 d3N4eGG
 
09.03.16
12:33
(6) , (7) спасибо.
Не знаете, можно ли при фотографировании избежать подтверждения фотографии и сразу её загружать? Камера спрашивает "Повтор" или "ОК" - переснять фотографию или загрузить эти.
?
9 DitriX
 
09.03.16
19:44
если приложение камеры такое поддерживает, то можно.
Но обычно - нет, так что или свое писать, или ...