IE 2016

Что такое мобильная платформа 1С и с чем ее едят?

Опубликовал Шерстобитов Дмитрий (DitriX) в раздел Программирование - Практика программирования

Это первая статья, из будущего цикла.
Подробнее - http://infostart.ru/public/154124/.

Статья уже устарела! Общие принципы остались не изменны, но теперь с выходом 8.3.5 - стали доступны некоторые новые объекты и возможности.

Так что - не судите по статье о возможностях мобильной платформы версии 8.3.5 и выше.

Появится время - статью обновлю.



Оглавление

Что такое мобильная платформа 1С и с чем ее едят?. 3

Где работает данная платформа?. 3

Что может мобильная платформа?. 3

Скорость работы мобильной платформы... 4

Выбор устройства для работы с мобильной платформой.. 5

Подготавливаем софт для работы с мобильной платформой.. 5

Настройка платформы 1С.. 5

Установка Apache. 6

Установка Apacheant6

Установка JavaJDK.. 7

Установка мобильной платформы для разработчика. 8

Установка Android эмулятора AVD и AndroidSDK.. 8

Установка приложения в Андроид.. 11

Установка приложения на телефоне. 11

Установка приложения на AVD.. 11

Пишем и переносим простейшую конфигурацию на мобильное устройство.11

Основные свойства, которые надо заполнить у конфигурации.. 14

Платформа для разработчика. 15

Конфигурация для компиляции приложения.. 18

Мобильная платформа, конфигурация, обновление. 27

Каким образом можно разрабатывать под мобильную платформу.27

Обновляемая конфигурация.. 27

Фиксированная конфигурация.. 28

Варианты синхронизации МП с ЦБ.. 28

Архитектура ЦБ(7.7 – 8.x) ↔ ПБ(8.3)↔МП.. 28

Архитектура ЦБ(8.х) ↔ МП.. 29

 

Что такое мобильная платформа 1С и с чем ее едят?

Где работает данная платформа?

Android устройства:

      Версия Android не ниже 2.2;

      Доступной памяти у телефона не меньше 100Мб.

iOSустройства:

      iPhone – 3GS и выше;

      iPad – 1,2,3;

      iPodTouch – начиная с 3 поколения.

На ПК в режиме эмуляции, при помощи программы BlueStacks (это самый простой вариант):

      Скачать с сайта www.bluestacks.com программу;

      Установить на ПК с ОС WindowsXP и выше или MacOSX.

Отдельно дополню – желательно любое новое устройство с Андроид 4+, либо «флагманы» прошлых годов. На остальных железках – программа хоть и работает, но только с не большими объемами данных.

 

Что может мобильная платформа?

Тут следует немного отвлечься от 1С и разобраться в политике безопасности Андроида.

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

Что же это нам дает? А дает следующее – мы можем глядя на эти права сразу понять – с чем наше приложение может работать, а с чем не может вообще.

Для наглядности давайте посмотрим свойства мобильной платформы 1С и мессенджера Viber.

Для этого зажимаем палец на приложении и ведем его вверх (О программе), или заходим в Настройки > Приложения > нажимаем на наше приложение.

Примечание! Путь может меняться, например после того, как вы зашли в приложения – надо еще одно меню пройти нажав Управление приложениями.


И смотрим внизу список прав? Нажав на любое право – мы узнаем, что оно позволяет делать приложению. Для МП он будет выглядеть вот так:

 

А теперь посмотрим на права, которые требует Viber:


На что я тут хотел бы обратить внимание – когда говорят, что 1С может звонить или отправлять смс – то это не так. 1С может вызвать окно набора номера или отправки смс, но сама она – ни звонить, ни отправлять, ни принимать смс не может! Так как это, как минимум, не разрешит ей сделать Андроид. (это можно обойти, но об этом не сейчас).

 

Так же эти права показываются в момент установки, так что, если вы устанавливаете игру, а она имеет возможно совершать звонки или отправлять смс (желтеньким выделяется), то насторожитесь, может это не такая и простая игра.

 

Скорость работы мобильной платформы

Так как мобильник – это не компьютер, и мы не можем просто купить его, и в случае медленной работы добавить ему оперативки или заменить диск, то тут надо подходить к вопросу с осторожностью. Программировать под МП необходимо на том устройстве, с которым в последствии будет работать конечный пользователь. Что бы понимать на сколько это серьезно, я написал статью «Тестирование мобильной платформы 1С», в которой я постарался дать ответ на один вопрос – на сколько критично влияет оборудование на производительность в МП.

Давайте я приведу несколько цифр:

 

SamsungGalaxyNote

LenovoA706

GSmartG1355

SamsungGalaxyS3

iPad mini

iPhone 4s

ПК

Google Nexus 4

Вариант А

29 524

00:29

37 705

00:37

99 463

01:39

30 771

00:30

22 216

00:22

26 724

00:26

3 740

00:03

33 867

00:33

Вариант Б

216 462

03:36

287 927

04:47

767 806

12:47

261 531

04:21

166 589

02:46

236 590

03:56

28 029

00:28

251 441

04:11

Вариант В

692 722

11:32

789 088

13:09

2 747 151

45:47

611 554

10:11

465 420

07:45

558 062

09:18

88 176

01:28

689 191

11:29

Вариант Г

1 299 707

21:39

1 586 674

26:26

 

1 236 880

20:36

938 234

15:38

1 141 971

19:01

161 014

02:41

1 526 536

25:26

 

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

На текущий момент нас интересуют только цифры. Если быть точнее – то разница между устройствами. Почему это так важно? Ответ очевиден – нам надо понимать на сколько может затянуться синхронизация в том или ином случае.

Как вы могли увидеть – разница между стационарным компьютером и мобильной платформой 1С отличается по скорости в 10 раз, в среднем.

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

Приведу пример – если у вас на фирме есть порядка 500 номенклатур и в среднем десяток документов, то можно не заморачиваться с разными сложными механизмами обмена, регистрации и т.д., а просто при каждой синхронизации – обновлять все с нуля. Это достаточно удобно. Однако, если у вас 50 000 товаров, 300 000 характеристик, 1 000 000 штрихкодов и т.д., то тут уже надо бы призадуматься над более сложными механизмами синхронизации.

 

Выбор устройства для работы с мобильной платформой

Эта тема тоже достаточно актуальная, так как необходимо понимать – на что стоит обратить внимание кроме производительности.

Ну во первых – если вы планируете использовать GPS, то ясное дело он должен быть в устройстве, это весьма явный вывод, однако, есть и несколько не явных вещей.

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

Кроме этого всего у телефона должно быть достаточно встроенной памяти.

Фонарик желательно иметь, если вы планируете сканировать в темных помещениях, ну или даже просто фотографировать.

Если же вам необходимо в конечном итоге получить программу для инвентаризаций, то тут же встанет вопрос о сканировании товара, при чем встанет достаточно остро, и камерой телефона тут не обойтись. А это значит, что надо параллельно с телефоном – купить Bluetooth сканер, ну или если у вас в устройстве есть USBOTG, то HID совместимый проводной сканер.

Конечно же батарея, ее должно хватать на нормальный рабочий день, прогоните устройство пару раз и убедитесь, что заряда хватит.

Если же вы планируете купить ТСД на андроид, то тут сходу надо понимать, что в эти ТСД встроены сканеры, которые работают по умолчанию только с предустановленными программами, и если вы попытаетесь просканировать что-то в 1С, то у вас может ничего не получиться. Прежде чем брать такой сканер – убедитесь, что он может сканировать в абсолютно любые формы (например в смс сообщения, или в текстовый редактор) и после сканирования – отрабатывает функция перевода строки. Это все в будущем вам облегчит страдания.

Подготавливаем софт для работы с мобильной платформой

Как вы могли догадаться – для работы с МП нам необходим соответствующий инструментарий.

Давайте создадим некий каталог, куда мы с вами будем скидывать все, что нам понадобится. Путь к этому каталогу должен быть коротким, не содержать пробелов и состоять только из латиницы. У меня он будет таким: C:\MobilePl. В нем я создам папку Install, куда я буду закидывать все установочные файлы. И у нас будет еще одна папка Soft, куда мы будем скидывать подготовленные приложения, устанавливать новые и ссылаться на этот путь везде, где потребуется.

Настройка платформы 1С

Для начала - убедитесь, что у вас установлены следующие модули 1С:

 

Если чего не хватает – установите.

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

Мы, в том числе, будем рассматривать вариант обмена данными при помощи web-сервисов, поэтому нам необходим модуль для работы с веб-серверами.

Установка Apache

Так как 1С сама по себе не может выступать в роли веб сервиса, то нам необходимо настроить или IIS или Apache. Мы будем рассматривать вариант с Apache, так как он является более легким в настройке и кроссплатформенным.

Для начала нам необходимо скачать Apache. Сделать это можно так:

Заходим на сайт http://www.apache.org/mirrors/. Это список всех доступных зеркал, на которых можно скачать apache.

Я выбрал сайт http://apache-mirror.rbc.ru/pub/apache/, он для России. Это значения по большому счету не имеет, так как вес его маленький.

Переходя по папкам – мы доберемся вот сюда –

http://apache-mirror.rbc.ru/pub/apache/httpd/binaries/win32/.

Тут нас интересует файлик httpd-2.2.25-win32-x86-no_ssl.msi. Если вы используете SSL, то качайте тот что ниже. Если не знаете что это такое – качайте любой.

Во время установки – программа спросит про порт, который она будет прослушивать. По умолчанию – это порт 80, его и выбираем. Обратите внимание, что на 80 порту любят висеть всякие программы, которые в последствии не дадут запустить вам apache. Чаще всего – это:

·         TeamViewer- он любит слушать 80 порт, что бы отключить это – перейдите в Опции > Дополнительно > Показать дополнительные настройки > и поставьте галочку Не использовать входящий 80 порт.

·         Skype– что бы отключить, следуем в Инструменты – Настройки – Дополнительно – Соединения и меняем порт.

·         ISS – само собой. Но если вы его ставили, то вы знаете как его отключить или сменить порт.

Я рекомендую потом назначить свой порт. Что бы убедиться, что выбранный вами порт, на текущий момент, не использует ни одна программа – зайдите в Диспетчер задач > Производительность – Монитор ресурсов – Сеть – Прослушиваемые порты. Убедитесь, что порт не занят и смело его вбивайте. По опыту – я использую порты в диапазоне 40 000 – 60 000.

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

Проверить работоспособность apache– можно забив в браузере адрес 127.0.0.1 или localhost, или IPадрес вашего компьютера (при условии того, что открыт доступ к 80 порту). Если все хорошо, то вы увидите надпись Itworks! Если ее нет, то вероятнее всего вы или не указали порт, или у вас в hostsне прописаны эти адреса.

 

Установка Apacheant

Если вы пока не планируете компилировать приложение до apkфайла – то можно этот пункт пока пропустить.

Это программа для сборки приложений. Нам она нужна только для сборки конечных apk-файлов.

Скачать ее можно с того же ftp, что и apache.

Путь будет таким - http://apache-mirror.rbc.ru/pub/apache/ant/binaries/. На текущий момент там лежит версия apache-ant-1.9.2-bin.zip. Ее мы и качаем в нашу папку Install. Так как это просто архив, который не требует инсталляции – мы его сразу разархивируем в папку C:\MobilePl\Soft\ant. Обратите внимание – что это конечный путь, где лежат файлы, т.е. я не перенес папку apache-ant-1.9.2-bin, так как в случае обновления – вам нужно будет только удалить эти файлы и скопировать сюда новые, при этом все пути сохранятся.

Установка JavaJDK

Если вы пока не планируете компилировать приложение до apkфайла, и использовать виртуальную машину – то можно этот пункт пока пропустить.

Так как Android, по сути, эмулирует виртуальную Javaмашину, то и нам от Javaне уйти. Рассматриваемая нами версия мобильной платформы – уже нормально работает с Java 1.7, вот ее мы и установим.

К сожалению – прямого линка на скачку нет, поэтому придётся проходить квест на скачку новой версии. На текущий момент это ссылка вот такая http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-windows-i586.exe.

Идем на сайт http://www.oracle.com/technetwork/java/javase/downloads/index.html.

Видим такую картинку:

 

Нажимаем на JDKDownload (выделил желтым).

 

Соглашаемся с лицензией и качаем нужную нам версию. Есть x64 и x86, так как мы не работаем с большими объемами, то, в независимости от разрядности вашей операционной системы, качаем x86.

 

Сохраняем его в наш каталог Install. Заранее создадим папку для этой программы - C:\MobilePl\Soft\jdk и C:\MobilePl\Soft\jre. Запускаем программу.

Когда программа спросит – куда установить ее, укажите путь C:\MobilePl\Soft\jdk\. Потом она спросит еще раз – куда установить jre. Указываем путь C:\MobilePl\Soft\jre\.

На этом установка Java – закончена.

Установка мобильной платформы для разработчика

Нам необходимо скачать архив с сайта 1С. Я использую платформу 8.3.4.9. Переименовываем архив в соответствии с версией, которая в нем находиться, и копируем как есть в папку C:\MobilePl\Install\.

Давайте разберем структуру этого архива. Внутри него есть три папки:

·         Android, в которой есть 4 файла:

o   1cem-arm.apkи 1cem-x86.apk - платформа разработчика.

o   prjandroid-armи prjandroid-x86 - файлы для компиляции.

·         iOS, тут файлы для сборки под iPhone;

·         MobileAppMaker – тут находится конфигурация «Сборщик приложений».

В чем отличие файлов 1cem-arm.apkи 1cem-x86.apk? Отличие их заключается в оптимизации под одну или другую архитектуру процессоров. Чаще всего используется архитектура arm. Однако, если у вас в телефоне установлен процессор от Intel, то, вероятнее всего, у вас используется архитектура x86.

Теперь надо определиться – куда мы хотим установить мобильную платформу? У нас есть два варианта:

·         На мобильное устройство. Этот вариант самый идеальный, так как телефон будет работать значительно быстрее чем компьютер и намного стабильней.

·         Эмулятор андроида на ПК:

o   Если без дополнительных танцев с бубном – то можно установить эмулятор BlueStacks. Однако придётся пожертвовать стабильностью. Те, кто работали под ним – изредка замечали странное поведение форм, и вылеты. Тогда как на телефоне было все отлично. Однако с ним удобно работать – достаточно установить его и нажать два раза на akpфайле и он сразу установиться в эмулятор.

o   Эмулятор Android Virtual Device (AVD). Он идет в комплекте с Андроид SDK. Этот эмулятор – самый приближенный к реальности. Однако стоит отметить, что, как и установка его самого, так и приложений под него – задача не из самых приятных.

Установка Androidэмулятора AVD и AndroidSDK

Если вы пока не планируете компилировать приложение до apkфайла, и использовать виртуальную машину – то можно этот пункт пока пропустить.

Для установки AVD, нам потребуется скачать AndroidSDK, так как нам все это понадобиться далее – не удаляйте эти файлы.

Теперь давайте скачаем AndroidSDK – идем по этой ссылке https://developer.android.com/intl/ru/sdk/index.html.

Там раскрываем USE AN EXISTING IDE (так как наша среда разработки 1С, то другой нам не надо), и нажимаем DownloadtheSDKToolsforWindows.

Сохраняем его в нашу папку Install.

Начинаем установку – запускайте файл. Для установки указываем путь C:\MobilePl\Soft\sdk\.

 

Обратите внимание, если вы не установили ранее JDK, то программа не разрешит установку.

После установки – программа спросит разрешения запустить себя, соглашаемся. Если же вы убрали галочку, то запускаем файл C:\MobilePl\Soft\sdk\SDK Manager.exe.

Ставим нужные нам опции:

 

 

Вот тут остановимся немного поподробней. Эмулятор андроида – сам по себе весьма тормознут, однако есть специальное решение, которое используя инструкции процессора ускоряет его, скажем так – прилично ускоряет. Но, как и всегда, есть нюансы – ваш процессор должен соответствовать определенным условиям:

Аппаратное обеспечение

  • Процессор Intel® с поддержкой инструкций VT-x, EM64T и Execute Disable (XD) Bit
  • Не менее 1 ГБ оперативной памяти

Поддерживаемые операционные системы

  • Microsoft Windows 7 (32/64-bit)
  • Microsoft Windows Vista (32/64-bit)
  • Microsoft Windows XP SP2 (32-bit only)

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

Как можно проверить – подходит ли это все вам. Необходимо узнать модель процессора. Сделать это можно нажав сочетание клавиш Win+R. У вас должно всплыть окно, далее вбиваем в него: dxdiag. Появиться вот такое окно (вначале может спросить про подписи – жмем что угодно):

 

Операционная система – подходит. А вот от процессора нам нужна модель. В моем случае это i7 950. Захожу на сайт http://ark.intel.com/ и справа вверху, в окно поиска, вношу свою модель i7 950. Спускаемся вниз и смотрим:

 

Мой процессор, выпущенный в 2009 году – удовлетворяет условиям. Поэтому я ставлю ту галочку. Дополнительно про это написано на сайте http://software.intel.com/ru-ru/articles/intel-hardware-accelerated-execution-manager.

Теперь жмем кнопку Install. Далее принимаем лицензионные соглашения и начнется установка. Вся установка будет идти из интернета. Так что учтите это. После установки – закрываем все. И запускаем AVD – эмулятор андроида, для этого открываем файл C:\MobilePl\Soft\sdk\AVD Manager.exe.

Нажимаем Newи заполняем поля:

 

Если в двух словах, то мы по сути эмулируем некое устройство. Мы указываем какую версию Андроида использовать, какую архитектуру процессора, оперативную память, память для одной виртуальной javaмашины (приложение), внутреннюю память и т.д.

Нажимаем ОК. И после этого жмем кнопку Start. У нас должна запуститься виртуальная машина на андроиде.

Установка приложения в Андроид

На текущий момент вы должны уже были определиться с устройством, на котором вы будете запускать мобильную платформу. Рассмотрим два варианта установки приложения. Для примера – возьмем платформу для разработчиков. Напоминаю – она находится в архиве, который мы скачали ранее с сайта 1С, и называется 1cem-arm.apkи 1cem-x86.apk. Так как у меня устройство на armархитектуре, то я буду устанавливать файл 1cem-arm.apk.

Установка приложения на телефоне

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

Установка приложения на AVD

Тут все немного сложнее. Интерактивного установщика приложений нет. Поэтому придётся устанавливать через командную строку. Но что бы не мучатся сильно – мы сделаем cmdфайл.

Для этого создадим новый текстовый документ и нажмем Файл - Сохранить как – имя файла «Установка apk.cmd» - Тип файла «Все файлы» и жмем сохранить. Далее вставим в него такой текст:

C:\MobilePl\Soft\sdk\platform-tools\adb.exeinstallC:\MobilePl\Soft\8.3.4.9\Android\1cem-arm.apk

Сохраним и запустим. После того, как выполнится этот скрипт – будет установлена мобильная платформа.

По умолчанию в AVDстоит андроид с локализацией для Америки. Поэтому 1С будет там на английском языке. Для работы с русской версией – зайдите в настройки локализации и выберите нужную вам локализацию.

Пишем и переносим простейшую конфигурацию на мобильное устройство.

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

Так как целью данного параграфа – будет написание конфигурации только под мобильную платформу, то я предлагаю убрать пару галочек из настроек конфигуратора. А именно – мы с вами уберем из контекстной подсказки те функции, которые не поддерживает МП, и из справки – ту информацию, которая не доступна на МП.

Начнем. Давайте создадим для начала новую базу данных. Тут нет ничего необычного, создаем как обычную базу данных. Входим в конфигуратор и первое что мы делаем – заходим в Сервис > Параметры:

 

Тут снимаем галочки напротив тех опций, которые нам будут только мешать.

 

Тут снимаем галочки с тех опций, которые мы не хотим видеть в справке.

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

После этого – нам надо указать конфигуратору, что данная конфигурация разрабатывается только для МП.

Правой кнопкой на древе конфигурации > Свойства > Назначение использования > Ставим галочку Мобильное устройство, и снимаем галочку с Персональный компьютер.

 

После нажатия ОК – древо метаданных изменит свой вид. В нем появятся затемненные объекты. Это объекты, с которыми МП работать не может.

Выглядит это так:

 

Тут четко видно объекты, которые нынче не доступны. Среди этих объектов, есть объекты, программирование на мобильные устройства без которых – является весьма нелегкой задачей. По моему мнению это:

  1. Конечно же Отчеты!

Отчеты - это одна из самых главных функций, которые просто обязаны быть доступны на мобильнике. Я даже с ребятами как-то написал приложение, которое эмулировало СКД конструктор (1C + Android (конструктор отчетов) v1.5.1, 1C + Android (конструктор отчетов)).

Однако тут доступны Обработки, с помощью которых можно выводить отчет. Так же 1С, на примере демо конфигурации Заказы, подключается к web-сервису на сервере, передает параметры, на сервере строиться отчет, сериализуется, сжимается и отправляется на телефон, телефон его десериализует и выводит пользователю. Минусы очевидны – только в режиме онлайн. Но и плюсы есть – можно любой сложности отчет строить, вот только поместиться ли он в 5 дюймов и ограничение связанные с использованием SOAP протокола?

Однако этот же механизм использовали и мы, для синхронизации нашего приложения, поэтому я вам позже расскажу про подводные камни такого подхода конкретней.

2.      Общие реквизиты. Ну тут скорее желание удобства. Просто в случае программирования конфигурации с нуля, начинаешь понимать, как они полезны.

3.      Регламенты, ну тут и так все ясно, и этого хотят все, например запускать в фоне службу 1С, которая синхронизирует задачи, остатки и т.д.

4.      Функциональные опции. Так как ролей нету, та они тут и не нужны, но в одном предприятии может быть несколько вариантов мобильного приложения, раз нельзя сделать видимость по Ролям, то хотя бы по опциям делать, дабы не держать для каждого свою отдельную конфигурацию. Но следует отметить, что мы несколько конфигураций можем уместить в одно приложение, как это сделать – мы обсудим позже.

Ну и самое печальное, на текущий момент – это то, что нет печати. Печать на мобильных устройствах это весьма нетривиальная задача, однако мы даже не можем сохранить, например, в DropBox документ в экселе, что бы потом распечатать. Т.е. это все придется самому делать.

Как один из предложенных вариантов был – вы делаете запрос на сервер, сервер принимает документ, сохраняет его в эксель и отправляет менеджеру на почту, но это как бы не правильно, так как опять-таки – нужен сервер и интернет. Можно конечно генерировать этот же эксель, и передать его в ответ на запрос, а потом сохранить на СД карту, но это уже дело такое, так как вопрос печати с мобильника все же остается.

С другой стороны, все эти ограничения принесли весьма положительный опыт, так как первопроходцы не решались на телефон отправлять 100 000 товаров и 25 типов цен, потому что работать с ними, с учетом текущих ограничений, было бы весьма сложно.

Самое главное – запомните один девиз:

Самое сложное при программировании под мобильную платформу – понять, что это МОБИЛЬНАЯ платформа.

Тут надо четко понимать, что мобильное приложение – это не обычная версия 1С. Так не получится вывести 20 кнопок и 30 показателей.

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

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

Основные свойства, которые надо заполнить у конфигурации

 

Возвращаемся в нашу конфигурацию и до заполним свойства:

·         Имя – его желательно указывать латиницей, дальше я объясню почему;

·         Синоним – тут пишем полное название базы, она так и будет называться и на мобильном телефоне или в виде отдельного приложения, или в составе конфигураций;

·         Поставщик – укажите себя;

·         Версия – начинаем с версии 1;

Платформа для разработчика

Данный вариант предполагает наличие доступа к компьютеру из мобильного приложения через сеть. Суть заключается в следующем – мы публикуем конфигурацию приложения (это по сути своей web-сервис), мобильное приложение подключается к нему и забирает конфигурацию.

Давайте опубликуем конфигурацию для того, чтобы получить ее на телефоне. Для этого заходим в Конфигурация – Мобильное Приложение – Публиковать – заполняем данные – Опубликовать.

 

Имя и путь к каталогу – не могут содержать кириллицу!

Давайте чуть поподробней остановимся на некоторых полях.

Имя – не пытайтесь в него вложить много смысла, оно должно быть простое, так как вы не раз его будете вбивать вручную. Имя должно отличаться от имени публикации базы для тонкого клиента.

Обновлять мобильное приложение – эта галочка отвечает за очень удобную опцию. Ее имеет смысл использовать только в произвольной конфигурации, суть ее в том, что при каждом обновлении конфигурации – автоматически будет обновлена конфигурация на устройстве (если на нем тоже стоит галочка, об этом позже). Кроме этого – обновлять можно и вручную.

Если в момент нажатия кнопки Опубликовать – у вас появилось сообщение о том, что 1С не может записать данные в файл, то это у вас сработал UAC. Это значит, что вы запустили 1С не от имени администратора. Решить это проблему можно следующим путем:

Каждый раз запускать 1С от имени администратора. Правой кнопкой на ярлыке 1С > Запустить от имени администратора.

Отключить UAC(не безопасно!).

Зайти в свойства ярлыка 1С, и поставить галочку Выполнять эту программу от имени администратора.

У каждого из этих вариантов есть свои плюсы и минусы. Какой подойдет вам – решайте сами.

Если у вас все получилось, то давайте убедимся в том, что наша конфигурация была правильно опубликована. Для этого перейдем по ссылке http://127.0.0.1/orders/. Мы должны увидеть xmlфайл. Это и есть структура нашей конфигурации.

Теперь заходим в ранее установленное приложение, и нажимаем кнопку Добавить.

Видим вот такую картинку:

 

В поле адрес – вбиваем IPкомпьютера на котором опубликована конфигурация. Если надо, то можно указать другой порт, например http://192.168.1.2:54215/orders. Учтите – просто вбив адрес без http:// у вас может ничего не сработать. Как узнать IPадрес вашего компьютера, и что должен быть открыт нужный порт и т.д. – я тут рассказывать не буду.

Далее жмем кнопку Загрузить.

 

Увидим вот такую картинку. Давайте остановимся не на долго. Помните мы заполняли свойства конфигурации? Ну вот тут можете сопоставить одно к другому и использовать в своих целях.

Обязательно поставьте галочку Перезапуск из конфигуратора.

Нажимаем Готово. Теперь откроется окно выбора конфигурации. Если зажать на конфигурации палец и из всплывающего меню выбрать Изменить, то станет доступным такое окно:

 

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

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

 

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

 

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

А теперь нажмем кнопку Обновить. И смотрим на телефон – приложение могло обновиться, а могло и нет. Если не обновилось, тогда выводим кнопочку:

 

И нажимаем на нее, смотрим на открытую конфигурацию в телефоне. Через пару секунд – телефон должен перезапустить конфигурацию и мы увидим вот такую форму:

 

Я специально выделил заголовки в рамку, и хочу сейчас вернуться в свойство формы:

 

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

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

Для того, чтобы попрактиковаться – предлагаю скопировать нашу тестовую базу и переименовать ее в warehouse (дальше по статье поймете почему). И в каждой базе – изменим надпись с «Привет МИР!» на «Заказы» и «Склад». Обязательно подключите эту базу в платформу для разработчиков и попробуйте поочередно обновлять базы, зайдите и выйдите. Цель – понять, как работают обновления базы с компьютера.

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

Конфигурация для компиляции приложения

Помните в архиве скаченном с сайта 1С – у нас была конфигурация? Давайте теперь разберемся с ней. Для этого нам понадобятся обе базы. Начнем с того, что после установки – вам надо вначале зайти в конфигуратор и создать пользователя с админскими правами. После этого – заходим в базу.

Сразу заходим в Сервис > Настройки приложения и заполняем все что нам надо. Что и зачем – написано в справке, основная идея в том, что если работаете вы с разных компьютеров, то надо что бы на каждом из них были установлены все пакеты и прописаны пути.

1С, кроме прочего – требует еще утилиту PuTTY, она нужна при компиляции под iOS. К сожалению, обойти это не получается, т.е. разработчики уже сразу считают, что вы будете компилировать под iOS. Поэтому я просто выбираю папку Softи все.

 

Тут в наименование берется имя компьютера, поэтому не меняйте его.

Далее идем в Сервис > Редактирование поставщика.

Придумываем себе префикс. Это очень важный шаг. Андроид устроен так, что он контролирует версию сборки и имя пакета. Т.е. если вы переименуете пакет, то обновить существующую базу – у вас не выйдет. Поэтому давайте придумаем себе префикс. Обычно имя пакета в андроеде выглядит вот так:

com.example.helloworld.

Где com – обычно либо окончание сайта, либо просто локаль автора (например ru, uaи т.д.).

Exampleлибо продолжение сайта, либо ваше ФИО. Т.е. по сути нечто уникальное, которое идентифицирует вас.

Helloworldимя приложения. В нашем случае это может быть orders.

Я выбрал себе такое имя пакета: ua.dnv + имя приложения

Далее нам необходимо создать ключ поставщика. Это очень важный шаг. Например, если андроид нашел приложение с таким же именем пакета, то он проверяет подпись – если подпись не совпадает, то андроид не обновит это приложение. Соответственно, если вы потеряете ключ, то обновить существующие приложения у клиентов не выйдет. А если вы распространяете свое приложение про помощи площадки GooglePlay, то вы не сможете обновить там приложение. Придется создавать новое при этом теряя все скачки, голоса и т.д.

И так, нажимаем на ссылку Создать ключ разработчика. Все поля, кроме пароля и псевдонима – можно заполнять на каком угодно языке.

 

Я заполнил вот так. Жмем теперь Сформировать ключ. Дальше программа заполнит все сама.

 

Ставим галочку Для ОС Android и записываем элемент.

Далее нам надо подключить архив мобильной платформы, что бы программа могла скомпилировать все. Для этого сверху откроем справочник Мобильные платформы. Тут надо обратить внимание на такой момент – вся эта информация будет храниться в базе, т.е. если мы каждую платформу будем вставлять в базу в полном объеме – у нас очень быстро вырастит база, а нам это не надо. Поэтому мы немного урезаем архив. Из справки:

При загрузке система ожидает, что мобильная платформа будет представлена zip-файлом со следующей структурой (регистр имени файла и каталога - важен!), остальные файлы в архиве игнорируются:

Android\prjandroid-arm.zip - мобильная платформа для ОС Android на платформе ARM

Android\prjandroid-x86.zip - мобильная платформа для ОС Android на платформе x86

iOS\prjios.zip - мобильная платформа для iOS (мульти язычная)

iOS\prjios_en_ru.zip - мобильная платформа для iOS (только русский и английский языки)

 

Так как я не компилирую под iOS, но выбора у меня нет, то мне придется и те файлы оставить. Убедимся, что при входе в архив – у нас вначале появляется папка Android и iOS, а в них уже те файлы что надо.

 

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

Если бы сюда еще информация о найденных и исправленных багов добавлялась – этой конфигурации бы цены не было J.

Далее нам необходимо вставить конфигурации разработанные ранее. Для этого – мы заходим в конфигуратор каждой базы и нажимаем Конфигурация > Мобильное приложение > Записать в файл.

Назовем файл как-то по человечески, например ordersи warehouse соответственно. Это xmlпредставление конфигурации. В конфигурации для сборки – открываем справочник Мобильные конфигурации и для каждой конфигурации создаем независимые группы первого уровня - Заказы и Склад. Заходим в группу и добавляем элемент. Слева вверху нажимаем Загрузить конфигурацию и выбираем соответствующий файл.

 

Далее программа подхватывает имя конфигурации и ее версию. Тоже самое сделаем для конфигурации Склад.

А теперь пора бы уже создать и приложение, но придётся заполнить еще одну форму. Для этого открываем справочник Мобильные приложения и создаем группу, без группы нельзя. В группе мы указываем все что нам может пригодится.

 

Называем группу, в нашем случае – это Заказы.

Ставим галочку Для ОС Android.

Выбираем версию мобильной платформы, на которой будем компилировать.

Пишем идентификатор решений – orders. Справа покажется полный идентификатор приложения, еще правее есть кнопка Проверить уникальность идентификатора. Она проверяет идентификаторы в текущей базе. Идеально было бы, что бы программа проверяла уникальность на площадке, где вы собираетесь разместить приложение в будущем. Но пока и так сойдет.

Указываем версию приложения и номер сборки.

Тут остановимся подробней. По номеру сборки – программа Androidпроверяет версию программы, т.е. если у вас установлена программа с номером сборки 22, то программу с номером сборки 20 – вы уже не поставите. Этот номер не имеет дробной части, это целое число. На моей практике – доходило до нескольких тысяч. Это не значит, что если вы подняли номер сборки – то «обязаны» опубликовать приложение.

А версия приложения – это представления для пользователя. Как все любят, что-то вроде 1.21.44.

И внизу – вы добавляете папку с конфигурациями, которые вы нынче будете создавать.

Теперь давайте таки создадим само приложение. Заходим в созданную группу и создаем новый элемент:

 

Программа заполнит все сама. Нажимаем на заветную кнопку Собрать приложение. Ждем. Это займет некоторое время. Периодически будут мигать черные окна консоли – не закрывайте их. После сборки приложений – если у вас высветились ошибки доступа к файлам, то перезагрузите компьютер, запустите 1С под администратором и попробуйте еще раз.

Теперь нам надо забрать эти файлы. Забрать их можно на вкладке Результаты сборки.

 

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

Повторите тоже самое для конфигурации «Склад». И тоже установите на телефон. И так, нам надо работать с двумя конфигурациями, а это дико не удобно, когда они являются разными приложениями. Давайте сделаем так, чтобы эти две конфигурации у нас были в одном приложении. Для этого создадим новую группу в справочнике Мобильные приложения. И заполним ее вот так:

 

Отличие в том, что в табличной части, где указываются ресурсы конфигураций – я указал и Заказы и Склад. Теперь создаем элемент справочника в этой группе:

 

На вкладке Представление мобильного приложения – мы можем указать название нашего приложения, оно будет показываться в приложениях:

 

Но давайте разберемся попутно с еще одним моментом – это иконки и заставка. Для этого откроем справочник Графические ресурсы. И создадим там новый элемент, который назовем Заказы+Склад.

1С нам подсказывает структуру архива:

При загрузке графической информации системы ожидает, что графическая информация будет представлена zip-файлом со следующей структурой (регистр имени файла и каталога - важен!):

  • Android\icon-36x36.png
  • Android\icon-48x48.png
  • Android\icon-72x72.png
  • Android\icon-96x96.png
  • Android\splash-320x480.png
  • Android\splash-480x854.png
  • Android\splash-640x960.png
  • Android\splash-768x1024.png
  • Android\splash-800x1280.png
  • Android\splash-854x480.png
  • Android\splash-1024x768.png
  • Android\splash-1280x800.png
  • Android\splash-1536x2048.png
  • Android\splash-2048x1536.png

 

Где icon – иконка соответствующего разрешения для приложения, а splashзаставка. Давайте сделаем такой архив. Для этого зайдем например на сайт http://www.iconsearch.ru справа вверху выберем фильтр для иконок 128х128. И найдем то, что нам по нраву. Не забываем про лицензии на приложения. Мне например понравилась вот эта иконка http://www.iconsearch.ru/detailed/19501/6/.

Тут нужного мне формата нету, поэтому я просто качаю эту иконку и пережимаю под меньшие размеры. Потом иду на другой сайт, например на этот http://wallpaperswide.com, и ищу то что мне понравилось. Я думаю, что все понимают, что изображение должно нормально выглядеть и под разные форматы экрана (4:3, 16:9) и под разные разрешения экрана, ну и, конечно же, под разную ориентацию.

Мне, например, понравилась вот эта картинка:

http://wallpaperswide.com/footprints_2-wallpapers.html.

Там же я качаю нужные мне форматы. Однако обратите внимание – все придется пережать в png, и повернуть на 90 градусов, так как в имени - разрешение не зря указанно именно в такой последовательности. У меня получился вот такой набор:

 

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

Вот так теперь оно выглядит среди прочих приложений:

 

Вот так оно выглядит среди остальных приложений. Кстати обратите внимание на то, что при пережатии при помощи Paint – иконка потеряла прозрачность. Так что учтите это. Вот так теперь выглядит окно запуска:

 

И при входе – мы увидим пустой список баз, нажимаем Добавить. И выбираем нужный нам шаблон.

 

Почему шаблон? Потому что у вас может быть много баз с одинаковыми конфигурациями. При обновлении – вы обновляете шаблон, и, как следствие, все базы, которые были на основе него сделаны.

Мобильная платформа, конфигурация, обновление

Каким образом можно разрабатывать под мобильную платформу.

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

И так – как же все-таки работать с мобильной платформой? Как передать в нее конфигурацию?

Давайте начнем с того – каким образом можно получить то, что мы хотим на мобильном устройстве?

 

Напомню - на текущий момент у нас существуют два варианта:

1.      Установить платформу для разработчика и добавить в нее конфигурацию через публикацию на компе.

2.      Скомпилировать нашу конфигурацию до apk-файла (это файл установки программы на андроиде) и запустить его на нашем телефоне.

 

Обновляемая конфигурация

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

Под нее программировать довольно просто: сконфигурировали — опубликовали в web (в конфигураторе: Конфигурация Мобильное приложение Публиковать; указываем имя публикации, отличное от имени публикации базы данных для веб доступа, если таковое имеется), затем нажали кнопку «Обновить» на телефоне. Или поставили галочку «Обновлять мобильные приложения» в конфигурации: тогда при входе пользователя в базу на телефоне (при наличии доступа к серверу конфигураций) или если он находиться в текущий момент в этой конфигурации, то мобильное приложение само обновит конфигурацию. Не нужно ничего компилировать и обновлять вручную.  Правда в этом случае вы не сможете обновить мобильную платформу, не скинув ее отдельным файлом, или без помощи других сервисов.

 

Фиксированная конфигурация

Это вариант скомпилированной до apk-файла конфигурации.

Соответственно, если вы изменили что-то в конфигурации, вам необходимо всем пользователям отправить этот файлик (вес — около 40 Мб, стоит отметить, что с версии 8.3.3.42 – файл весит чуть более 20 Метров, но теперь надо самостоятельно контролировать архитектуру процессора и ставить соответствующую версию), и все должны переустановить приложение на телефоне. В этом случае обновится и платформа, и конфигурация. Данные должны остаться.

 

Если вы разработчик, который планирует написать конфигурацию для учета звезд во Вселенной и поделиться ею со всеми живыми, и не очень, существами, то вам однозначно необходим вариант фиксированной конфигурации. Выбрав этот вариант, вы можете расположить свой apk-файл в интернет-магазинах типа GooglePlay, где приложение будет продаваться или распространяться бесплатно (к слову, 1С еще не определилась с лицензиями до конца, но разрешает использовать без её ведома до 50 мобильных устройств). Если конфигурация обновляется, вы размещаете новый apk-файл в интернет-магазине, и вскоре он обновится у всех купивших приложение.

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

 

Обо всем этом мы уже говорили ранее. Но мы на данный момент не будем обращать внимание на то как это делается, мы рассмотрим то для чего это делается.

Варианты синхронизации МП с ЦБ

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

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

Предположим – у нас есть некая центральная база (ЦБ). На предприятии есть отдел логистов и есть отдел торговых агентов. Каждый из них хочет иметь доступ к данным из ЦБ – логисты хотят делать приход, а агенты – делать заказ.

 

Ну а наша цель – удовлетворить их всех. Однако – это задача с двумя переменными, а именно:

1.      Нам надо обновлять конфигурацию.

2.      Нам надо обновлять платформу.

Т.е. кроме версии конфигурации, у нас появилась еще версия платформы, которую нам тоже надо актуализировать. Если для стационарных компьютеров это была тривиальная задача, которую немного могли усложнить распределенные базы данных, но и то, не очень сильно. То с мобильниками – отдельная история, вы же не собираетесь бегать за каждым агентом и обновлять ему приложение?

 

Архитектура ЦБ(7.7 – 8.x) ↔ ПБ(8.3)↔МП

Я предлагаю заняться изобразительным искусством и нарисовать это все.

 

Давайте теперь посмотрим – что же происходит тут. Зелеными стрелочками – я показал обмен данными, а красной – обмен конфигурацией. Т.е. логика проста – МП получает данные от ПБ, и от нее же – получает конфигурацию. А ПБ обменивается данными с ЦБ.

В чем преимущество данной архитектуры:

·         У вас одна и та же база для мобильного приложения и для стационарного;

·         Вы гарантированно не даете возможность получить запрещенные данные из ЦБ в мобильное приложение. Тут надо понимать, что если в офисе еще можно сделать некоторые ограничения на доступ к данным, и даже в случае ошибки в конфигурации, из-за которой человек получит доступ к данным, то забрать с собой их – это уже будет сложнее. В случае с мобильной платформой – если он после синхронизации получил некие данные, то он может просто скопировать базу с этими данными себе на компьютер и работать дальше и что самое печальное – ничего нельзя будет потом сделать;

·         Нет необходимости конфигурировать ЦБ для реализации обменов, так как при обмене между ЦБ и ПБ – вы можете использовать типовой обмен данными при помощи «Конвертации данных»;

·         Так как у вас метаданные в МП и ПБ будут идентичными, то для обмена между МП и БП – вы можете использовать план обмена;

·         Вы не будете нагружать ЦБ лишними регламентами (о некоторых мы поговорим ниже);

Из недостатков:

·         Использование ПБ – это еще одно звено, а чем меньше звеньев – тем стабильней;

Архитектура ЦБ(8.х) ↔ МП

Давайте еще немного порисуем.

Здесь зеленными стрелочками я выделил обмен данными, а красными – обмен конфигурацией.

Что особенного происходит в данном случае? У нас есть центральная база, в которой настроены планы обмена (соответственно мы «гоняем» данные из приложения в ЦБ и обратно), но одновременно у нас есть отдельная база, в которой мы пишем конфигурацию для мобильных телефонов.

Таким образом, ЦБ не должна располагаться именно на платформе 8.3, она может располагаться на любой платформе, просто в планах обмена (ну или чем вы там выберете делать обмен) нужно учитывать особенности разных платформ.

Минусы такого подхода очевидны – необходимо постоянно переделывать конфигурацию, нужно создавать новые планы обменов и/или web-сервисы и т.д.

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

Почему ЦБ должна иметь доступ в интернет, почему ЦБ на платформе 8.х? Все очень просто – самый удобный способ обмена, это обмен при помощи веб-сервисов. А они появились с 8.х и требуют выход базы в интернет. О том как обезопасить себя, мы поговорим чуть позже.

См. также

Лучшие комментарии

24. Evgen.Ponomarenko 23.12.2013 21:17
Зачетно!
Жаль, что нельзя поставить 3 плюса - один за актуальность, второй за полноту, третий за качество.
Ответили: (25)
# Ответить
5. maxx 23.12.2013 11:46
Спасибо!!! Интересно

Сам написал приложение для автоматизации работы контролеров в сфере ЖКХ на платформе 1С. Работает уже более 3 месяцев, полет нормальный. Работает на Samsung Galaxy Tab 2.0.

За время работы пару раз зависало приложение. Жалеем, что нет вспышки, т.к. в функционале заложена передача фото и видео в центральный офис (но фотки часто мутные).

Вопросы хотелось бы ещё осветить:

1.) Обновление пакетов apk удаленно. Всё таки свой ярлычок приложения хочется, а не 1С.
2.) Резервное копирование базы на планшете, телефоне есть? Если нет, то самим как-то выгрузить данные например в xml?
3.) Про медиа файлы. Сейчас как я знаю, нельзя настраивать качество ни фото, ни видео. Иногда нужно больше разрешение
4.) Про GPS - опыт использования. Как контролировать включен GPS или нет. Например, торг.представитель не хочет, чтобы за ним "следили" взял выключил, а потом скажет что там GPS не работал и он не при чем.
5.) Немного о компиляции пакетов. Могут ли декомпилировать? Какая сложилась культура с мобильными приложениями в плане, нужно ли предоставлять исходники (cf) тем, кто внедряет?
Ответили: (9) (89)
# Ответить
7. awk 23.12.2013 12:26
(0) Маленький коммент, по эмулятору. Лучше использовать Virtual Box, VMVare или VirtualPC с установленной на них Android x86. Для написания и отладки кода этого хватит в 80-90% случаев. Просто qemu (эмулятор от гугла) тормозит при старте безбожно (а оптимизацию и критичные куски[камера, вибратор и п.р.] лучше все равно отлаживать на реальном железе).
Ответили: (9)
# Ответить
134. DitriX 12.09.2014 13:45
(132) Разберетесь, вы еще погодите, я сейчас описываю новую функцию мобильной платформы - ЗапускПриложенияМобильногоУстройства, которая позволяет взаимодействовать с другими приложениями и получать от них ответ. Так как там вообще я буду говорить и о программировании в Андроид, во всяком случае об азах, так как иначе никто нифига не поймет :)

Тут все дело не в 1С, а в том, что нет у людей осознания того - что такое мобильная экосистема и как она взимодействует друг с другом :)
Ответили: (135)
# Ответить
65. valeriy-vm 06.02.2014 08:26
(64)Из лога видно что весь этап сборки прошел удачно, но нет самой сборки т.е. записанных файлов на диск. В программе сборщика выдавалось сообщение что "Мобильное приложение собрано с ошибками".
Переменные среды меняются в настройках винды свойства системы - дополнительно - кнопка "переменные среды", меняем расположение "темр" папки.
Ответили: (70)
+ 2 [ dunpil; SyachinS; ]
# Ответить

Комментарии

1. Алексеенко Павел (qwinter) 23.12.2013 09:11
Заголовок берется из свойств формы согласно приоритетам как я расписал в картинке, т.е. вначале программа берет Расширенное представление и т.д. Поведение идентично стационарной платформе, однако иногда про это забывают.
Если расширенное представление и синоним пустые, то и заголовок пустой.
Ответили: (9)
# Ответить
2. Батанов Сергѣй (baton_pk) 23.12.2013 09:16
Вдохновляет!
# Ответить
3. Новиков Алексей (Новиков) 23.12.2013 09:45
Спасибо за статью!
+ 1 [ Мах; ]
# Ответить
4. Волин Андрей (kser87) 23.12.2013 10:26
Спасибо! Пригодится!!
# Ответить
5. Goncharov Maxim (maxx) 23.12.2013 11:46
Спасибо!!! Интересно

Сам написал приложение для автоматизации работы контролеров в сфере ЖКХ на платформе 1С. Работает уже более 3 месяцев, полет нормальный. Работает на Samsung Galaxy Tab 2.0.

За время работы пару раз зависало приложение. Жалеем, что нет вспышки, т.к. в функционале заложена передача фото и видео в центральный офис (но фотки часто мутные).

Вопросы хотелось бы ещё осветить:

1.) Обновление пакетов apk удаленно. Всё таки свой ярлычок приложения хочется, а не 1С.
2.) Резервное копирование базы на планшете, телефоне есть? Если нет, то самим как-то выгрузить данные например в xml?
3.) Про медиа файлы. Сейчас как я знаю, нельзя настраивать качество ни фото, ни видео. Иногда нужно больше разрешение
4.) Про GPS - опыт использования. Как контролировать включен GPS или нет. Например, торг.представитель не хочет, чтобы за ним "следили" взял выключил, а потом скажет что там GPS не работал и он не при чем.
5.) Немного о компиляции пакетов. Могут ли декомпилировать? Какая сложилась культура с мобильными приложениями в плане, нужно ли предоставлять исходники (cf) тем, кто внедряет?
Ответили: (9) (89)
# Ответить
6. Овсянкин Андрей (Evil Beaver) 23.12.2013 12:01
tl;dr Статья наверняка хорошая, хоть и не читал. Плюс.
# Ответить
7. Казьмин Василий (awk) 23.12.2013 12:26
(0) Маленький коммент, по эмулятору. Лучше использовать Virtual Box, VMVare или VirtualPC с установленной на них Android x86. Для написания и отладки кода этого хватит в 80-90% случаев. Просто qemu (эмулятор от гугла) тормозит при старте безбожно (а оптимизацию и критичные куски[камера, вибратор и п.р.] лучше все равно отлаживать на реальном железе).
Ответили: (9)
# Ответить
8. burlakov mikhail (burlakov) 23.12.2013 12:37
спасибо очень хороший материал. даже как-то в голову не приходило, что можно использовать связку цб на 8.2 и мобильное приложение.
Ответили: (10)
# Ответить
9. Шерстобитов Дмитрий (DitriX) 23.12.2013 12:40
(1) Спасибо. Надо проверить.
(5)
1. В чем проблема свой ярлык поставить? Вы про иконку?
2. Резервного нет. Но база доступна в рут зоне. База фаловая, можно скопировать на комп и, например, заюзать тул1с иди чекдб. Однако просто в конфигураторе не откроете. Но если посидеть, то можно и это.
Соответственно, если девайс рутнутый, то можно поставить демона, который будет сливать с рут зоны базу, например в дроп фолдер.
3-4.Ну тут пока глухо. Однако нарвался недавно на интересный пост http://infostart.ru/public/242727/. Решение через Ж, но это не вина автора, а вина 1С, которая не сделала еще апи никакого.
5. Вашу логику - да. Ну а механику 1С - врядли, но вам от этого ни холодно ни жарко. Т.е. если речь идет о том, что бы с компилированного вами приложения увели конфу - 99% уверен что да, но сам еще не проверял. Та и сами проверьте, просто откройте приложение как архив и увидите все.

(7) Это то, что приходит с опытом. Почему я указал AVD - потому что 1С сказали, что гарантируют максимальную совместимость именно с этой базой. Т.е. например в блюстаке вылетает при прокрутке, а в AVD - нет. И, на сколько я понял, они тоже тестят под AVD. Отсюда и выбор о чем писать.
Ответили: (12)
# Ответить
10. Шерстобитов Дмитрий (DitriX) 23.12.2013 12:42
(8) дальше мы напишем много чего интересного. Включая механизмы взаимодействия между базами на мобильнике :)
Но на это надо время. Писать абы что - не хочу. А на качественный продукт - надо время :)
# Ответить
11. Goncharov Maxim (maxx) 23.12.2013 13:07
Резервного нет. Но база доступна в рут зоне. База фаловая, можно скопировать на комп и, например, заюзать тул1с иди чекдб. Однако просто в конфигураторе не откроете. Но если посидеть, то можно и это.
Соответственно, если девайс рутнутый, то можно поставить демона, который будет сливать с рут зоны базу, например в дроп фолдер.

Мало, что из этого понял особенно про Tool1C, база на телефоне обыкновенная файловая? Может не так выразился. Нужно делать копии баз на телефоне хотя бы раз в день (базы ведь небольшие), в идеале на sd-карту. Далее берешь как-нибудь эту копию, копируешь к себе на комп и смотришь, что в телефоне база содержала неделю назад.
Ответили: (13)
# Ответить
12. Goncharov Maxim (maxx) 23.12.2013 13:11
(9)1. В чем проблема свой ярлык поставить? Вы про иконку?
Да про иконку, чтобы пользователь ничего на телефоне не делал. Т.е. как установить чисто мобильную платформу 1С со своим ярлыком и ещё чтобы прописала сама себя путь http:// к приложению.
Ответили: (13)
# Ответить
13. Шерстобитов Дмитрий (DitriX) 23.12.2013 13:29
(11) Ну тогда уточните - где вы перестали понимать, и я постараюсь объяснить более детально :)
База на телефоне файловая, но не обычная. Т.е. открыть ее при помощи 1С предприятия - нельзя. Но ее можно протестировать и исправить ошибки, а так же просто сжать при помощи C:\Program Files (x86)\1cv8\8.3.4.365\bin\chdbfl.exe. Эту базу можно открыть при помощи Tool1C, и просмотреть данные. Отсюда я делаю вывод, что надо изменить некий триггер и базу можно открыть будет в 1С Предприятие.

База находится на рутованном разделе устройства. Т.е. просто так, без рута, ее не достать. Что такое рут в телефоне - это уже в инете читайте.

(12) так нельзя, это уже скомпилированная платформа, без вскрытия кода 1С - ничего не выйдет, увы... Хотя, может я просто не знаю как :)
Ответили: (14)
# Ответить
14. Казьмин Василий (awk) 23.12.2013 14:16
(13) DitriX, Что бы открыть базу в 1С надо добавить системных таблиц. Триггер - это нечто другое.
Ответили: (15)
# Ответить
15. Шерстобитов Дмитрий (DitriX) 23.12.2013 14:26
(14) ну я не смотрел детально. Я думал, что достаточно изменить некое поле в хекс редакторе и все встанет на свои места, по аналогу с таблицей пользователей. Если вы знаете точно, что надо сделать - просветите :)
Ответили: (17)
# Ответить
16. Белоусов Алексей (AllexSoft) 23.12.2013 15:03
Занятная статья, ждем продолжения! И все таки мне непонятно почему 1С не дало роли, хотя бы без RLS, для меня это критичнее даже отчетов
Ответили: (19)
# Ответить
17. Goncharov Maxim (maxx) 23.12.2013 15:18
(15) Т.е. 1С об этом не подумала как работать с копиями таких баз уже на ПК?
Ответили: (19)
# Ответить
18. Дячок Сергей (DyachokSF) 23.12.2013 15:25
Спасибо за статью! А документаия от 1С есть. А то не могу найти.
Ответили: (19) (20)
# Ответить
19. Шерстобитов Дмитрий (DitriX) 23.12.2013 16:20
(16) потому что это лишнее. Т.е. единственное на что можно использовать роли - это видимость данных.
Но поймите одну истину - это мобильный телефон, т.е. на него имеет смысл передавать только доступные человеку данные, ничего лишнего, иначе теелфон быстро устанет.
Хотя 1С планирует сделать роли, но я, если честно, считаю это лишним.
Все просто до сих пор мыслят в масштабах персонального компа.
(17) Ну думаю что придумают что то. А пока только так. При чем не забывайте, если говорить про андроид - то там много чего реально сделать, но из-за iOS приходится от много отказаться.
(18) Нету, пока нету. Ту методичку что прислали мне по курсам онлайн - без самих курсов очень тяжело будет понять.
Ответили: (21) (27) (28)
# Ответить
21. 1 Алексей (AlX0id) 23.12.2013 16:28
(19) DitriX,
Но поймите одну истину - это мобильный телефон

Пока, как я понимаю, в основном - это планшет все же ) Но и планшет, и мобильник, если это собственность предприятия, могут пойти по рукам, так что, возможно, роли и не помешают.
Хотя, соглашусь, 1с и так слишком тормознута на андроидемобильном девайсе, чтобы перегружать ее излишним функционалом..
Ответили: (22)
# Ответить
22. Шерстобитов Дмитрий (DitriX) 23.12.2013 16:37
(21) вы сделайте замеры производительности и поймете - что не важно, планшет это или телефон, по любому оно медленно.
Хотя, если у вас база на компе до 500Метров, то ее можно и на телефон перенести, было бы интересно посмотреть на скорость работы :)
Ответили: (23)
# Ответить
23. 1 Алексей (AlX0id) 23.12.2013 16:43
(22) DitriX,
Я как бы не столько про производительность, сколько про микроскопичность интерфейса )
Замер - будет время, сделаю.. На гэлэкси таб2 и на fly iq 440 ) Но думается мне, что различие-то все равно будет..
# Ответить
24. Пономаренко Евгений (Evgen.Ponomarenko) 23.12.2013 21:17
Зачетно!
Жаль, что нельзя поставить 3 плюса - один за актуальность, второй за полноту, третий за качество.
Ответили: (25)
# Ответить
25. Шерстобитов Дмитрий (DitriX) 23.12.2013 21:34
(24) спасибо :) Рад что понравилось :)
# Ответить
26. Барилко Виталий (Diversus) 23.12.2013 22:39
Дмитрий! Статья как всегда на высоте! Побольше бы таких обзоров!
# Ответить
27. Белоусов Алексей (AllexSoft) 23.12.2013 23:29
(19) DitriX, возможно, но разделение по ролям это настолько базовый принцип в платформе еще со времен 7.7 что многие не представляют как без него работать... самый очевидный вопрос "ну не писать же приложение для зав складом, обычного кладовщика, менеджера по закупкам и тд..."
# Ответить
28. Шерстобитов Дмитрий (DitriX) 23.12.2013 23:52
(27) именно так :) вы все верно поняли. Для каждого свое. Просто надо понимать, что телефон/планшет - это в первую очередь персональное устройство.
Т.е. вам, по сути, не хватает тонкого клиента :)
И вроде сказали что эта идея у них (1С) тоже есть.
Ответили: (31)
# Ответить
29. Зубцов Александр (iov) 24.12.2013 02:54
Отличная статья. Откуда время брат?
# Ответить
30. Андрей (AKV77) 24.12.2013 09:33
Спасибо, на данный момент нет задач для реализации, но "Знание -Сила". Спасибо !
# Ответить
31. Белоусов Алексей (AllexSoft) 24.12.2013 10:05
(28) DitriX,
Просто надо понимать, что телефон/планшет - это в первую очередь персональное устройство.
в плане бизнеса как правила наоборот, у нас например ноутбуки и планшеты выдают админы по мере надобности, так что что тебе попадет именно тот планшет в следующий раз вообще не факт
# Ответить
32. Сисой Сисой (Сисой) 24.12.2013 11:00
Спасибо! Респектище!
Автор, Вам не кажется, что весь этот процесс напоминает закат солнца вручную и идет вразрез с парадигмой быстрой разработки, присущей 1С? Т.е. модную и необходимую нынче возможность кое-как, с использованием сторонних решений, прилепили к платформе?
Я бы без крайней необходимости этим заниматься не буду, лучше подожду пару лет.
В памяти всплывают конец восьмидесятых и процесс отладки и линковки машинного кода при помощи магнитофона Электроника-302 :-)....
Ответили: (33)
# Ответить
33. 1 Алексей (AlX0id) 24.12.2013 11:31
(32) Сисой,
А Вы попробуйте %) На самом деле, только звучит сложно )
Если не нужна apk - бОльшая часть пунктов легко опускается.
# Ответить
34. Алексей (artspeed) 24.12.2013 15:13
Единственное, так и не понял одну вещь:

Допустим у меня iphone5 c ios7. Как мне залить на телефон мобильную платформу? Получается, что мне ее придется регистрировать на appstore? (о джейл брейке даже не думаю, так как это плохо).

Правильно, или я ошибаюсь?
Ответили: (35)
# Ответить
35. Шерстобитов Дмитрий (DitriX) 24.12.2013 15:27
(34) абсолютно верно. Но тут две проблемы:
1. Вы не сможете там зарегестрировать платформу разработчика, на сколько я понимаю.
2. Тогда вам придется каждую новую версию приложения компилировать (а сами понимаете это не дешевое удовольствие) и выкладивать туда, потом скачивать и т.д.

С джейлбрейком можно проще сделать. Короче, в любом случае - все сводиться к программированию под андроид и только потом переносом на iOS. Как то так :)

А iOS лично мне не интересен, у меня нет ни одной их продукции и протестировать и поиграться не могу, увы...
# Ответить
36. Goncharov Maxim (maxx) 25.12.2013 11:22
Я бы ещё почитал бы размышления о том, как продавать мобильное приложение , как лицензировать и защищать.

Как гарантировано сделать, чтобы у тебя безконтрольно не пользовались твоим приложением бесплатно?
Ответили: (40)
# Ответить
37. Алексеенко Павел (qwinter) 25.12.2013 11:30
Я бы ещё почитал бы размышления о том, как продавать мобильное приложение , как лицензировать
Связываетесь с 1С и просите разрешения на продажу.
Как гарантировано сделать, чтобы у тебя безконтрольно не пользовались твоим приложением бесплатно?
никак.
Ответили: (38)
# Ответить
38. Goncharov Maxim (maxx) 25.12.2013 11:36
(37)
никак

Ну почему же у Агент:Плюс например есть система лицензирования:привязка приложения к устройству + сервер лицензирования для активации.

Т.е. возможно
# Ответить
39. Khorkov Ivan (vano-ekt) 25.12.2013 13:54
Купили русские программеры iPad.
Запили приложение на Эклипсе.
"ЖЖЖЖЖ" - сказал iPad.
"у, бл*!" - сказали русские программеры
Запилили на XCode.
"ЖЖЖЖЖ" - сказал iPad.
"у, бл*!" - сказали русские программеры
Запилили на Visual Studio.
"жжжжж" - сказал iPad.
"у, бл*!" - сказали русские программеры
Запилили на 1С.
"д - д! - сказал iPad..
"А, бл*!" - обрадовались русские программеры
# Ответить
40. Khorkov Ivan (vano-ekt) 25.12.2013 13:59
(36)
Как гарантировано сделать, чтобы у тебя безконтрольно не пользовались твоим приложением бесплатно?

Saas
+ 1 [ baton_pk; ]
# Ответить
41. 26.12.2013 23:53
Труд монументальный!
# Ответить
42. Смирнов Сергей (andogskiy) 30.12.2013 11:26
Спасибо, очень полезная статья. Только с компиляцией приложения, по-моему, описка:MobileAppMaker - это внешняя обработка, а не конфигурация.
Ответили: (43)
# Ответить
43. Шерстобитов Дмитрий (DitriX) 30.12.2013 13:04
(42) до версии 8.3.3 - была обработка, теперь это конфигурация, которая лежит в том же архиве :)
# Ответить
44. Смирнов Сергей (andogskiy) 30.12.2013 13:27
(43) DitriX,
Странно. У меня версия 8.3.3.42 (скачана с оф.сайта, актуальная на сегодня) и в дистрибутиве только внешняя обработка.
Ответили: (45) (47)
# Ответить
45. Шерстобитов Дмитрий (DitriX) 30.12.2013 13:53
(44)
Предупреждаю! Вся информация описанная тут – касается только ОС Андроид!
Версия платформы 1С 8.3.4.365, версия мобильной платформы 1С 8.3.4.9.

Это написано в заголовке циклов, ссылка на который идет в анонсе статьи.
Ответили: (46)
# Ответить
46. Смирнов Сергей (andogskiy) 30.12.2013 14:24
(45) DitriX, сорри, не обратил внимания.
# Ответить
47. Шерстобитов Дмитрий (DitriX) 30.12.2013 14:27
(44) качайте тестовый релиз. 1С вообще странно себя повело в этом плане.
У мобильной платформы и стационарной платфроме - должны совпадать первые 3 номера версии, например - если стационарная платформа 8.3.4.465, то мобильная должны быть 8.3.4.ХХХ, но никак не 8.3.3.ХХХ, а у 1С все как то через Ж, релиз стационарной - сделали, а мобильной нет.
Если вы программируете на 8.3.4 под мобильную 8.3.3, то можете столкнуться с тем, что некоторые функции работать не будут в мобильнике.
# Ответить
48. Крестьянкина Татьяна (oleg212) 02.01.2014 23:45
Зачетная и монументальная статья!
Огромное спасибо автору за проделанную работу!
# Ответить
49. Пруцков Станислав (Stan) 10.01.2014 19:07
Огромное спасибо автору. Хорошая статья и главное актуальная. Как раз начинаю разбираться с мобильной платформой.
# Ответить
50. Федоров Валерий (barelpro) 11.01.2014 13:32
Автору спасибо за труд, внушает!

Есть маленький вопросик - как вы получили ключ для работы с картами Google? Вы пробовали с этим ключом открывать карту, она работает?
Ответили: (51)
# Ответить
51. Шерстобитов Дмитрий (DitriX) 11.01.2014 15:17
(50) этим вопросом еще не занимался. И он меня ставит в ступор, ибо с 3 версии гугло карт - никакой ключ не требуется.
Хотя, с другой стороны - если вы собираетесь требовать плату за свое приложение, то вы нарушаете условия гугла, т.е. вам надо купить гугло карты у них. И видать этот ключ именно для этого предназначен :).

http://www.google.com/enterprise/mapsearth/products/mapsapi.html?rd=1#display=cs-dialog-complete

Или же 1С использует старое апи. Тут уже хз. Надо разобраться, но это по плану в дальнейших статьях, пока вторую статью допиливаю :)
Ответили: (52)
# Ответить
52. Федоров Валерий (barelpro) 11.01.2014 16:13
(51) DitriX,

Одинесы используют 2 версию. Если интересно, я шел примерно таким путем:

cloud.google.com/console

создаем новый проект

в списке APIs включаем статус у "Google Maps Android API v2"

и в разделе "Registered apps " регистрируем новое приложение на платформе Android - Accessing APIs directly from Android

заполняем поля:

Package name = Псевдоним ключа разработчика для ОС Android

SHA1 fingerprint = Хэш SHA1 ключа разработчика

в результате получаем API Key, это и есть ключ для работы с картами Google
# Ответить
53. Игликов Элвис (Elvisnya) 12.01.2014 00:51
Спасибо за статью! Очень понравилась!

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

Нашёл на ИТС:
При разработке мобильного приложения необходимо учитывать ограничения, которые накладывает мобильная платформа по сравнению с платформой «1С:Предприятие» для персонального компьютера: Отсутствие средств отладки мобильного приложения
# Ответить
54. Пруцков Станислав (Stan) 12.01.2014 21:17
По кнопке "собрать приложение" - выдает ошибку "Не установлен сертификат разработчика". Делал все по инструкции, что не так? Галка "для ОС IOS" не стоит.
Ответили: (55)
# Ответить
55. Шерстобитов Дмитрий (DitriX) 13.01.2014 01:05
(54) проверьте еще раз ключ, и убедитесь что он подключен. Ну а вообще - откройте конфигуратор - гляньте где эта ошибка и поймете чего не хватает.
Ответили: (57)
# Ответить
56. Лебедев Виктор (eeeio) 13.01.2014 10:16
Коллеги, уже не первый раз вижу отсылку к демо-конфигурации "Заказы", но на диске ИТС ее почему-то не нашел. Выложите куда-нибудь, пжл, у кого она есть. И да, статья отличная.
Ответили: (59)
# Ответить
57. Пруцков Станислав (Stan) 13.01.2014 21:31
(55) Заново создал ключ разработчика. Все получилось. Спасибо.
# Ответить
58. Свет Игорь (igorsvet2011) 17.01.2014 13:39
Спасибо за статью!
Очень подробно и обстоятельно.
# Ответить
59. Шерстобитов Дмитрий (DitriX) 17.01.2014 13:56
(56) пишите мне на мыло qww собака ukr точечка net
# Ответить
60. Недавний Игорь (INed) 20.01.2014 00:01
Спасибо большое за обстоятельный материал! При совершенно небольшом опыте программирования на УФ после прочтения статьи в течении 1 дня создал свое МП. Осталось только сделать обмен ЦБ с МП :) Могли вы бы вы посоветовать такой материал? Где можно посмотреть каким образом это лучше делать? Через Планы обмена, веб-сервисы?
Ответили: (61)
# Ответить
61. Шерстобитов Дмитрий (DitriX) 20.01.2014 00:42
(60) это все в планах. Пишу пока есть свободное время :)
# Ответить
62. Мартиков Валера (valeriy-vm) 05.02.2014 17:35
Что-то не пишет что "Мобильное приложение собрано с ошибками". В логе вот что:
Версия мобильной платформы : 8.3.4.14
Графическая информация :
Путь к Android SDK : C:\MobilePl\soft\sdk
Путь к Apache Ant : C:\MobilePl\soft\ant
Путь к JAVA : C:\MobilePl\soft\jdk
Распаковка мобильной платформы
Распаковка мобильной конфигурации: 0
Распаковка картинки: Android\icon-36x36.png - отсутствует
Распаковка картинки: Android\icon-48x48.png - отсутствует
Распаковка картинки: Android\icon-72x72.png - отсутствует
Распаковка картинки: Android\icon-96x96.png - отсутствует
Распаковка картинки: Android\splash-320x480.png - отсутствует
Распаковка картинки: Android\splash-480x854.png - отсутствует
Распаковка картинки: Android\splash-640x960.png - отсутствует
Распаковка картинки: Android\splash-768x1024.png - отсутствует
Распаковка картинки: Android\splash-800x1280.png - отсутствует
Распаковка картинки: Android\splash-854x480.png - отсутствует
Распаковка картинки: Android\splash-1024x768.png - отсутствует
Распаковка картинки: Android\splash-1280x800.png - отсутствует
Распаковка картинки: Android\splash-1536x2048.png - отсутствует
Распаковка картинки: Android\splash-2048x1536.png - отсутствует
Установка полного идентификатора приложения: ru.zjbi.pro
Установка версии приложения: 0
Установка номера сборки приложения: 1
Подготовка файла управления сборкой: local.properties.xml
Подготовка файла управления сборкой: build.xml
Подготовка файла управления сборкой: make.bat
Начинается сборка

если не что не подскажите то сам буду копать дальше, но хочется магической подсказки)
Ответили: (63)
# Ответить
63. Мартиков Валера (valeriy-vm) 05.02.2014 17:50
(62) valeriy-vm, Все разобрался, проблема с доступом к temp у 1С, перенес переменные среды и все получилось)
Ответили: (64)
+ 1 [ DitriX; ]
# Ответить
64. Шерстобитов Дмитрий (DitriX) 05.02.2014 18:22
(63) опишите проявление проблемы и как вы догадались о том, как ее решить. Будет полезно для всех.
Ответили: (65)
# Ответить
65. Мартиков Валера (valeriy-vm) 06.02.2014 08:26
(64)Из лога видно что весь этап сборки прошел удачно, но нет самой сборки т.е. записанных файлов на диск. В программе сборщика выдавалось сообщение что "Мобильное приложение собрано с ошибками".
Переменные среды меняются в настройках винды свойства системы - дополнительно - кнопка "переменные среды", меняем расположение "темр" папки.
Ответили: (70)
+ 2 [ dunpil; SyachinS; ]
# Ответить
67. Бикбаев Равиль (BRT) 19.02.2014 17:08
(66) headMade,
О да.
Книги доступны, они мне первыми попались вместе с учебными материалами. Протестил - работает.
Для обучения в самый раз. Можно скачать демо базу и прочий необходимый материал.
# Ответить
68. Зеленский Макс (mzelensky) 01.03.2014 20:21
Мучаюсь с мобильным приложением. Уперся в очень элементарный вопрос, который не могу решить. Мне нужно указать файл (точнее путь к нему). В обычном режиме делается через

ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие)

Но в мобильном приложении НЕТ такого. И никак не могу найти аналог. Как все-таки поступить???
Ответили: (69)
# Ответить
69. Шерстобитов Дмитрий (DitriX) 01.03.2014 21:41
(68) если честно, я без понятия. Т.е. менеджера 1С для обзора структуры папок - нет в мобильнике. Но, вы можете указать жестко путь. Тут все связанно iOS, так как она не позволяет спокойно работать с разными папками приложению. Так что, я так думаю в качестве солидарности - они не сделали это в андроиде. Но, вы попрежнему можете указать прямой путь. Пример пути можете проверить при помощи команды КаталогДокументов, или что то типо того.
# Ответить
70. Алёхин Александр (new_user) 04.03.2014 09:35
(65) valeriy-vm, мне это не помогло с подобной ошибкой. Решение: 1) установить флаг "Для OC Android" и в "Настройки приложения" указать путь к "Кеш сборщика"
# Ответить
71. Linnik Galina (lgg) 06.03.2014 16:44
Большое спасибо. Все очень четко и понятно.
# Ответить
72. Иванов Александр (tunesoft) 22.03.2014 20:43
Мощная статья, спасибо.

Без конфигуратора в "Сборщик мобильных приложений" собрать приложение не получилось.

1. При создании ключа разработчика возникала ошибка, в 1С описание ошибки не показывается, покопался в модуле, оказалось, что длина пароля должна быть не менее 6 символов.

2. С настройкой путей к компонентам глупость какая-то, изначально установил все компоненты как мне удобнее в длинные каталоги, при нажатии на "Собрать приложение" возникает ошибка, в логах в последней строке были "поломанные" символы в непонятной кодировке, предположил что проблема с путями. Когда заменил длинные пути на короткие с помощью команды Windows subst.exe сборка приложения заработала.
Пример:
subst M: "C:\_Users\Petrov\1С\Типовые конфигурации\8.3 Мобильная платформа\AndroidSDK\adt-bundle-windows-x86-20131030"
После выполнения команды в Windows появится диск M, теперь в 1С в поле "Android SDK" можно прописать короткий путь "m:\sdk"
Ответили: (73)
+ 1 [ DitriX; ]
# Ответить
73. Шерстобитов Дмитрий (DitriX) 22.03.2014 21:27
(72) есть еще проблемы с именем пользователя, анпример, если он в крилице и с пробелами.
# Ответить
74. Иванов Александр (tunesoft) 22.03.2014 21:37
В статье используется Java версии 1.7, установил 1.8, приложение создаётся ок.
# Ответить
75. Иванов Александр (tunesoft) 22.03.2014 21:45
>Отчеты - это одна из самых главных функций, которые просто обязаны быть доступны на мобильнике.
>Я даже с ребятами как-то написал приложение, которое эмулировало СКД конструктор

Посоветуйте, пожалуйста, на сегодняшний день как лучше и проще строить отчёты в мобильном приложении в оффлайне ?
Ответили: (77)
# Ответить
76. Иванов Александр (tunesoft) 22.03.2014 21:51
В мобильном приложении в смартфоне не работает изменение масштаба окна 1С пальцами,
в полеhtmlдокумента в форме масштабирование работает,
это ограничение платформы 1С или как-то можно включить возможность масштабирования форм ?
Ответили: (77)
# Ответить
77. Шерстобитов Дмитрий (DitriX) 23.03.2014 12:11
(75) Создаете СКД на сервере, на клиенте рисуете форму отбора для отчета, передаете на сервер параметры отбора, сервер строит ответ, сериализует, помещает в хранилище и передает на клиент,а клиент просто его выводит в табличный документ.
(76) ограничение платформы.
# Ответить
78. Иванов Александр (tunesoft) 25.03.2014 21:26
Не удаётся найти как отправить push-уведомление для мобильного приложения на 1С ?
Ответили: (79)
# Ответить
79. Шерстобитов Дмитрий (DitriX) 25.03.2014 22:02
(78) Никак :) Во всяком случае - не средствами 1С:)

Такое нельзя, хотя я знаю как, но об этом расскажу позже. Ну и 1С в 8.3.5 что то такое вроде тоже обещали :)
Ответили: (80)
# Ответить
80. Иванов Александр (tunesoft) 26.03.2014 09:53
(79) DitriX, а можете кратко подсказать где копать ? Спасибо.
Ответили: (81)
# Ответить
81. Шерстобитов Дмитрий (DitriX) 26.03.2014 11:59
(80) стороний софт. Потом напишу отдельную статью на эту тему.
# Ответить
82. Племянников Сергей (Serge_ASB) 27.03.2014 09:01
Добрый день.
Скажите, а продолжение "банкета", про обновление мобильной базы из ЦБ будет?
Как раз очень интересует механизм реализации работы нескольких агентов с данными центральной базы - через веб интерфейс или через обмен (так было б даже лучше). А на этом месте статья как раз и заканчивается.
# Ответить
83. Симонян Андраник (SmokeAce) 18.04.2014 02:01
Очень подробно, качественно и главное доступно! Спасибо!
# Ответить
84. Галюк Сергей (dj_serega) 05.05.2014 17:14
А как получить IMEI мобильного аппарата?
Системная информация не помогла.
# Ответить
85. rasswet (rasswet) 14.05.2014 11:52
очень детально, может когда-то руки дойдут этим заняться, начну с вашей статьи! Спасибо!
# Ответить
86. Ширипов Александр (shira84) 30.05.2014 10:59
Че за? При загрузке конфигурации в мобильное приложение выходят ошибки.
1) Если попутно опубликован и веб-клиент то ошибка неверный формат конфигурации
2) Если толmко мобильное тогда ошибка 500, а браузер ругается на отсутствие default.vrd
На iis wsisapi.dll привязан.
PS через web все работает и на localhost и снаружи
Ответили: (87)
# Ответить
87. Шерстобитов Дмитрий (DitriX) 31.05.2014 13:16
(86) а публикация с разными именами?
Ответили: (91)
# Ответить
88. Минних Инесса (inesik) 25.06.2014 12:03
На андроиде на слово "следующий()" почему-то ругается, не пойму, хотя в справке написано, что оно используется на мобильной платформе на сервере. Почему так и как исправить, кто знает?
Ответили: (90)
# Ответить
89. Минних Инесса (inesik) 25.06.2014 12:04
(5) maxx, для какой партии писал приложение, если не секрет? У меня сейчас на работе стоит такая же задача, но не очень то получается, первый раз работаю с мобильной платформой, ты не мог бы мне помочь, отправить конфигурацию посмотреть, как сделано на inessa.minnih@gmail.com ?
# Ответить
90. Шерстобитов Дмитрий (DitriX) 25.06.2014 14:20
(88) ну для начала надо привести кусок кода и указать версию платформы и саму ошибку :)
У меня с этой опцией проблем не было.
# Ответить
91. Ширипов Александр (shira84) 30.06.2014 08:44
(87) DitriX, Да уже все перепробовал, как только не называл, ошибка "внутренняя ошибка сервера (500)"
# Ответить
92. Шерстобитов Дмитрий (DitriX) 30.06.2014 12:45
Хм, тогда надо смотреть. Так сказать что сложно. Если хотите - можете мне стукнуть в скайп ditrixnew, и подключусь по тимке, посмотрим.
# Ответить
93. Копасов Дмитрий (DmitriiKopasov) 25.07.2014 14:10
Статья очень хорошая. Подписался.
Но у меня так и не вышло установить БД на смартфон. Платформа установилась, создал базу под моб. платформа (все согласно инструкции), попытался подключить эту базу на смартфоне. В итоге выдает сообщение "Возможность не реализована (или как-то на подобии) (501)" и нечего не получается. Версии платформ самые последние.
Буду благодарен на подсказку.
Ответили: (94)
# Ответить
94. Шерстобитов Дмитрий (DitriX) 25.07.2014 16:39
(93) сложный вопрос, а просто через браузер что показывает?
Ответили: (96)
# Ответить
95. AtSer (atser) 26.07.2014 07:57
Ребята, подскажите почему всегда выходит меню функций, а не форма рабочего стола? Хотя форма рабочего стола определена. Спасибо.
Версия Android 4.1.2
Версия Мобильного приложения 8.3.4.22

http://s017.radikal.ru/i441/1407/3e/ff4f39fa6670.png
Ответили: (97)
# Ответить
96. Копасов Дмитрий (DmitriiKopasov) 28.07.2014 09:21
(94) DitriX, через браузер на смартфоне или на компе?
Ответили: (97)
# Ответить
97. Шерстобитов Дмитрий (DitriX) 28.07.2014 12:45
(95) а стационарная версия какая?
(96) и там и там
# Ответить
98. Трач Виталий (vitalya24) 29.07.2014 17:05
Аналогичная ситуация, рабочий стол не показывается...
Ответили: (99) (100)
# Ответить
99. Шерстобитов Дмитрий (DitriX) 30.07.2014 11:23
(98) ну так прикрепите конфу, скажите версию мобильной платформы, и посмотрим :)
# Ответить
100. Трач Виталий (vitalya24) 30.07.2014 16:56
(98) vitalya24, платформа 8.3 (8.3.5.1088).
Сейчас сделал костыль, при начале работы системы написал ОткрытьФорму...
Версия мобильной платформы 8.3.4.22

Прикрепленные файлы:

1Cv8.cf
# Ответить
101. Евгений (Scop) 30.07.2014 16:19
Пожалуй лучшая статья по мобильной платформе 1С!
# Ответить
102. Полтава Александр (Патриот) 25.08.2014 18:03
Тоже хотелось бы попробовать, что это за чудо дивное, но, к сожалению, ссыль на мобильную платформу 8.3.4.9. не работает =((
# Ответить
103. Amirxanyan Davit (Davidmad777) 03.09.2014 15:25
можете помочь? пожалуйста.
Сборщик = Новый ЗаписьТекста(РабочийКаталог+"make.bat", КодировкаТекста.OEM);
На выполнение етой строки

выдает ошибку на ету строку можете помочь

1c Вылетает
1c has stopped working
Ответили: (104)

Прикрепленные файлы:

Capture1.JPG
Capture.JPG
# Ответить
104. Шерстобитов Дмитрий (DitriX) 03.09.2014 17:31
(103) отладчиком пройдитесь - какой путь?
Есть в нем пробелы, криллица?
+ 1 [ Davidmad777; ]
# Ответить
105. Amirxanyan Davit (Davidmad777) 03.09.2014 15:48
"C:\Users\Mikael\AppData\Local\Temp\v8_6A9B_11.tmp\"
РабочийКаталог Вы ето имели в виду?
Ответили: (107)
# Ответить
106. Amirxanyan Davit (Davidmad777) 03.09.2014 16:51
Problem signature:
Problem Event Name: APPCRASH
Application Name: 1CV8C.exe
Application Version: 8.3.4.482
Application Timestamp: 535f2a9f
Fault Module Name: ext.dll
Fault Module Version: 8.3.4.482
Fault Module Timestamp: 535f3285
Exception Code: c0000005
Exception Offset: 000036c0
OS Version: 6.1.7600.2.0.0.256.1
Locale ID: 1067
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
# Ответить
107. Шерстобитов Дмитрий (DitriX) 03.09.2014 18:51
(105) что то мне подсказывает что проблема с доступом 1С к той папке. Попробуйте два пункта:
1. Запустить 1С от администратора
2. Изменить путь к рабочему каталогу и сделать его неким более коротким и не на диске С.
# Ответить
108. Amirxanyan Davit (Davidmad777) 03.09.2014 16:53
От имени Админа не помагает
Ответили: (109)
# Ответить
109. Зеленский Макс (mzelensky) 03.09.2014 16:59
(108) Сталкивался с такой проблемой. Это ошибка доступа к темповским файлам. Запуск от админа не помогает. Решение:
1) Взять более свежую версию сборщика (в новой версии можно руками задавать каталоги темпа)
2) Заменить в конфигурации сборщика строки, где получают каталоги темпа на свои каталоги (я так делал - помогло).
Ответили: (111)
+ 1 [ Davidmad777; ]
# Ответить
110. Amirxanyan Davit (Davidmad777) 03.09.2014 17:01
а как изменить Переустановить?
# Ответить
111. Amirxanyan Davit (Davidmad777) 03.09.2014 17:05
(109) mzelensky,
На какие Свои Каталоги
Извените Просто я Новичок
Ответили: (113)
# Ответить
112. Amirxanyan Davit (Davidmad777) 03.09.2014 17:07
В етом Сборщике Правилно?

Прикрепленные файлы:

Capture3.JPG
# Ответить
113. Шерстобитов Дмитрий (DitriX) 03.09.2014 19:27
(111) все заивисит от версии конфигурации и 1С, если версии последние, то достаточно просто указать путь к файлам сборки, он указывается в настройках.
Если же хотите играться со старой версией, то найдите в коде где определяется эта пременная РабочийКаалог и укажите жестко, что она равна, например, "E:\temp". Сейчас там, по идее, должна она определяться как катог временных файлов.
# Ответить
114. Amirxanyan Davit (Davidmad777) 03.09.2014 17:53
Версия 8.3.4.482 1с
# Ответить
115. Amirxanyan Davit (Davidmad777) 03.09.2014 17:59
Поменял и так не помагло
# Ответить
116. Amirxanyan Davit (Davidmad777) 03.09.2014 18:10
РабочийКаталог = ПолучитьИмяВременногоФайла() + "\";
Ответили: (117)
# Ответить
117. Шерстобитов Дмитрий (DitriX) 03.09.2014 21:44
(116) вот вместо этого напишите:
РабочийКаталог = "C:\temp\";
Например, или другой путь и проверьте потом.
Ответили: (118)
# Ответить
118. Amirxanyan Davit (Davidmad777) 04.09.2014 18:58
(117) DitriX,
Спасибо но не помагло
Ответили: (119)
# Ответить
119. Шерстобитов Дмитрий (DitriX) 04.09.2014 21:10
(118) ну тогда попробуйте обновить саму платформу, поставьте 8.3.5
# Ответить
120. Amirxanyan Davit (Davidmad777) 05.09.2014 10:24
Спаисибо попробую может поможет?
# Ответить
121. Amirxanyan Davit (Davidmad777) 05.09.2014 12:55
Версия 8.3.5.1119 Тоже не помог попробую мобилную платформу заменить
Ответили: (122) (123)
# Ответить
122. Зеленский Макс (mzelensky) 05.09.2014 13:03
(121) Причем тут мобильная платформа, если у тебя ошибка при сборке приложения?
# Ответить
123. Шерстобитов Дмитрий (DitriX) 05.09.2014 15:04
(121) надо обновить конфигурацию сборщика
Ответили: (124)
# Ответить
124. Amirxanyan Davit (Davidmad777) 05.09.2014 15:42
(123) DitriX,
Я ето и имел в виду Взять новою Конфигурацию посвежее
# Ответить
125. Полтава Александр (Патриот) 05.09.2014 21:47
(0) +, всё получилось в соответствии с мануалами)
+ 1 [ Davidmad777; ]
# Ответить
126. Amirxanyan Davit (Davidmad777) 09.09.2014 15:37
Извените но с новой конфигурацией тоже не получилось
Ответили: (127)
# Ответить
127. Шерстобитов Дмитрий (DitriX) 10.09.2014 16:20
(126) платформа так и падает в крит?
# Ответить
128. Amirxanyan Davit (Davidmad777) 11.09.2014 14:13
ЛогФайл.ЗаписатьСтроку(НСтр("en='Preparing build management file';ru='Подготовка файла управления сборкой'") + ": make.bat");
		Сборщик = Новый ЗаписьТекста(РабочийКаталог+"make.bat", КодировкаТекста.OEM);
		Сборщик.ЗаписатьСтроку("SET JAVA_HOME=" + Пути.JAVA);
		Сборщик.ЗаписатьСтроку("SET ANT_HOME=" + Пути.AntПуть);
		Сборщик.ЗаписатьСтроку("""" + Пути.Ant + """ release 1>> """ + ИмяЛога + """ 2>>&1");
		Сборщик.Закрыть();
...Показать Скрыть

В строке Сборщик новий запись Приложение Останавливаетса
Ответили: (129)
# Ответить
129. Шерстобитов Дмитрий (DitriX) 11.09.2014 18:50
(128) сложно вам чем то помочь через форум.
Добавьтесь ко мне в скайп (ditrixnew) и попробую чем то помочь удаленно. Подключюсь по тимке и посмотрю
# Ответить
130. Amirxanyan Davit (Davidmad777) 11.09.2014 18:50
Но мне На работе не Разрешают Пользоваться Скайпом
Но Очень Благодарен За помощ.
Ответили: (131)
# Ответить
131. Шерстобитов Дмитрий (DitriX) 12.09.2014 02:55
(130) жаль. Но помочь так я ничем вам и не смог :(
Ответили: (133)
# Ответить
132. Роза Алексей (DoctorRoza) 12.09.2014 08:14
Добрый день, Дмитрий! Я посмотрел первые 4 части курса по мобильной платформе (2 поток), чтобы составить первое впечатление. И, ИМХО, как-то все смахивает на изврат! Пишется много кода, попробуй тут с ходу разберись. Конечно, можно смело утверждать, что платформа молодая, до ожидаемого уровня еще далеко, но пока как-то все грустно! :|
Ответили: (134)
# Ответить
133. Amirxanyan Davit (Davidmad777) 12.09.2014 10:10
(131) DitriX,
Спасибо Очень.
# Ответить
134. Шерстобитов Дмитрий (DitriX) 12.09.2014 13:45
(132) Разберетесь, вы еще погодите, я сейчас описываю новую функцию мобильной платформы - ЗапускПриложенияМобильногоУстройства, которая позволяет взаимодействовать с другими приложениями и получать от них ответ. Так как там вообще я буду говорить и о программировании в Андроид, во всяком случае об азах, так как иначе никто нифига не поймет :)

Тут все дело не в 1С, а в том, что нет у людей осознания того - что такое мобильная экосистема и как она взимодействует друг с другом :)
Ответили: (135)
# Ответить
135. Роза Алексей (DoctorRoza) 12.09.2014 15:29
(134) DitriX, Возникает вопрос, почему основной камень преткновения для мобильной платформы - это ширина канала связи с внешним миром, а не правильность ее использования? Ведь, например, заливка на смартфон начального образа данных основной базы, будет с помощью wi-fi или usb в офисе или дома, ну не как через 3g, так зачем огород городить!? Не должен торговый агент, будучи в пути, закачивать данные себе, он должен закачивать от себя! Да, лично я пока не совсем понимаю мобильную платформу. :)
# Ответить
136. Шерстобитов Дмитрий (DitriX) 12.09.2014 22:10
потому что все зависит от базнесс процессов это раз.
А два - большой объекм данных, это и большой объекм загрузки данных в телефон, и все что вытекает отсюда.
Файловая база рассчитата на работу с 1 - 2 пользователями, тем не менее - ее используют до тех пор, пока не вырастут таблицы за 4 гига.
Это же 1С. Тут нет правильных путей, тут есть проблемы, которые надо решить.
Вот загрузили новый товар в базу, или пришли большие приходы. или надо передать документы контрагента, вот и упераемся в канал :)
Ответили: (137)
# Ответить
137. Amirxanyan Davit (Davidmad777) 18.09.2014 14:11
(136) DitriX, Можете Помочь
Это В СКД
ВЫБОР
КОГДА РасчетыСКлиентами.ВидДвижения = Приход ТОГДА РасчетыСКлиентами.Сумма
ИНАЧЕ - РасчетыСКлиентами.Сумма
КОНЕЦ
Выдает Ошибку
Как Сравнить
Ответили: (138)
# Ответить
138. Шерстобитов Дмитрий (DitriX) 18.09.2014 14:19
(137) Davidmad777, ну так вы хоть текст ошибки напишите.
И приведите весь запрос.
Ответили: (139) (140)
# Ответить
139. Amirxanyan Davit (Davidmad777) 18.09.2014 15:22
(138) DitriX,
Уже Решил Спасибо!!!!!!!!!!!
ВЫБОР
КОГДА РасчетыСКлиентами.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА РасчетыСКлиентами.Сумма
ИНАЧЕ - РасчетыСКлиентами.Сумма
# Ответить
140. Amirxanyan Davit (Davidmad777) 18.09.2014 15:24
(138) DitriX,
Ошибкой был
Не мог понять Значение Приход
Нужно Было писать ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) Вместо Приход.
# Ответить
141. Иванов Иван (akunamatata) 25.09.2014 14:37
DitriX,
А когда будет тема по безопасности взаимодействия мобильной платформы с вэб-сервером?
Мне вообще не понятно, как это можно организовать.
У нас в компании возможна публикация вэб-сервера через TMG (собственно, все опубликовано и работает через обычный вэб-браузер), но он в любом случае требует авторизацию под доменным пользователем, а в мобильной платформе указывается адрес сервера и данные уже пользователя 1С.
Можете помочь в этом вопросе, какие есть варианты?
Как вообще организовать безопасную публикацию мобильного приложения?
Ответили: (142)
# Ответить
142. Шерстобитов Дмитрий (DitriX) 25.09.2014 15:37
(141) Надо просто поднять тунель или впн.
Лучше конечно тунель. Вот программа для сервера, а вот для клиента
Все остальное уже подскажет спец по IT. Долго писать.
# Ответить
143. Иванов Иван (akunamatata) 25.09.2014 15:57
DitriX
А как можно поподробнее сконтактировать с Вами по данному вопросу?
Ответили: (144)
# Ответить
144. Шерстобитов Дмитрий (DitriX) 26.09.2014 14:45
(143) смотря что вам надо. Я основы могу конечно подсказать, но не так уж и глубоко :)
Мой скайп ditrixnew
# Ответить
145. Ким Виктор (victorkim64) 07.10.2014 17:04
Все сложно... опять начнутся 1С проблемы с закрытием кода, авторскими правами и прочие моменты... как и с этим сайтом... сейчас гугл налегает на студию, там все прозрачно, буду её осваивать....
Ответили: (146)
# Ответить
146. Шерстобитов Дмитрий (DitriX) 07.10.2014 21:44
(145) victorkim64, это вы о чем?
# Ответить
147. Галюк Сергей (dj_serega) 20.10.2014 14:04
А можно ли как-то вызвать "Состояние" на мобильном приложении?
СП не помог ;(

Описание:

Выводит текст в панель состояния.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент.
Ответили: (148)
# Ответить
148. Шерстобитов Дмитрий (DitriX) 20.10.2014 15:03
(147) боюсь что эта функция не доступна еще :(
# Ответить
149. Долиновский Евгений (Dolly_EV) 28.11.2014 15:46
Блин... Автор - это супер!! 3 часа назад все это - android, apache, мобильные приложения было для меня ТЕМНЫЙ ЛЕС. Теперь я сделал свое Первое мобильное приложение))
# Ответить
150. Антонов Антон (ong1990) 10.12.2014 13:43
а у меня ошибка при копировании файл work_aligned.apk. пишет файл не найден
# Ответить
151. Шерстобитов Дмитрий (DitriX) 10.12.2014 21:33
а какая версия сборщика?
# Ответить
152. Николаев Михаил (michael512) 30.01.2015 16:23
откуда скачать следующие файлы

o 1cem-arm.apkи 1cem-x86.apk - платформа разработчика.
o prjandroid-armи prjandroid-x86 - файлы для компиляции.

приведенная ссылка мертвая

на сайте 1С усиленно отсылают на плеймаркет, опять прямую же ссылку не дают, из приложений там только готовые, платформы нет
Ответили: (153)
# Ответить
153. Шерстобитов Дмитрий (DitriX) 30.01.2015 16:47
(152) они идут в комплекте, архив можно скачать с сайта 1с https://users.v8.1c.ru/distribution/total в разделе мобильной платформы.
Ну или взять с диска ИТС ну или попросить у друга :)
# Ответить
156. Бритько Анатолий (headMade) 29.06.2015 16:29
Подскажите а как вообще ключ поставщика перенести в др. конфигурацию "Сборщик мобильных приложений" ?
Я как понял там все файлы хранятся в регистре сведений Файлы. И надо оттуда вытащить файл key.key?

Еще файл key.key создается в "каталоге кеша сборщика". Его надо сохранить?

Есть какие - либо стандартные способы?
Ответили: (157)
# Ответить
157. Шерстобитов Дмитрий (DitriX) 29.06.2015 20:43
(156) стандартных - нету. Но можно нажать кнопку - расчитать хеш ключа, и в этот момент 1с выгрузит его в темп файлы, отладкой можно остановить и пока он не удалился - вытащить его оттуда.
# Ответить
158. Кайгородов Антон (Anton_81) 10.07.2015 16:28
Статья очень актуальная, расписал так рассписал
# Ответить
159. Пашутин Игорь (Alien_job) 05.10.2015 13:30
Подскажите, как победить "Выполнение операции завершено с ошибками: 1" при формировании ключа разработчика? Keytool из java sdk генерирует .keystore и при его загрузке в конфигурацию ничего не происходит (хеш ключа не отображается а по кнопке "Получить хеш ключа разработчика" та же ошибка 1).

upd: видимо в офисе 1с живут буквоеды, кушающие пробелы и какающие слешами =\

Небольшие правки в конфе и всё заработало. Актуально для 1.0.4.40

Общие модули/FileOperations/ Функция GenerateKeyFile

заменить
	" -storepass" + KeyParameters.Password +
	" -keypass" + KeyParameters.Password +
	" -keyalg RSA" +
	" -keysize 2048" +
	" -validity 10000" +
	" -dname" + dname;
на
	" -storepass " + KeyParameters.Password +
	" -keypass " + KeyParameters.Password +
	" -keyalg RSA" +
	" -keysize 2048" +
	" -validity 10000" +
	" -dname " + dname;

заменить
	Return TempFilesDir() + "\key.key";
на
	Return TempFilesDir() + "key.key";


Общие модули/FileOperations/ Функция GetSHA1Value

заменить
	" -storepass" + Password + " >" + WorkingFile + """";
на
	" -storepass " + Password + " >" + WorkingFile + """";
...Показать Скрыть
+ 1 [ nedopro; ]
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл