Имя: Пароль:
1C
 
Создание изображения в мобильном приложении 1с
0 Eeelena
 
26.11.14
15:31
Подскажите, пожалуйста, необходимо создать вложение фото, то есть по нажатию кнопки открывается камера в телефоне, в команде прописала следующий код:

#Если МобильноеПриложениеКлиент Тогда
        
          
          Если СредстваМультимедиа.ПоддерживаетсяФотоснимок() Тогда
              Результат = СредстваМультимедиа.СделатьФотоснимок();
              

          Иначе
              Сообщить("Не поддерживается фото!");
          КонецЕсли;
         //КонецЕсли;
          Если Результат = Неопределено Тогда
              Возврат
          КонецЕсли;
          Данные = Результат.ПолучитьДвоичныеДанные();
          РасширениеФайла = Результат.РасширениеФайла;
          ЗаписатьДанныеВРегистр(РасширениеФайла,Данные,ПараметрКоманды);
        
    #КонецЕсли


Но ничего не происходит, камера не открывается, никаких сообщений не выдает. В чем может быть причина? Кто сталкивался, помогите пожалуйста.
1 Maxus43
 
26.11.14
15:42
&НаКлиенте
Процедура СделатьФотоснимок(Команда)
    
#Если МобильноеПриложениеКлиент Тогда
    Если СредстваМультимедиа.ПоддерживаетсяФотоснимок()     Тогда
        ДанныеМультимедиа = СредстваМультимедиа.СделатьФотоснимок();
        ПоместитьМультимедиа(ДанныеМультимедиа);    
    Иначе    
         Сообщить(НСтр("ru = 'Съемка фото не поддерживается.'", "ru"));
    КонецЕсли;
#КонецЕсли
    
КонецПроцедуры
2 Maxus43
 
26.11.14
15:44
Правильно делать так (для андроида):
    //Тут указываем путь, при чем путь должен быть доступен всем программам, так что временные файлы 1С не подйут
    ФайлКартинки = "file:///sdcard/Download/FotoTestFrom1C.bmp";
    НовВз = Новый ЗапускПриложенияМобильногоУстройства("android.media.action.IMAGE_CAPTURE");

    //Обязательно указываем этот параметр, если его не указать, тогда вам вернется привью файла в низком качестве и находится он будет в параметрах с ключем data.
    НовВз.ДополнительныеДанные.Добавить("output",ФайлКартинки,"Uri");

    //Если фото не сделано, то ответ будет "0"
    Если НовВз.Запустить(Истина)  0 Тогда

    //ну а тут уже готовое фото, так что все что хотим, то и делаем.
        ЗапуститьПриложение(ФайлКартинки);
    Иначе
        Сообщить("Фото не сделано!");
    КонецЕсли;
3 Maxus43
 
26.11.14
15:45
4 Eeelena
 
26.11.14
15:49
(2) ругается на Тип не определен (ЗапускПриложенияМобильногоУстройства)
5 Eeelena
 
26.11.14
15:53
(3) подправила, забыла добавить #Если МобильноеПриложениеКлиент

Но здесь же только показывается как открыть фото, а не сделать его
6 Maxus43
 
26.11.14
15:57
(5) Если НовВз.Запустить(Истина) - это и делает фото
7 Maxus43
 
26.11.14
15:57
апуститьПриложение(ФайлКартинки); - а это открывает
8 DitriX
 
27.11.14
00:57
(5) вот сюда перекочевала дальнейшая эпопея про фото, а именно - как потом его запихнуть в базу, ищите там в последних камментах http://infostart.ru/public/310565