Бесплатный курс по Мобильной платформе 1C. Модуль 4
Модуль 4. Работа с мультимедиа (аудио, фото, видео) и геопозиционированием
В ходе четвертого модуля Вы научитесь работать с объектом Мультимедиа:
- как делать фото
- как делать видео
- как записать разговор
Вы изучите объект СредстваГеопозиционирования:
- что такое провайдеры
- как получить текущие координаты
- как получить адрес по координатам и наоборот
- как показать текущее местоположение на карте
- как просмотреть свой маршрут
- как можно сделать ложный маршрут
![]()
Порядок обучения
Скачивайте теоретические материалы в PDF и видео-формате. Рекомендуем начинать именно с изучения теории.
Выполняйте практическое задание для закрепления полученных знаний.
Выполните самоконтроль, просмотрев видео-решение преподавателя.
![]()
Теоретические материалы
Итак, приступайте к изучению теоретического материала третьего модуля курса.
Данный контент доступен только для зарегистрированных пользователей.
Пожалуйста, войдите на сайт (Войти), если Вы уже зарегистрированы или зарегистрируйтесь на сайте (Зарегистрироваться), чтобы получить доступ.
Регистрация занимает 1 минуту, но открывает доступ к материалам сайта.
Пожалуйста, войдите на сайт (Войти), если Вы уже зарегистрированы или зарегистрируйтесь на сайте (Зарегистрироваться), чтобы получить доступ.
Регистрация занимает 1 минуту, но открывает доступ к материалам сайта.
Вопросы
Если Вам необходима поддержка, мы с радостью ответим на Ваши вопросы в рамках Мастер-группы «Полного курса по разработке Мобильных приложений на платформе «1С:Предприятие 8».
![]()
Комментарии / обсуждение (492):
Комментарии закрыты

На моём виртуальном устройстве не видно вот это приложение https://play.google.com/store/apps/details?id=com.fakegps.mock
Зато видны другие, например вот это https://play.google.com/store/apps/details?id=com.lexa.fakegps
GPS координаты я получаю, но при попытке отобразить координаты (полученные от приложения «com.lexa.fakegps») на карте вижу пустую карту и на ней метку текущего местоположения :(
Кажется, я сам понял :) я попал в географическую пустыню :) где никаких меток на карте нет :)
По поводу задания, необходимо создать кнопку открыть фото и т.п. на клиенте. Я правильно понимаю, что на клиенте тонкого приложения, или на клиенте МП?
МП клиент, форма регистра Прикрепленные данные, использую переменную ЭтотОбъект, при открытии в МП ошибка — переменная не определена?
я понял, дурак, в галереи тоже ошибка
совсем в галерею не заходит, пишет произошла ошибка, это после перезапуска без запуска 1с
У меня интересный вопрос! Вроде все понял и осознал как делается вся цепочка НО:
4 задание сделал. Решил его делать на реальном смартфоне, а до этого делал на эмуляторе.
Но дома у меня порты не открыты. Поэтому со смарта по айпи достучаться не могу.
1) Тогда я на рабочем сервере развернул апач, опубликовал приложение , открыл порт. Подключаюсь все ОК.
2) Сервак на котором созданы вебсервисы находится на домашнем ноуте.
МП вызавает вебсервисы отправляет ему данные, фото аудио и видео и координаты. Сервак принимает и отправляет в ответ.
Собственно вопрос как МП вызывает вебсервис опубликованный на домашнем компе? Приэтом порт закрыт айпи ноута нигде не прописывал.
Понял конечно почему подключаеться потому что по вай фай в одной сети они находятся через моб. оператора не зайдет. Но к МП не конектится ( Вот такой вот баг обращайте внимание
Вот такая ошибка появляется при добавлении конфигурации на мобильное устройство (wmvare). Уже и мп и веб-серверы публиковала заново, и каталоги удаляла и заново все создавала — ничего не помогает… И сам wmvare перезагружала.
Публикуйте в другой виртуальный каталог веб-сервера. Мне помогло.
Спасибо, но мне это не помогло. Уже что только не делала, и в разных папках и в одной, потом всё удаляла и заново в других каталогах создавала — ничего не помогает…
А вы похоже серверную конфигурацию подключаете а не клиента (мобильного)
Вы либо опубликовали не мобильное приложение, либо в одну папку опубликовали и вебсервис и мобильное приложение
В задании написано: «При нажатии на эту кнопку должна быть показана карта с КООРДИНАТАМИ».
У меня просто окрывается карта с моим метоположением на ней никакие координаты не указаны. Так и должно быть ? или я что то упустил.
в вебинаре было показано как вывести подпись для отметки на карте.
Координаты на сервере есть. Осталось их отобразить на карте (цель 4-го задания). Порылся в инете нашел пару обработок, одна идеально показывает местоположение по введённым координатам. встроил обработку, всё красиво отрабатывает, но теперь мобилка не обновляется. При проверке синтаксис мобильной платформы ругается на пату несовместимых типов. Из-за этого не обновляется ?
зачем вам это? В задании не нужно реализовывать показ карты на стационарнике. А на мобильной платформе не нужны никакие обработки — достаточно вызвать один метод, который описан в методичке и был показан в видео.
Удивлен что в обработке для показа карт было всего «пара» несовместимых типов.
Мдя. вот это я перепутал, ошибочка вышла, невнимательность. Тогда у меня всё работает !
http://help1c.com/download.php?file=img/_1-zCJutepz2E.rar
Вот отсюда брал карты, если интересно конечно.
Зачем всё это? Есть-же встроенные возможности мобильной платформы для этого!
а я согласен с gigapevt, сам думал о том, как вывести карту на ПК. а как же иначе? если вы записываете маршрут манагеров, то как потом будете контролировать? вот тут карта и нужна.
ссылочку себе скопировал, пригодится по-любому.
Настроил элементы в планах обмена в БД на мобильном устройстве и на сервере (см. скриншоты). При попытке провести синхронизацию данных выдается ошибка «Неизвестный получатель». Как можно победить эту ошибку?
мобильный клиент прописывает «СВ»?
может, эффект коварства буквы «С» на клавиатуре?
Поменял коды на ZZ (база сервера), Z1 (база на мобильном устройстве) — та же проблема. Может, где-то что-то закэшировалось? Как бы почистить этот кэш ?
главное что в коде на моб.клиенте вы пишете название узла так же как и в конфигурации ZZ
Кэш.. ну можно просто снести базу на андройде. Или еще раз обновить с сервера.
Такая же проблема(((
Проблема решилась очисткой кэшированных данных на телефоне. Теперь как только перестает загружаться конфа или еще какие-нибудь глюки, сразу чищу кэш и работаю дальше.
попробуйте создать форму для плана обмена и добавить поля принятого и отправленного сообщения, в режиме предприятия обнулить их (на клиенте и сервере)
С этой ошибкой разобрался. В коде был явно прописан код центральной базы. Я исправил его на свой код «ZZ» — ошибка исчезла.
Отчитался во второй части
(из финального задания ссылка почему-то сюда ведет)
Сделал измерение СсылкаНаОбъект в регистре сведений “Прикрепленные данные” ведущим. Почему у меня на мобильном устройстве в конкретном документе Поступления не появляется кнопка “Перейти” ?
это еще не доработано 1С, как я понял. но я туда попадаю из документа по правой кнопке — открывается новое окно с ссылкой на регистр по документу. правда, при открытии этой формы регистра, открываются все записи, а не только подчиненные документу. видимо, надо ждать доработок.
правая кнопка телефона, конечно же…
Не могу опубликовать на Веб сервере, выскакивает ошибка о невозможности записи файла(снимок экрана прилагаю) — что делать, я уже и апач переустановил, но все зря… помогите.
запустите 1С из под админа (правой кнопкой на ярлыке на рабочем столе щёлкните и из выпавшего контекстного меню выберите «запуск от имени администратора») и вот тогда попробуйте повторно опубликовать
Запустите 1С от имени администратора
Почему не передаются координаты на сервер?
Пришлось передавать не координаты а ДанныеМестоположения. Уже не сервере работает «ДанныеМестоположения.Координаты».
на каждой странице обсуждения этого ДЗ про это пишут… ну не без багов платформа…
ё-моё… а я себе всю голову сломал… вижу же, что все правильно делаю. пришлось напрямую ШГВ перегонять!
Телефон HTC Desure Z, Гугол и 2ГИС работают, позиционируют точно.
конфигурация “Контроль расходов” и моя и (mobile-apps-fm-module04-configuration)
— на команду “Показать текущие координаты” выдает: “1С Предприятие Получение элемента по индексу для значения не определено”.
— «Обновить местоположение gps» — Не удалось получить координаты.
— регистр, координатами не заполняется.
С чем может быть связанно? (в отладчик попасть не получается).
с те что результат полученный по местоположению от геопровайдера = Неопределено, соответственно у вашей переменной в которую сохранили текущие координаты нет «субреквизитов» (широта, долгота, высота) ну и показывать нечего.
То есть «Координаты» есть, а (широта, долгота, высота) у координат нет, правильно?
Это зависит от прошивки телефона или внешние причины?
Вы бы хоть код вашей команды приложили. Без кода приходится на кофейной гуще гадать :)
Дайте код, сориентируемся)
код эталонный — лекторский :)
когда удалил из кода сноски на «Высота» (оставил широта и долгота) — регистр стал заполняться.
P.S.
Мой телефон шел с родной «двоечкой», прошивку на 4-ку я сам менял, по этому выше спрашивал — может в этом дело? И другая проблема (обмен с телефона с сервером) тоже?
предлагаю анализировать данные по провайдерам и если по всем текущееМестоположение = Неопределено, то вводить вручную.
Я сохранил все в структуру значений , если неопределенно, ее нулями заполнил
Мда, похоже что единственный способ побороть глюки с хранением объектов ГеографическиеКоординаты и ДанныеМестоположения в хранилище значения для передачи на сервер — это делать сериализацию этих объектов перед помещением в хранилище, и затем десериализацию при извлечении из хранилища, хотя это и изврат…
у меня получилось поместить координаты в хранилище без сериализации — я помещала в хранилище не весь объект «ДанныеМестоположения», а только ДанныеМестоположения.Координаты
При попытке на вирт.планшете открыть графический файл, сохранённый на телефоне, 1с вылетает и планшет пишет такую ошибку:
Имхо, это потому, что он ищет камеру и не может её подключить. На реальном устройстве всё нормально отрабатывает
а зачем ему может понадобиться камера? я ведь уже имеющийся рисунок, снятый телефоном и через синхронизацию со стационарной платформой полученный эмулятором, посмотреть пытаюсь…
может быть и глюк платформы.. или эмулятора. А еще стоит посмотреть как вы сохраняете файл перед открытием.
Сохраняю перед открытием так:
Процедура ПоказатьОбъект(Команда)
ПоказатьОбъектНаСервере();
Путь = КаталогВременныхФайлов();
Файл = Путь + Новый УникальныйИдентификатор()+ "." + Запись.Расширение;
ПолучитьФайл(ЭтаФорма.Адрес, Файл, Ложь);
ЗапуститьПриложение(Файл);
КонецПроцедуры
&НаСервере
Процедура ПоказатьОбъектНаСервере()
ЗаписьРег = РеквизитФормыВЗначение("Запись", Тип("РегистрСведенийМенеджерЗаписи.ПрикрепленныеДанные"));
ЭтаФорма.Адрес = ПоместитьВоВременноеХранилище(ЗаписьРег.Данные.Получить(), УникальныйИдентификатор);
КонецПроцедуры
Адрес — просто доп.реквизит формы
ИмяФайла = ПолучитьИмяВременногоФайла(ТекДан.Расширение);
ДвочиныеДанные.Записать(ИмяФайла);
ЗапуститьПриложение(ИмяФайла);
Я так сделал, телефон спросил выбрать приложение по умолчанию, поставил галерею все открывает
А двоичные данные из хранилища в записи вы как получали?
да, телефон тоже так отреагировал. а эмулятор выдаёт ошибку
Доброе время суток! Подскажите, пожалуйста. Как выполнять отладку конфигурации, которая работает на мобильном приложении? Как проверять текущие состояния переменных и т.п.?
ну в общем никак и средств нет кроме контрольного вывода на экран
Здравствуйте!Подскажите пожалуйста про считывание штрих-кодов в каком модуле рассказывали?))
Пока не рассказывали. Ожидаем в бонусном модуле :)
Спасибо за ответ))а то я думал что пропустил))
Кстати, по поводу бага моб. платформы, когда невозможно передать Координаты напрямую на сервер и невозможно поместить их в Хранилище на клиенте. Передача сработает, если «обернуть» Координаты в Структуру.
ПараметрыЗаписи.Владелец = ПараметрКоманды;
ПараметрыЗаписи.Данные = Результат.ПолучитьДвоичныеДанные();
ПараметрыЗаписи.Расширение = Результат.РасширениеФайла;
ПараметрыЗаписи.Координаты = ПолучитьМестоположение().Координаты;
ЗаписатьДанныеВРегистр(ПараметрыЗаписи);
ПолучитьМестоположение() возвращает тип ДанныеМестоположения.
Версия моб. платформы у меня 8.3.4.21
А хотя в этой версии и напрямую нормально передает Координаты на сервер. Поторопился, извиняйте…
А не расскажите поподробнее, что была за ошибка? В смысле какой именно сервер Вы имели в виду? Я вот тоже намучался с этими координатами, в итоге не получилось сделать как хотелось. На мобильном клиенте в регистр помещаем: Новый ХранилищеЗначения(Координаты).
После выгрузки через обмен на сервер оно не воспринимается как объект с типом ГеографическиеКоординаты, внутри хранилище явно что-то не корректное хранится с точки зрения 1С, т.к. получение данных из хранилища возвращает Неопределено.
Кстати а если попытаться поместить в хранилище ДанныеМестоположения в которой еще помимо координат время скорость и т.д., то тогда вылетает на телефоне полностью платформа мобильная ) без вопросов )
Я запутался в названиях баз….
обмен между клиентом и сервером — это обмен между мобильным клиентом и базой, в которой мы разрабатываем конфигурацию для мобильного приложения или это обмен между мобильным клиентом и центральной базой?….
В названия баз и не нужно ориентироваться.
Нужно понимать логику наших задач.
Клиент — это сторона, которая обращается к веб сервису.
Сервер — это сторона где реализован сам веб сервис.
Это может быть одна конфигурация, в которой есть обе стороны и клиент и сервер — при этом базы все таки будут две иначе смысла обмена нет. Обе базы могут работать на ПК, но мы как раз Клиентскую часть выносим на мобильное устройство.
Или это могут быть две конфигурации с разделенным функционалом.
Надеюсь чего-то разложил :)
Если просто по Вашим вариантам то это «обмен между мобильным клиентом и центральной базой»
Да, понял
Мультимедия записала. Но столкнулась с проблемами: при возврате по стрелке назад, вываливаюсь в пусто окно, приходится закрывать приложение и открывать заново. При обмене появилась ошибка, файл приложен. Периодически пишет ошибку 1С и вываливается совсем.
А в этом пустом окне справа внизу кнопочка меню — три вертикальные точки. Должно открываться главное меню приложения
Точно, спасибо :)
И все таки: WS ссылка и подключение к мобильному приложению в файле, но ошибка с 127.0.0.1 остается :( Вроде все уже раз 10 опубликовано, веб-сервер в папку day3s, а моб. приложение в папку day3p. На компе все обменивается без проблем. На мобильном приложении все создается, но обменять не получается.
Файлики
Попробуйте указать URL в настройках WSDL ссылки тот же ip что и в настройках мобильного приложения.
Спасибо! С моим IP в WS ссылке все заработало
народ подскажите пытаюсь телефон подрубить чтобы выполнить 4е задание (до этого делал на эмуляторе) все работает, но телефон ругается на мой Ip, дескать No route to host. Как с этим бороться?
как подключаете телефон (через что), какой айпи вводите, есть ли на ПК фаерволы, брендмауэры и т.п.
Ошибку выдает только 1С, или браузер на телефоне тоже?
Ошибку выдаёт только 1с
остальное работает
Фаерволов нет, брандмауэр от винды, ip ввожу тот что вводил в эмуляторе типа 192.168 и прочее, взял из состояния локолки
т.е. открываете платформу на телефоне, вводите строку вида
http://192.168.0.2/blabla/
и выдает no route to host, а тут же открытый на телефоне браузер ошибки не дает?
Может есть средства сетевой защиты на телефоне?
Подскажите, мне пока не понятно, как можно сделать проведение документа по регистрам с мобильной платформы?
В обработке проведения написать код?
Свойство Документа-объекта «Движения» и наборы записей регистров доступны в мобильном приложении (сервер). Должно все получится. В крайнем случае, как я понимаю — передача документа на сервер, там загрузка и проведение, а в обратном направлении — записи регистров.
Добрый вечер! Делаю 4 задание и при получении координат текущего местоположения у меня эмулятор зависает не выдавая ошибки. Не могу понять в чем дело. Зависает на функции ПолучитьКоординатыТекущегоМестоположения(). Картинку прилагаю. Не пойму в чем дело? Думал что что то в эмуляторе не то настроено. Подскажите пожалуйста!!!
У вас таймаут указан только при обновлении координат gps. В остальных условиях таймаута нет, поставьте так же 10сек, попробуйте
поставил таймаут, но счас он выленает на сообщение «Чо т не получилось». В общем в исключение попадает!
Ну тут уже только экспериментировать — отключайте кусочки кода и ловите на чем вышибает. уберите показ координат и пару веток условия. Успешно отработает — открой часть кода и так далее.
эмулятор и не получит координат… ну только если ему не «подпихнуть» их программой Fake GPS или Fake Location или ещё чем подобным.
Исключение потому что Данные = Неопределено
В эмуляторе сначала поставтье софтину fakeGPS, установите координаты и после этого будут координаты от провайдера passive
У меня в процессе фотосъемки непонятно что на экране (скрин дома =) ). Не смотря на это, фото получается нормальным.
Это нюансы совместимости под 4.4.2?
Вы про эмулятор? у меня вообще разноцветные полозки. Это особенность реализации я так понимаю
если эмулятор… у меня при проверке возможности выполнить фотографию 1С вываливалась! Так что у вас ещё вполне приемлемый результат
А эмулятор может что-то сфотографировать? О_О Аж любопытно стало…
Может, отлично фоткает полосочки:))
Добрый день.
Появление возможности работы с камерой открывает огромные возможности для работы телефонов на складе. Сканировать обычные штрихкода не получится а вот 2-х мерные (в частности QR) должно получится. Не известно ли Вам про разработки в этом направлении ??
Может какие нибудь дополнительные компоненты можно использовать что бы передавать в 1с информацию из QR
Ждем бонуса, обещали что-то про штрихкоды
Угу угу ждем с нетерпением! Это ж круть будет неимоверная :)
в складе обычно нет хорошего освещения и соответственно никакого нормального фото без вспышки и автофокуса и ещё и средних (по нынешним временам) мегапикселей не получается! — Проверял! А телефон хорошей камерой и вспышкой это и цена и расход заряда батареи!!!
Но! Есть-же HID-совместимые сканеры (через USB)! И очень приемлимые по цене!!! Ещё есть беспроводные, но по ним с мобилы нет никакого личного опыта вообще.
Почему мобильное устройство не выдает мне провайдера «network»? Сеть есть (вай-фай), через телефон в интернет ходит — через роутер (вай-фай), а сообщение не выдает «network»…
не все роутеры «публикуют» сведения о своих географических координатах.
вот попал, а у меня интернета нет на мобильнике… только дома через роутер…
Фото, аудио или видео на ПК открываются с помощью ПолучитьФайл() по навигационной ссылке без проблем. На андроиде на планшете только сообщение «Файл не обнаружен ‘File.mp4′» (то же с jpg и 3gp). Может сталкивался кто? Как сделать чтобы и в мобильном клиенте открывал?
Сохраняете двоичные данные в файл и используете ЗапуститьПриложение(). В комментариях уже не раз было.
Здравствуйте
Когда нажимаю на кнопку, чтобы обновить конфигурацию на телефоне — телефон выдает ошибку «В процессе обновления информационной базы произошла критическая ошибка». Что это может быть ?
Вопрос, снят. Добавил новую базу на телефоне, всосал в неё конфигурацию — всё заработало…
Добрый день!
При попытке синхронизации с мобильного устройства выдается ошибка, если же сделать синхронизацию на компьютере, то все проходит нормально.
Не назначены узлы обмена на мобильном устройстве. Необходимо в узлах установить узлы — предопределенный — узел устройства и добавить узел — сервер
Все, спасибо, заработало!
Узлы в план обмена добавили?
Добрый день, а к отчету нужно прикладывать выгрузки баз?
с отчетом сюда http://курсы-по-1с.рф/мобильная-платформа/флешмоб/модуль-4-часть-2-мультимедиа/
там же есть инструкция что нужно, выгрузка не нужна
Всем привет. У меня вместо мобильного устройства — BlueStacks. При нажатии на кнопку «Фото» или «Видео», или «Аудио» приложение 1С в БлюСтике просто закрывается. Я его понимаю — ну, нет там камеры или микрофона. Но это нормальное поведение или нет?
Странно, VMWare картинку и звук записывает.
Моя ошибка. Вылетает только при попытке сделать фото. Звук записывает. А при попытке сделать видео, сообщает «Значение не является значением объектного типа (ПолучитьДвоичныеДанные)». Чтобы это значило?
Это глюк платформы. Т.е. 1С считает что она таки может записать видео,но по факту — нет. Такое бывает.Иногда в момент записи — в крит вылетает
Здравствуйте!
Я второй день не могу скачать видео 4 дня, токен активирован, avi Downloadmaster докачивает до 48%, дальше ссылка не найдена, mp4 до 70% и тоже самое.
У меня всё скачалось и открылось без проблем. Наберитесь терпения :)
Вот такую ошибку выдает при попытке обмена между мобильным приложением и сервером. Причем на компьютере между сервером и клиентом обмен проходит. В чем может быть проблема?
1. Пространства имен — латиницей?
2. В обмене есть какие-то данные? Кажется, у меня такое было, когда ничего не передавалось.
3. Перегрузка Appache.
Пространство Имен — DataTrasfer.
Appache перегружал многократно.
Заново опубликовал мобильное приложение с другим именем и каталогом. Пока ничего не помогло.
Спасибо друзья. В самом деле, удаление М1 и запись его вновь помогла.
У меня подобное было при первом обмене с мобильного клиента, при условии — что на нём не было данных. В моём случае почему-то не закрывался тег Body (нормально не закрывался). После добавления какого-либо объекта в мобильной базе ПЕРЕД выполнением синхронизации — всё проходило успешно.
К сожалению, добавление в мобильном приложение элемента справочника, документа и записи регистра не помогло. По прежнему ошибка.
Была такая же ошибка в третьем задании. Ошибка ушла, когда удалил и создал заново узел обмена М2 в базе сервера.
Спасибо Андрей. В самом деле, удаление М1(в моем случае) и запись его вновь помогла.
Такая же ошибка — когда идет рассинхранизация сообщений — надо на узлах сбросить счетчик сообщений.
Правильно ли я понимаю — на эмуляторе получение реальных координат невозможно? GPS — понятно. Его нет. Но почему не работает network? Браузер же работает! И с passive тоже не ясно.
Да ну их эти эмуляторы )) Это ж временная мера. не для эмуляторов пишем :)
Это так же как разбираться в тонкостях ошибок учебной версии платформы 1С. Смысла мало…
Жаль. Нет реального устройства — нет результата. И Fake Gps не могу поставить. Как же выполнить ДЗ и показать результат?
Тоже этот вопрос интересует.
Я верю что здесь все адекватные и не жестят :)
Поэтому отпишите все как есть. Прикрепите скриншоты того, что можете — покажите что вы точно пытались, опишите объективную причину. Поди поймут и простят =)
На странице модуля 4 даже написано:
При этом мы не собираемся “жестить”.
Даже если задание НЕ выполнено, но есть отчет о том, что Вы пробовали сделать и как – такой отчет тоже будет принят.
Так что все точно будет ОК :) Тема «сырая» и все это понимают.
У меня была та же проблема. Опишите причину, напишите какие ошибки и вас пропустят.
Passive — подхватывает, те координаты, что перед ним другая программа получила. NetWork — от вай-фай точек доступа данные подхватывает (если они их предоставляют)… если на стационарнике на котором стоит эмулятор включен вай-фай или ви-макс приёмники — может и подхватит
Очень гложет вопрос.
Существуют ли штатные механизмы выгрузки информационной базы с мобильного устройства (аналог файла с расширением dt) или же для сохранения данных надо использовать обмен с пробежуточной информационной базой?
Штатных механизмов нет, поэтому — верно, придётся пользоваться обменом.
нет и видимо не будет на текущей элементарно базе… проще всё необходимое выкачивать на стационарный компьютер/сервер
1. На клиенте и сервере создаем периодический регистр сведений
ПрикрепленныеДанные с измерением Ссылка.Документы.РеализацияТоваровИУслуг и измерениями
Данные (ХранилищеЗначений), Координаты(ХранилищеЗначений), Расширение.
2. Создаем формуЗаписи этого регистра
3. Создаем дополнительныйреквизит ФОТО — тип строка длиной 0, вытаскиваем ее на панель
и указываем вид -ПолеКартинки
4. Создаем команды — Открыть и ПоказатьНаКарте
5. Создаем общуюКоманду — СоздатьВложение — группа КоманднаяПанельФормы Важное, Тип ПараметраКоманды —
ДокументСсылка.ПоступлениеТоваровИУслуг. Назначим этой команде пиктограмму(картинку)
6. В модуле команды разместим процедуры ОбработкаКоманды, ЗаписатьДанныеВРегистр и процедуры,
относящиеся к геопозиционированию (из методического пособия занятия 4)
Настраиваем обмен между мобильным приложением и промежуточной базой. Для этого — На клиенте
в свойстве конфигурации указываем назначение использования (Персональный компьютер и
мобильное устройство) — добавляем обмен данными регистра сведений — материалы 3 дня.
Отчет по 4-му практическому заданию публикуйте на странице: http://курсы-по-1с.рф/мобильная-платформа/флешмоб/модуль-4-часть-2-мультимедиа/
А как у тебя интересно в ПолеКартинки будет аудио и видео воспроизводиться?
Еще вопросик. Создал кнопку по открытию медиаконтента. Фото вывожу в виде картинки. а вот как воспроизвести видео и аудио, не могу никак понять — временный файл из хранилища я получил, а вот что дальше делать??? :(
Я делаю через ЗапуститьПриложение(<>) т.е. полученные данные нужно сохранить на устройстве в файл
в каталог временных файлов и потом не забыть удалить за собой
Добрый день.
А не мог бы кто-нибудь скинуть apk-файл программы fakegps, т.к. нет возможности из эмулятора выходить в Интернет?
Спасибо.
Так вроде сразу ставится без предварительного сохранения.
Есть способы качать с google market’а apk-файлы, но для всех способов необходим Android ID, который на эмуляторе я получить не могу.
Зарегистрируйте «левую» почту на google.com
Это не долго :)
Уже регистрировал.
Но только что это дает, если нет устройства, а в эмуляторе нет подключения к Интернет?
ну если вы сами знаете как скачать apk пакет — вы его себе быстрее скачаете и зальёте… но если эмулятор никак и интернетом не дружит — я-б начал писать на реальном устройстве.
Добрый день!
Метод ПоказатьНаКарте() у меня не отрабатывает, если вызывать его модуля формы записи регистра. Из команды, отрабатывает. Это нормально? У всех такое? Чтоб исключить хранилище значения, я написал такой код, и уменя ничего не открылось по нажатию на кнопку:
&НаКлиенте
ГК = Новый ГеографическиеКоординаты(30, 60, 3.3);
ПоказатьНаКарте(ГК);
А ошибка какая-ниубдь пишется?
При загрузке конфигурации на смартфон, ошибка
«Не правильный формат конфигурации»
как это лечится?….
вопрос снят
у меня тоже в одном из вариантов конфигурации была такая проблема. До конца не понял в чем дело. Расскажите,пожалуйста, если разобрались.
90% что вместо публикации мобильного приложения была сделана обычная публикация приложения
да, так и было
Добрый день! Подскажите, а то замучился уже экспериментировать:
Делаю запись прикреплений:
Данные = Результат.ПолучитьДвоичныеДанные();
РасширениеФайла = Результат.РасширениеФайла;
Координаты = СредстваГеопозиционирования.ПолучитьПоследнееМестоположение(«passive»).Координаты;
ЗаписатьДанныеВРегистр(РасширениеФайла, Данные, Координаты, ПараметрКоманды);
Соответственно пишу в ресурсы:
НовРег.Данные = Новый ХранилищеЗначения(Данные); НовРег.Координаты = Новый ХранилищеЗначения(Координаты);
При создании формы записи регистра соответственно читаю эти значения:
РегистрСведенийМенеджерЗаписи = РеквизитФормыВЗначение(«Запись»); Картинка = ПоместитьВоВременноеХранилище(РегистрСведенийМенеджерЗаписи.Данные.Получить(), УникальныйИдентификатор);
Координаты = РегистрСведенийМенеджерЗаписи.Координаты.Получить();
Широта = Координаты.Широта;
Долгота = Координаты.Долгота;
На мобильном клиенте все отлично открывается и картинка и координаты и показать на карте работает.
Делаю обмен на сервер и мне РегистрСведенийМенеджерЗаписи.Координаты.Получить() — возвращает Неопределено, при этом картинка без координат отлично работает, а координаты не передаются?!
Типы ресурсов перепроверил 10 раз — везде ХранилищеЗначений
Обмен проходит без ошибок
Создавал новые записи, правил текущие, но координаты упорно на сервере из хранилища не открываются
(Телефон Samsung Galaxy Note 2)
Обошел эту проблему добавив в регистр дополнительно Широту и Долготу. А так, у меня тоже самое — не передаются координаты на сервер. Все остальное передается. Телефон Samsung Galaxy S2
Широту и Долготу я тоже добавил отдельно, но так как-то не красиво.
Комментарии выше читал — че-то не заметил я варианта решения
видел только что в отдельную переменную координаты присвоить, но мне это не помогло.
Посмотрите комментарии раньше, там несколько вариантов решения мелькало
У меня была аналогичная проблема, промучался несколько часов пока не смирился и не решил что это все-таки глюк 1с… Я там писал наверху как обошел — не через отдельные реквизиты а через упаковку Структуры с широтой и долготой в хранилище.
В общем похоже что там суть глюка в следующем — если на стационарном компе вычислить что-то типа ЗначениеВСтрокуВнутр(Новый ГеографическиеКоординаты(1,3)) то получим вот это:
{«#»,cb28ae7c-538b-48fb-ae6e-e5a8f6c2fe1e,
{1,3,0}
}
На мобильной же платформе если извратиться через хранилище без сжатия и потом через xml-файл обмена, то там плюс минус то же самое, только вот идентификатор типа совсем другой. Видимо у них разные внутренние идентификаторы типов в мобильной и стационарной платформе, вот оно и глючит. А попытка поместить в хранилище объект ДанныеМестоположения вообще приводит к вылетанию платформы мобильной, хотя как раз таки про нее написано что она сериализуется, доступна везде и т.д…
Добрый день. Не подскажите — не могу получить координат (код из методички) работаю на виртуальной машине. Вставил сообщение «нет координат», если метод «ПолучитьПоследнееМестоположение» возвращает неопределено.
Fake Location отработал нормально?
Спасибо с Fake location появилось … :)
у виртуальной машины ведь нет gps :)
если у неё есть выход в мир — иногда подхватывает network
а за счет чего, я понять не могу? По IP вычисляет :) ?
network должен принимать координаты от ближайшей радио-вышки с которой установлено соединение через радио-модуль, как я понимаю.
или публичного вайфая тоже вроде может подхватить
Только он меня теперь постоянно отправляет в Африку — и карта — при попытки указать в этой программе фиктивное положение — черная … Может я что то не доделал?
или глюк виртуалки, или телефону не дан непосредственный доступ в интернет.
Я на вертуалке, телефона с андройдом нет к сожалению :(
извиняюсь, я имел ввиду «виртуальному телефону»
программы разные… работаю по разному… fake gps насколько вижу пользуется гугловскими картами, поэтому если карты гугл-мап видны там тоже видна карта (там двигаешь не метку а саму карту сдвигаешь, а метка неподвижна). У вас какая программа? А может у вас масштаб выбран крупный (например 1 см карты = 1км реала)? — тогда нужно изменить масштаб
Вопрос: (может у кого уже было) при попытке добавить фото — мобильное приложение закрывается с ошибкой. ??
Это происходит ДО того, как Вы записываете данные в регистр? При этом — координаты Вы уже передаёте на сервер?
Нет, это происходит на моменте выполнения метода «СделатьФотоснимок» до вычисления даже не доходит. При чем одинаковое поведение как в Примерной, ДЗ и базе разработки( что создается по примеру и подобию Видео файла).
А вот звук и видео отрабатывают превосходно.
У меня Ленова 770
Кстати, тренер ведь рекомендовал при выявлении баг писать в 1С, если писем по каким-то моделям будет не 1-2 а поболее — обратят особое внимание
Значит это «особенность» именно Вашего устройства, к сожалению. Решения на данный момент нет.
Очень плохо. т.к. работа со штрихкодами связана именно с фотографией :(
минимум у двух владельцев galaxy s4 такое здесь мелькало.
у меня 1С вылетала из эмулятора(VmWare) при попытке проверить доступность возможности снять видео или сделать фото, хотя звук с микрофона веб-камеры писала!
Возможно особенность вашего аппарата. Исключительно для статистики, а что за аппарат?
Про аппарат вопрос снят, Lenova-770, не сразу увидел
Здравствуйте, у меня вопрос: когда мы в клиентской конфигурации в модуле ставим директивы НаСервере этот блок где физически будет исполняться? Я считала что все будет исполняться на мобильном устройстве и там нет сервера.
Все будет исполнятся на мобильном устройстве, но это не избавляет вас от необходимости их использовать. По прежнему методы разделены на доступность на клиенте или на сервере.
Выполняться будет «&НаСервере» мобильного устройства :)
В смысле — не на ПК, а на самом устройстве. Там серверная часть есть.
На мобильном устройстве работает облегчённая(по функционалу) файловая база. И как и при работе файловой базы производится эмуляция сервера. Зачем? — Что-бы научиться писать код один раз а не переучиваться под каждый новый диалект платформы (с учётов выхода новых версий задача «уметь писать подовсё на 1С» будет трудоёмкая).
Коллеги, помогите победить ошибку «Неправильный формат конфигурации» сразу после попытки выгрузить Конфигурацию клиента в мобильное устройство (на виртуальной машине). При этом не в мобильном устройстве, через веб-браузер, всё запускается и работает.
Было такое дело… надо опубликовать не конфигурацию — Администрирование — публикация на сервере (как мы делали с вебсервисами), а конф. для мобильного приложения Конфигурация — Мобильное приложение — публиковать
Публиковал для мобильного приложения… не помогало. Где-то в кеше сидело то, что мешало добавить базу в список. Помогло только в новый каталог выгрузить конфигурацию для мобильного приложения, fm5 вместо fm4.
Сделал измерение СсылкаНаОбъект в регистре сведений «Прикрепленные данные» ведущим. Почему у меня на мобильном устройстве в конкретном документе Поступления не появляется кнопка «Перейти» ?
Доброе утро! Вот такая ошибка:
{ОбщаяКоманда.СоздатьВложение.МодульКоманды(44,11)}: Процедура или функция с указанным именем уже определена (ЗаписатьДанныеВРегистр)
Процедура <>ЗаписатьДанныеВРегистр(РасширениеФайла,Данные,ПараметрКоманды) (Проверка: Тонкий клиент)
{ОбщаяКоманда.СоздатьВложение.МодульКоманды(49,24)}: Тип не определен (ХранилищеЗначения)
НовРег.Данные = Новый <>ХранилищеЗначения(Данные); (Проверка: Тонкий клиент)
Вот такие 2 ошибки сразу выдает. По первой ошибке — в тексте процедура одна. Если запускать поиском, то выдает первую ссылку — описание процедуры, вторую — её вызов. И всё.
хранилище значения необходимо содавать в процедуре исполняемой в контексте сервера. По первой ошибке не понятно где у вас процедуры размещены. опишите подробнее
Спасибо, ваш ответ мне помог! У меня было так:
#Если МобильноеПриложениеКлиент Тогда
Процедура …
КонецПроцедуры
#КонецЕсли
я поменяла местами так:
Процедура …
#Если МобильноеПриложениеКлиент Тогда
#КонецЕсли
КонецПроцедуры
и ошибка пропала!
Вот есть такая проблема, при добавлении в регистр записи с мультимедиа контентом выдает ошибку.
Причем запись в регистр добавляется.
Код
Данные = Результат.ПолучитьДвоичныеДанные();
РасширениеФайла = Результат.РасширениеФайла;
ТекКоординаты=ПолучитьТекущиеКоординаты();
ЗаписатьДанныеВРегистр(РасширениеФайла,Данные,ПараметрКоманды, ТекКоординаты[«Координаты»]);
Сообщить(«Данные записаны»); //Сюда не доходит, но запись добавляется.
Процедура ЗаписатьДанныеВРегистр(РасширениеФайла,Данные,ПараметрКоманды, ТекКоординаты)
НовРег = РегистрыСведений.ПрикрепленныеДанные.СоздатьМенеджерЗаписи();
НовРег.Период = ТекущаяДата();
НовРег.СсылкаНаОбъект = ПараметрКоманды;
НовРег.Расширение = РасширениеФайла;
НовРег.Данные = Новый ХранилищеЗначения(Данные);
НовРег.Координаты = Новый ХранилищеЗначения(ТекКоординаты);
НовРег.Записать(Ложь);
КонецПроцедуры
Тут советовали: «ТекКоординаты[«Координаты»]» при передаче параметров в процедуру — предварительно поместить в переменную, которую в последующем и передавать на сервер (кстати, в синтакс-помощнике нет указаний на то, что возможна передача между клиентом и сервером).
Это координаты не пишутся.
Попробуйте на клиенте создавать структуру и туда писать Широту, Долготу и Высоту, а на сервере эту структуру класть в ХранилищеЗначений.
возможно про координаты в задании вообще была описка, т.к. будучи запрятанными глубоко в хранилище они не будут на стационарной базе доступны например в запросе и по ними никакой аналитики не сформировать без обратного доставания из хранилища каждый раз
Нет, описки в задании не было.
Было бы можно раскладывать данные местоположения на Дату/Широту/Долготу/Высоту, передавать, например, в структуре, или даже по-отдельности. Но при таком решении — для метода ПоказатьНаКарте() — Вы их потом обратно собрать не сможете.
Разве нет конструктора географических координат?
Да Игорь, Вы правы: Новый ГеографическиеКоординаты(, , ).
Я перепутал с Данными местоположения -там нет конструктора.
Но для вывода на карте нужны координаты, поэтому предложенный вариант — вполне возможен.
Прошу прощения за глупый вопрос: отправил отчет по заданию, но своего отчета я не вижу. Это так и надо, и он проявится после проверки, или он не отправился? Раньше вроде свой комментарий было видно сразу…
Вопрос снят — ответ на странице по опросу
Вопрос по геопозиционированию, есть функция ПодключитьОбработчикИзмененияМестоположения, в нем в одном из параметров указывается как часто порождать данное событие, в синтаксисе указано что это в секундах. Но, какое бы число не выставляется, порождается максимально быстро, т.е раз в секунду, две. Было подозрение что идет отсчет от функции ПолучитьПоследнееМестоположение, но это тоже ни как не повлияло на ситуацию. пришлось делать дополнительные тайминги. Возможно баг телефона (Galaxy SII).
Тестировал на своем андроиде и iOS — корректно отрабатывало
>Возможно баг телефона (Galaxy SII).
Возможно, тренер упоминал про баги на некоторых моделях проявляющиеся и рекомендовал отписываться в фирму 1С.
А есть ли возможность связать несколько точек на карте линиями? (например, чтобы продемонстрировать маршрут движения)
В текущей реализации платформы — такой возможности нет.
наверное, можно, но не через апи, а тем же образом как это делается на полной версии (поле хтмл документа, ява и т.п. страсти)
только если самому реализовать, штатных средств у 1С для этого нет
Подскажите, как в мобилку загрузить/обновить конфигурацию клиент ?
1cem-arm.apk загрузил на мобилку, а дальше если загружать по http//192.168.1.5/fm/ то это ведь моя локальная сеть а не интернет ?
Ну да, так и надо. Если через инет — пишите внешний IP, но если есть роутер, то не забудьте переназначить порты