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

Подскажите по ошибке (во вложении) – как ее можно победить и из-за чего она появилась, т.к. обмен работал и как говорил после очередного обновления появилась эта ошибка.
Так же почему то 1с вносит “двойные” записи в httpd.conf в Apache, то есть периодично секции типа:
# 1c publication
Alias “/MobPrMA” “C:/www/MobPrMA/”
AllowOverride All
Options None
Order allow,deny
Allow from all
DirectoryIndex 1cema.xml
И еще вопрос – как разнести Apache и 1с по разным машинам, “игры” с webinst.exe к желаемому результату не привели.
Ответили в другой ветке уже
А как на планшете делать скриншот?
Попробуйте нажать клавишу громкости вниз и кнопку включения.
Если не поможет — проще, при наличии root-прав установить соответствующий софт.
Как на планшете просмотреть окно сообщений после закрытия, т.е. вывод в окно сообщений, потом закрыть, снова вывод открывается окно с текущим сообщением и предыдущим. А как это окно активировать после закрытия, что бы просмотреть выведенные сообщения?
Я не нашел как :) По ходу нельзя, ну можно сделать кнопку на форме — выводить пустое сообщение.
До вывода следующего сообщения — не получится.
Не получается войти в отладку на мобильном устройстве, даже приложение не перезапускается на реальном устройстве из конфигуратора. Хотя на виртуальном андроиде запускалось из конфигуратора. Галка «Перезапуск из конфигуратора стоит», в чем может быть проблема?
а что вы вообще пытаетесь сделать?
Отладка для сеанса запущенного на эмуляторе или мобильном устройстве пока не работает.
Доброго времени суток всем!
Подскажите пожалуйста,в чем у меня проблема.
Выпадает ошибка на VMware «Получение элемента по индексу для значения неопределено» .Данные провайдера passive. Ошибка возникает при нажатии на кнопку «Получить текущие координаты». В отладчике не получается посмотреть- отладчик не заходит (уже несколько раз Апач перезапускала, не пойму почему не заходит отладка). По кнопке «Показать опции» показывает 3 провайдера. Геопозиционирование работает только на реальных устройствах, а на виртуальной машине не работает или у меня что-то не так? Спасибо за помощь.
отладка не работает так :)
Провайдеров показывает, но они «не рабочие». Никаких данных Вы с них получить не сможете. Единственной решение — через фейковые координаты. Дмитрий в видео показывал как это сделать.
эта ошибка возникает если данных как таковых нет, т.е. получить координаты возвращает Неопределено. Установите программу Fake GPS, задайте сами координаты и по части геопровайдеров у вас появятся данные.
Добрый вечер.
Возникла проблема с выводом положения на карте через ПоказатьНаКарте(Координаты). При первом вызове потребовал обновить сервисы гугл. После обновления при вызове на планшете получаю крутящийся круг и карты не открываются, хотя если вывести координаты через сообщить (« » + Координаты.Широта + « » + Координаты.Долгота) корректно выводятся реальные координаты.
Планшет DNS M76r. Возможно проблема в кривой стоковой прошивке ?
Вопрос снимается. Глюк планшета. Полный сброс через рекавери и установка только 1с и обновление сервисов гугла решили проблему — карта открывается, маркер отображается.
аналогичная проблема и обновление сервисов гугла не помогло
Добрый вечер,
у меня проблема с получением координат
использую такой код
Провайдеры = СредстваГеопозиционирования.ПолучитьПровайдеров();
Для каждого Провайдер Из Провайдеры Цикл
Сообщить(«Данные провайдера » + Провайдер.Имя);
Обн=СредстваГеопозиционирования.ОбновитьМестоположение(Провайдер.Имя,30);
Если Не Обн Тогда
сообщить(«— Не обновляет»);
КонецЕсли;
Данные = СредстваГеопозиционирования.ПолучитьПоследнееМестоположение(Провайдер.Имя);
Если ДанныеНеопределено Тогда
сообщить(«— «+Данные.Дата);
Иначе
сообщить(«— Данных нет.»);
КонецЕсли;
КонецЦикла;
В результате на планшете следующие сообщения
Данные провайдера network
— Не обновляет
— Данных нет.
Данные провайдера passive
— Не обновляет
— Данных нет.
Данные провайдера gps
— Не обновляет
— Данных нет.
Почитайте предыдущие комментарии. Проблема с координатами неоднократно обсуждалась — разные варианты были. Возможно какой-то из них Вам подойдет?
установила fake gps на планшет, задала координаты, после этого заработало
Отлично! Фейк — тоже решение :)
Осталась одна проблема, никак не могу решить: метод ПоказатьНаКарте раньше просил обновление, я обновила сервис google play до версии 4.2.42, после этого стал открываться белый экран, в правом нижнем углу + и -, в левом нижнем углу надпись Google.
Координаты точно передаются, я их вывожу в сообщении перед ПоказатьНаКарте:
сообщить(«Прочитаны координаты: высота «+Коорд.Высота+», долгота «+Коорд.Долгота+», широта»+Коорд.Широта);
ПоказатьНаКарте(Коорд);
Прочитаны координаты: высота 65, долгота 138,9644, широта -28,597228
Можно ли сдать 4-е задание в таком виде (то что карта у меня не открывается), все остальное сделано.
Это был вопрос
Можно ли сдать 4-е задание в таком виде (то что карта у меня не открывается)?
Я думаюпропустят. Причина у вас объективная. Опишите все со скрином ошибки в отчете и все
У меня такое было на эмуляторе, установите программу
Fake GPS и сами выберите себе соординаты
Ligia_Sh еще вчера отписалась что уже использовала fake gps и со всем разобралась ) Порой кажется, что «помощь» оставляют не читая всей цепочки =)
На странице с отчётом по 4-му заданию, после добавления комментария — должно быть видно, что он на модерации?
вроде нет… в крайнем случае если повторите думаю вас никто за это не лишит доступа с очередным материалам
Подсказка по открытию файлов:
&НаКлиенте
Процедура ПоказатьДанные(Команда)
ПоказатьДанныеНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПоказатьДанныеНаСервере()
Запись_ = РеквизитФормыВЗначение(«Запись»);
ДвоичныеДанные = Запись_.Данные.Получить();
ИмяФайла = КаталогВременныхФайлов()+»test.»+Запись_.Расширение;
ДвоичныеДанные.Записать(ИмяФайла);
ЗапуститьПриложение(ИмяФайла);
КонецПроцедуры
Аналогично для сервера и клиента, а также частично для координат.
А зачем кому-то такие подсказки? Мне кажется все сами должны бы до этого дойти.
Согласен, сделал аналогично, а затем увидел, теперь даже обидно
Если реквизит формы обозвать «Запись» то работать не будет
Зачем велосипед то делать (ИмяФайла = КаталогВременныхФайлов()+”test.”+Запись_.Расширение;)
по моему так проще)
ИмяВременногоФайла = ПолучитьИмяВременногоФайла(Запись.Расширение);
К слову: для получения имени временного файла есть метод ПолучитьИмяВременногоФайла(Расширение). Прелесть в том, что если забыть удалить файл, то платформа это сделает сам при закрытии.
опять очепятка: сам -> сама :)
Когда делал задание по 4-му модулю столкнулся с проблемой:
Если на сервере получить из регистра сведений хранилище значений, получить из него данные и эти данные передать на клиент — все хорошо. А если с сервера на клиент передать хранилище значений и на клиенте попробовать получить значение из хранилища, то в результате метод .Получить() вернет Неопределено. Согласно синтакс помошнику и хранилищем значений и сохраненным в нем значением (в моем случае — двоичные данные) можно обмениваться с сервером…
Это «фича 1с :) » или такое поведение логически обосновано где-то в документации?
все логично. тип мультимедиа не доступен на сервере
Вы, помоему, не совсем поняли о чем я спрашивал.
Я передавал не ДанныеМультимедиа , а ХранилищеЗначений, внутри которого были ДвоичныеДанные (перед отображением получаем на сервере сохраненные в регистре сведений данные и передаем их на клиент для отображения ). И ХранилищеЗначений и ДвоичныеДанные доступны и на клиенте и на сервере.
вот уже не помню почему, но видимо была такая же проблема на практике. ХЗ передается, но не доходит. Поэтому привык использовать временноеХранилище для передачи с сервера на клиент и обратно.
Спасибо, по сравнению со всеми остальными это хоть относится к сути вопроса :)
Значит, проблема, скорее всего, воспроизводится не только у меня, будем учитывать.
Этот вопрос, конечно, не совсем к тематике курса относится, но хотелось бы услышать комментарий мастер-тренера по этому поводу, если это не сложно.
Это конечно не ответ по существу вопроса, но для чего гонять данные туда-обратно, когда можно всё на стороне сервера выполнить?
Где гоняются данные туда-сюда?
Вопрос о переменной, которая содержит в себе значение типа ХранилищеЗначений, которая должна быть доступна и на сервере и на клиенте.
Если на сервере сделать Возврат Переменная.Получить(); , то все хорошо. Если просто Возврат Переменная; и на клиенте » ПолученноеЗначениеССвервере.Получить() » — то на клиенте вместо данных получию Неопределено.
Конструктор Новый ХранилищеЗначений доступен только на мобильном сервере (см. СП)
Alex, а при чем тут конструктор?
Получить()
Возвращаемое значение:
Тип: Произвольный.
Значение, содержащееся в хранилище.
Описание:
Получает из хранилища сохраненное в нем значение.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
на эмуляторе кто смог получить ч/з инет координаты?
у меня глухо зависает.
у меня обнаруживало всех 3 провайдеров геопозиционировнаия, но по всем ПолучитьПоследнееМестоположение = Неопределено. После установки программы Fake GPS по провайдерам GPS и Passive получил именно то, что задал в ней, а вот по провайдеру NetWork как и заявлено ничего не изменилось.
а разве оно должно работать?
а где можно найти обязательное задание №4
как бы тут, выше смотрите
Samsung Galaxy s4 — перезагружается при попытке сделать фото. Видео и звук работают нормально.
Это типа нормально на текущем этапе для мобильной платформы… ждём версию 8.3.5
Это очень не нормально, топовый телефон, и такой баг. У меня так же
Нужно писать разработчикам мобильной платформы. Без обратной связи все двигается обычно очень медленно :(
Доброго времени суток.
В задании сказано, «Добавьте кнопку «Показать на карте» в форму записи регистра сведений «Прикрепленные данные». При нажатии на эту кнопку должна быть показана карта с координатами, которые указаны в ресурсе «Координаты». Правильно ли я понимаю, что это надо только на клиенте?
Да, на ПК метод будет вызывать ошибку, у него доступность только Мобильное приложение(клиент).
На обеих сторонах нужно будет обеспечить только команду «Открыть вложение»
Я просто уточнить, что не нужны танцы с бубном, по поводу связи с API поставщиков карт.
Не не не — ничего такого :)
Хватит с нас и других танцев с другими бубнами =))
Добрый день! При прохождении теории четвертого модуля
на команде постпроцессора
#Если НЕ МобильноеПриложениеКлиент Тогда
при проверке модуля общей команды СоздатьВложение вылетает ошибка. Что не так?
у вас похоже где-то лишняя команда препроцессору
Не в этом деле. Первая ошибка идет
переменная не определена МобильноеПриложениеКлиент
а вот почему такое не пойму
уберите точку с запятой у КонецЕсли
спасибо!!!
Уберите «;» после «#КонецЕсли»
Точку с запятой в Конец если удалите
Еще вопрос, а как открывать мультимедиа с помощью 1С?
http://курсы-по-1с.рф/мобильная-платформа/флешмоб/модуль-4-часть-1-геолокация/#comment-64198
Подскажите пожалуйста. Создаю вложение, получаю координаты, а когда пытаюсь записать данные в регистр, мобильное приложение просто закрывается не выдавая никаких ошибок. Записи в регистр не происходит. В какую сторону думать?
здесь у многих была подобная проблема.
Попробуйте иначе передавать геокоординаты с клиента на сервер или изменить их способ хранения в регистре.
А если координаты не записывать — закомментить строчку тов се записывается хорошо?
Если так то попробуйте вот
http://курсы-по-1с.рф/%d0%bc%d0%be%d0%b1%d0%b8%d0%bb%d1%8c%d0%bd%d0%b0%d1%8f-%d0%bf%d0%bb%d0%b0%d1%82%d1%84%d0%be%d1%80%d0%bc%d0%b0/%d1%84%d0%bb%d0%b5%d1%88%d0%bc%d0%be%d0%b1/%d0%bc%d0%be%d0%b4%d1%83%d0%bb%d1%8c-4-%d1%87%d0%b0%d1%81%d1%82%d1%8c-1-%d0%b3%d0%b5%d0%be%d0%bb%d0%be%d0%ba%d0%b0%d1%86%d0%b8%d1%8f/comment-page-1/#comment-64173
Все получилось. Спасибо.
Данные = СредстваГеопозиционирования.ПолучитьПоследнееМестоположение(Провайдер.Имя);
Если в регистр пытаться записать так:
«Новый ХранилищеЗначения(Данные);»
то приложение вылетало, а если «Новый ХранилищеЗначения(Данные.Координаты);» — все нормально
почему все пишут геокоординаты в х.з. для хранения?
Ведь 3 числа хранить куда проще, да и меньше проблем с выводом. А х.з., оно на то и х.з. что хз что в этом х.з.
В условии задания же написано — ХЗ! :)
Можно конечно в ХЗ и структуру с 3мя координатами засунуть, но тогда на кой ХЗ О_о
в задании: «В момент записи мультимедийных данных в регистр добавьте координаты текущего местоположения.»
добавьте координаты в регист, про хранилище не увидел. Само хранилище нужно для мультимедии т.к. там без него ни как.
Просто использование хранилище лишний раз считаю неоправданным, даже если бы в задании так было написано — заказчика тоже нужно учить :)
ах тыж ёлы.. про ХЗ написано в шапке до задания :) моя вина.
^_^
Честно говоря, так и не понял, для чего при публикации используется веб-службы. Все время формируются ссылки на 127.0.0.1. А если мне надо отправлять это все в локалку (192.168.х.х.) или вообще в облако (х.х.х.х)?
Материалы 1-го дня сумел опубликовать, не используя apach (в предложенном виде). Со 2-м днем — проблемы. Причем проблемы не в коде 1С, а именно во взаимоотношениях 1С и файловых систем на веб-ресурсах (как в локалке, так и облачных)…
К сожалению, должен уехать на неделю… А очень хотелось пройти весь цикл занятий. Скажите, а можно ли будет потом, по прибытии, получить оставшиеся материалы (успел скачать теорию и задание 4-го модуля)?
Ссылки на 127.0.0.1 формировались для теста при разработке только в первый день. Дальнейшая работа, естественно, должна быть с реальным внутрисетевым айпи, или вообще белым внешним. Проблема с файловыми системами только одна — необходимость исходно настроить права доступа для 1С и апача.
//Причем здесь облако?
а как вы опубликовали веб-сервисы без апатча? Или, просто заменили его на IIS?
А вот если комментарий пропал но доступ к решению преподавателя не появился, то это что значит?
Все разобрался вопрос снят
Так что было? а то аналогичная ситуация
Пару часов назад написал отчет по домашнему заданию в комментарий на странице по указанной ссылке. Было написано что комментарий находится на модерации и не было видно комментариев других участников тренинга.
Недавно зашел на страницу отчета по домашнему заданию — у моего коммента исчезла запись о том что он находится на модерации и стали видны комментарии других участников тренинга — это значит что мой отчет по домашнему заданию засчитали и у меня появляется возможность «зафиналить» тренинг?
Пишу сюда по этому поводу чтобы не мешать модераторам на странице отчета по дом. заданию проверять комментарии других участников тренинга.
Так и есть если Вам стали доступны комментарии других участников и решение преподавателя значит Ваше домашнее задание считается засчитанным
да, значит вы прошли. Можете качать решение и сравнивать
Добрый день.
Работая с теорией по 4-му модулю, не смог получить координаты gps (телефон HTC One V). Координаты других провайдеров получал, gps усиленно противиться, сообщает, что в его данных нет никаких свойств, в т.ч. даты, координат. Хотя использование GPS-позиционирования в телефоне включено, и когда открываешь карты или приложение Location, спутник работает (видно по иконке) и координаты показвыает…
Это проблема моего телефона?
На скринах показана ошибка, на втором видно, что координаты прекрасно выводятся, при обращении к gps вылетает ошибка.
я уже писал.. тоже самое было на htc one mini. То что он показывает в location и других приложениях — обман: он спутники не использует.
коммент http://курсы-по-1с.рф/мобильная-платформа/флешмоб/модуль-4-часть-1-геолокация/#comment-64208
используя специальное ПО? например Fake GPS, можно задать произвольные координаты произвольные координаты и провайдеры Passive и GPS будут выдавать подменённые координаты
У меня в эмуляторе почему-то в гуглокартах (и в яндекс-картах тоже) вместо карты черный экран. При поиске па адресу место находит, открывает описание, но… Может кто знает, как с этим бороться? Ил может это глюк с эмуляцией под hyper-v?
А интернет там работает во внешку?
Да, я на картинке специально показал, что найдена запись «Дом». Если в нее щелкнуть, даже откроется картинка
Попробовал отрубить интернет — появился серый фон в сеточку, включил обратно — снова черный экран. В общем пока отложил и поставил 1с на живой телефон :)
Утро ничи мудренее Вроде и GPS заработал
Вопрос теории:
На сколько важно и вообще зачем нужно разделение процедур на клиентские и серверные на мобильной платформе? Она и там запускает 2 процесса вместо одного?
Судя по тому что в СП везде идет разделение доступности для мобильного на клиент и сервер и т.п. Видимо как-то так.
А тех. детали видимо только у разработчиков попытать можно…
Я думаю когда появятся запросы, часть кода будет на сервере выполняться, возвращая только данные
видимо для единообразия кода
Что ж Android выгружает 1с каждый раз при работе с картами, с мультимедиа?
У всех так? Ничего не поделать с этим?
Да нет, вроде все ок.
В смысле при выозве СделатьФотоснимок у Вас закрывается 1С?
При просмотре картинки или видео открывается приложение Android, связанное с файлом. Его закрываешь, 1с по новой загружается, как первоначальный запуск.
это может быть проблемой конкретного устройства. Поведение приложений зависит от настроек системы определенных производителем. Или просто на устройстве недостаточно памяти для поддержки работы 1с и галереи.
у меня такие проблемы на эмуляторе с картами. А так у большинства все ок.
шаг №1 — проверить что есть выход в интернет.
шаг №2 — проверить работоспособность гугло-карт на самом эмолируемом аппарате (если они работают — в 1С тоже не должно быть проблем, если не работают — админ мог блокировать часть портов)
догоняю курс, пока посмотрела теорию по четвертому модулю — самый прикольный модуль с точки зрения наглядности результатов), более легкий для усвоения и затратному времени, относительно предыдущих двух.
еще сложилось впечатление, что это и краткий руководитель по списку багов 1С для мобильной платформы :)
а для открытия функции разработчика, по-моему должен быть еще какой-то общий для андроидов служебный код, не?
Помоему «Нажмите быстро раз 10+» на всех и работает — не? :)
меню «Настройки» — > О телефоне — > Нажать 7 раз на пункт «Номер сборки»
да работает всё) просто помню, что были какие-то служебные коды в андроиде для расширенных настроек, уточняла можно ли как альтернативный вариант через код получить к ним доступ.
пошукала, похоже попутала функции разработчика с входом в режим сервиса (*#*#197328640#*#*).
Добрый вечер.
В уроке приведён пример записи с камеры. Но при этом открывается какая-то непонятная камера, которой никогда не видел — без настроек, вспышки и прочее. Я понимаю, что это какая-то глубинно платформенное приложение. Вопрос: как можно использовать более цивилизованные камеры для создания лучших снимков?
Заранее спасибо!
только если прикреплять готовый файл в 1с, поддержку настроек камеры при работе в 1с обещают в следущих релизах мобильной платформы
Как сделать скриншот на мобильном устройстве?
вкл/выкл + громкость вниз
или вкл/выкл + домой
на разных по разному. Если ни того ни другого то искать софт.
У самсунгов на системной панели еть кнопка в виде квадрата
Не совсем понял про недоступность материалов следующего модуля без решения 4го. Мне кажется я могу самостоятельно решать как и в каком порядке мне изучать приобретенный курс..
я в институте так же думал, но надо мной смеялись.
Вы видимо купили курс за 2к? Если так, то лучше обратитесь на саппорт, Ваш случай — их дело.
ого, есть даже те, кто купил. Я думаю никаких проблем у вас с доступом не будет, но на саппорт написать и правда стоит
Вроде бы сделал ДЗ №4, работает обмен с клиентом и сервером на компьютере регистром ПрикрепленныеФайлы (но без фотографии конечно),а вот фотография на мобильном устройстве в регистре есть но при обмене ошибка «Фатальная ошибка:Extra content at the end of the document». Что не так?
у меня всегда такую ошибку исправляло переименование латинскими символами.
Посмотрите еще все ли правильно с узлами обмена, коды заполнены? нужное количество узлов
Проверьте все ли узлы обмена созданы
Удалил в центральной базе узел мобильного приложение и создал его ещё раз и помогло
Есть ли у кого проблемы с распаковкой архива с вебинаром? Два архиватора на все скаченные файлы говорят — поврежден архив :(
Все хорошо, может файл так скачался криво?
Да вроде все отлично распаковалось.
попробуйте воспользоваться каким-нибудь download master
после месяца возни с yapi для получения и красивого вывода координат, это просто кайф — 1 час и все готово. На форме записи регистра допилил еще представление (получаю при открытии формы) через ПолучитьАдресПоМестоположению — при включенном интернете работает отлично, а вот при его отсутствии только тормозов добавляет. Как бы еще проверять наличие интернетов?
И, вопрос, вывод кнопок (звук, видео, фото, отмена) и последующая проверка на возможность, это просто пример, или проверять каждую из возможностей устройства и выводить только допустимые кнопки это более «затратно»?
Возник еще такой вопрос: использовал общую команду (Как и в методике), но вот чувство противление против этого не покидает. Мы же делаем команду непосредственно связанную с регистром сведений, и располагать ее хочется именно как команду регистра сведений (хоть какая-то инкапсуляция). НО, при попытки вызвать из формы документа или списка документов такую команду вываливается абсолютно тупая ошибка. Баг платформы, или моя мысль в корне не верна?
Видимо все таки баг. На стационарке ведь успешно отрабатывает.
Только вывод кнопок и проверка, элегантней решения я не нашел, но это не значит, что его нет.
вы запутались :) «Собака махает хвостом, или хвост собакой?» Это норма программирования, т.е. тут однозначно не ответить. Что важнее? Регистр — это хранилище данных, вспомогательный объект. Вешать в него команду можно, но смысл? Мы видь работает то с документами, а их может быть очень много.
Тут вообщем как посмотреть.
Я вот помню спорил о том, что полный план обмена является частным случаем РБД. Так как у него меньше возможностей, чем у РБД :)
А каким образом воспроизводить звук или видео?
использовал запустить приложение
Спасибо, получилось. Только предварительно пришлось записать во временный файл.
При записи в регистр возникает ошибка
текст процедуры был героически скопирован (с изменениями) с пдф файла
&НаСервере
Процедура ЗаписатьДанныеВРегистр(РасширениеФайла,Данные,ПараметрКоманды, ДанныеКоординат)
НовРег = РегистрыСведений.ПрикрепленныеДанные.СоздатьМенеджерЗаписи();
НовРег.Период = ТекущаяДата();
НовРег.СсылкаНаОбъект = ПараметрКоманды;
НовРег.Расширение = РасширениеФайла;
НовРег.Данные = Новый ХранилищеЗначения(Данные);
НовРег.Координаты = Новый ХранилищеЗначения(ДанныеКоординат);
НовРег.Записать(Ложь);
КонецПроцедуры
офигенная ошибка =)
Куда копать… куда светить… жесть…
вот и я о том же определил только что ругается после получения всех данных для записи в регистр, включая и координаты.
отлаживал Сообщить() прям на телефоне. Находил, где вываливается, а потом читал синтакс помощник :)
в общем по советам ivanr выяснилось что ошибка возникает в момент записи в регистр
«НовРег.Записать(Ложь);»
использование набора записей дало точно такой же результат.
Пробуйте комментировать заполнение некоторых полей записи, и тестировать запись, постепенно добавляя заполнение какого-то измерения/ресурса. Возможно вышибает что-то конкретное, просто платформа об этом нормально не сообщает…
ругается на
НовРег.Данные = Новый ХранилищеЗначения(Данные);
данные передаются в процедуру как
Данные = Результат.ПолучитьДвоичныеДанные();
Может ситуация как у меня? Координаты пробовали в отдельную переменную сохранять а потом процедуре передавать?
координаты проверял — все показывает
Включайте смекалку :) Решение на виду. это баг платформы, но можно красиво все решить.
вот как то не вижу прям красивого решения. отключаю добавление двоичных данных в регистр — работает, включаю не работает. с чем хоть баг связан? у знающего человека то все завсегда на виду ;)
Смотрю решение проблемы, если вы имеете в виду то, решение проблемы с координатами, то оно похоже на шаманство. складывается впечатление, что 1С как винда — новую версию надо ставить только после второго сервис пака :)
и таки да с двоичными данными это помогло 0_0
МенЗаписи.Координаты = Новый ХранилищеЗначения(Коорд);
Не записывает координаты в РС, пишет поле недоступно для записи. Чушь какая-то.
Тоже помаялся с такой «чушью» :) А покажите как вы вызываете это процедуру где запись делаете.
Я там с бубном плясал, решение нашел, но осмысления не пришло =)))
Вот пожалуйста :)
Попробуйте мой бубен :)
например код
у меня не сработал, зато когда вынес предварительно в переменную координаты:
ЗаписатьДанныеВРегистр(Данные, ИнформацияМультимедиа, ПослКоординаты, Результат.РасширениеФайла, ПараметрКоманды);
то все успешно отработало. В чем соль — не понятно :)
Здорово )) и правда не понятно почему так. Все сохраняет и мой дом на карте показывает ))
Да… бубны… они бесценны ))
Помню первый раз игрался тоже не мог нарадоваться казалось бы простым вещам )
Сам факт того, что мы таки добрались до мобильных устройств очень и очень радует.
Путей развития стало еще больше. Пусть есть косяки, но верю что все стабилизируется :)
Это баг платформы, и вот все делают ошибку — текущая дата — это не дата получения координат.
Кто то догадается как запихнуть местоположение в хранилище?
В ДЗ мы это рассмотрели :)А вы без дз еще подумайте.
Не удается обновить координаты ни по GPS ни по Network
Телефон HTC Android 4.1.1
Навигация вроде работает
Неувязочка какаято.
У GPS есть настройка «Отправка геоданных»(разрешение на использование текущих координат гуглом), пока не включил(было выключено) — тоже не мог обновить координаты.
У меня не было геоданных пока не разрешил доступ к своему местоположению в телефоне.
собственно два вопроса:
1. можно ли программно включить GPS
2. на соньке XL доступен только passive. даже после включения всех служб местоположений.
1. Стандартными средствами платформы — нельзя.
т.е. если агент выключит в настройках службы местоположений — то получить координаты никак не получится?
получатеся — нет. Только последние сохраненные координаты. А в чем проблема, наказывайте штрафами за такое:)
Опять же, стандартными средствами, увы — да. Ждем развития платформы, или используем смекалку и дополнительные внешние по отношению к 1С механизмы, программы и т.п.
Ну может быть а такое, а может у вас опция получения данных по GPS отключена.
на самом деле все было включено. просто был включен еще и режим STAMINA (энергосбережение). в каментах у kdv170 прочитал про энергосбережение — выключил — все получилось.
И еще при получении текущих координат
МассивСвойств = Новый Массив;
МассивСвойств.Добавить(«ВертикальнаяТочность»);
МассивСвойств.Добавить(«ГоризонтальнаяТочность»);
МассивСвойств.Добавить(«Дата»);
МассивСвойств.Добавить(«Координаты»);
МассивСвойств.Добавить(«Направление»);
МассивСвойств.Добавить(«Скорость»);
ОчиститьСообщения();
Провайдеры = СредстваГеопозиционирования.ПолучитьПровайдеров();
Для Каждого Провайдер Из Провайдеры Цикл
Сообщить(«Данные провайдера : » + Провайдер.Имя) ;
Данные = СредстваГеопозиционирования.ПолучитьПоследнееМестоположение(Провайдер.Имя);
Для Каждого СтрокаДанных Из МассивСвойств Цикл
// Попытка
Сообщить(СтрокаДанных+»: » + Данные[СтрокаДанных]);
// Исключение
// КонецПопытки;
КонецЦикла;
КонецЦикла;
Выдает «Получение значения по индексу для значения не определено»
Не могу пока понять для какого провайдера
Похоже провайдер «Hybrid»
у меня тоже самое было.. Как я понял, из-за того что я ни разу не пользовался GPS и как только он пытается получить данные из него, то натыкается на пустоту.
В команде получения данных по gps изменил с 10 секунда на 1000. вышел на балкон и через 108 секунд телефон установил контакт с этими внеземными цивилизациями.
Соответственно и ошибка исчезла.
У меня начал по сети определять когда отключил мастера экономии батареии долбаного
У меня начал по сети определять когда отключил мастера экономии батареии
сеть у меня сразу работала. Видать этот мастер просто выключает определение положение по моб.вышкам.
Что то неувязочка у меня
&НаКлиенте
Процедура ВключитьЗапись(Команда)
Сообщить(«Включение»);
ОП = Новый ОписаниеОповещения(«ОбработкаОповещения»,ЭтаФорма);
На телефоне выдает Несоответсвие типов (Параметр номер»2″)
Весь код дайте :)
Тем жуткий, при всем желании не успеть, хоть на работу неходи )
А вроде наоборот, этот день самый простой для понимания
Как на VMwaer player повернуть мобильное устройство вертикально?
Даже не знаю, а зачем это надо? :)
При обмене выходит сообщение «Номер сообщения меньше или равен номеру ранее принятого сообщения». Как бороться с этим в типовых конфигурациях, я знаю, а вот как решить эту проблему на мобильном устройстве?
И еще вопрос — как удалить конфигурацию с мобильного устройства?
На андроиде в списке приложений нажмите и удерживайте палец на нужной базе. Появится окно где есть команды Изменить и Удалить.
На iOS рядом с каждой базой в списке есть пиктограмма со знаком «i» жмете его, там Удалить.
Можно создать форму записи для узла плана обмена, и вынести на форму номера последних сообщений.
А затем в пользовательском режиме можете их подкорректировать, например, занулить :)
Спасибо за помощь! Конфигурацию удалось удалить, с номерами сообщений поработаю :)
Для таких случаев я сделал обработку, которая очищает очереди обмена. Или можно удалять и заново создавать узлы обмена.
На ИТС давно обновлена обработка по работе с регистрацией данных. Шикарно сделали, весь инструментарий под рукой.
Из методички:
Провайдеры = СредстваГеопозиционирования.ПолучитьПровайдеров();
Для каждого Провайдер Из Провайдеры Цикл
Сообщить(Провайдер.Имя);
Сообщить(«Самый точный:» + СредстваГеопозиционирования.ПолучитьСамогоТочногоПровайдера().Имя;
Сообщить(«Самый экономичный:» + СредстваГеопозиционирования.ПолучитьСамогоЭнергоЭкономичногоПровайдера().Имя);
КонецЦикла;
При выполнении «ПолучитьСамогоТочногоПровайдера().Имя» или «ПолучитьСамогоЭнергоЭкономичногоПровайдера().Имя»
вылетает ошибка «Значение не является значением объектного типа(Имя)».
Что не правильно?
Причем провайдер «passive»
Эта ошибка и на планшете и на эмуляторе
Данные = СредстваГеопозиционирования.ПолучитьПоследнееМестоположение(«passive»);
ПоказатьНаКарте(Данные.Координаты);
Ошибка «Значение не является значением объектного типа(Координаты)»
Проблема платформы или что это?
На планшете такая же ошибка
попробуйте вариант:
Координаты = Данные.Координаты;
ПоказатьНаКарте(Координаты);
:)
не помогло…
Возможно ваше устройство ни разу координаты не получало, запустите gps status например и дождитесь получения координат, затем можно и в 1с пробовать
У вас нет никаких коодинат, так что так не выйдет. Попробуйте поставить программку для фиктивного местоположения, указать место любое и потом уже только пробовать выполнить код
Перед обращением к имени провайдера вставьте фрагмент:
Сообщить(ТипЗнч(Провайдер));
И посмотрите что сообщит система. Скорее всего будет неопределено. Проблема в провайдере.
Вот результат
Не там вставили. Сообщите тип для самого точного и для самого экономичного. Скорей всего там проблема будет.
исправил, вот результат
Ну вот видимо второй — «Неопределено» у Вас и вышибает.
Используйте того провайдера, который работает.
ОК, спасибо.
Но это на эмуляторе. Почему такая же ошибка на планшете? Причем там только один провайдер «passive»
Т.е. на планшете только пассив, и там тоже проблема с Неопределено?
Тут уже я бессилен… Подождем Дмитрия, может он из своей широкой практики что-то подскажет. Я то всего лишь экспериментатор :)
Ясно, на блюстаке так не пройдет, он сам себе эмулирует провайдеров. Так что тут пишите конкретные имена провайдеров.
Еще бы не плохо учитывать тот момент, что не все живут по Московскому времени, сегодня заниматься 4 модулем уже нет времени.
Добрый вечер! Такая проблема. На мобильном устройстве перестали отображаться команды основного раздела, есть только «Список приложений» и «О программе». Командный интерфейс основного раздела настроен, у объектов включено использование стандартных команд. Я голову сломал уже! Все было нормально! В чем может быть дело?
Пробовали создать еще одну базу, и посмотреть что будет в ней?
Удалил WS-ссылку и почему то все заработало
Как удалили? Откуда удалили? А как без неё планируете синхронизироваться? Используете программное создание?
И все таки вариант с новой БД пробовали?
неожиданно:)
1С такая 1С
Добрый вечер!
Вопрос по галочке. При создании объекта мультимедиа выдается ошибка «{ОбщаяКоманда.СоздатьВложение.МодульКоманды(13,22)}: Тип не определен (СредстваМультимедиа)
Мультимедиа = Новый <>СредстваМультимедиа; (Проверка: Тонкий клиент)». где какую галочку я забыл поставить? :)
хм в методичке в отличие от видео такого не было :) удалите пожалуйста
Сервис — Параметры — Модули — Проверка — оставить только мобильное приложение
обрамите работу с мультимедиа и получение координат в:
#Если МобильноеПриложениеКлиент Тогда
…
#КонецЕсли
Пожалуйста, уточните, что Вы понимаете под вечером вторника. Для меня это важно.
Где же всё-таки отчитываться по 4 заданию? Если пройти по ссылке (смотри вложение) то открывается страница на которой нет возможности добавить комментарий! (смотри вложение)
Исправлено!
Когда будет доступна возможность добавления комментария по отчету? И, соответсвенно, интересует крайний срок отчета?
1. Добавлена
2. Пока ориентируйтесь на срок до вечера вторника.
Срок может быть продлен по результатам опроса.
Вечер вторника — это хорошо.
Сообщите максимальный срок отчета по данному заданию?
Добрый вечер!
Методичка в формате PDF, 15 страниц: mobile-apps-fm-theory-module04.pdf не доступна. файлы отсутствуют.
Все скачал, спасибо.
Аналогично
Попробуйте сейчас.
Нельзя скачать материалы 4 и 3 модуля.
у Вас наверное токен не активирован.