Разработка мобильных
приложений на
1С:Предприятие 8.3
Модуль 1
Общие понятия. Подготовка рабочего места
Проект Курсы-по-1С.рф
2016
Курсы-по-1С.рф Профессиональные курсы по 1С
по всей России, в любое время
Оглавление
Предисловие ................................................................................................................................................................ 3
Порядок изучения ........................................................................................................................................................ 3
Особенности мобильной платформы 1С ................................................................................................................... 3
Устройства, на которых доступна мобильная платформа........................................................................................ 4
«Мобильные» возможности мобильной платформы .............................................................................................. 5
Скорость мобильной платформы 1С .......................................................................................................................... 6
Где взять мобильную платформу? ............................................................................................................................. 9
Мобильная платформа для разработчиков и конечный релиз ............................................................................. 10
Эмуляторы мобильных устройств ............................................................................................................................ 11
Установка мобильной платформы для разработчиков на Android ....................................................................... 12
Если нет Android устройства.................................................................................................................................. 13
Установка мобильной платформы для разработчиков на iOS ............................................................................... 19
Создание аккаунта Apple ID ...................................................................................................................................... 19
Установка Xcode ..................................................................................................................................................... 20
Устанавливаем мобильную платформу на iOS устройство .................................................................................... 22
Если нет iOS устройства ......................................................................................................................................... 29
Установка стационарной платформы 1С ................................................................................................................. 42
Подготовка Android устройства для удаленной установки приложений ............................................................. 46
Подключение тестовой конфигурации .................................................................................................................... 49
Веб-сервер .................................................................................................................................................................. 52
Установка IIS ............................................................................................................................................................... 53
Установка Apache ....................................................................................................................................................... 59
Доступность сервера на мобильном устройстве .................................................................................................... 65
Подключение конфигурации в мобильную платформу через веб-сервер........................................................... 79
Заключение ................................................................................................................................................................ 83
Итоги ........................................................................................................................................................................... 84
Дополнения к модулю............................................................................................................................................... 84
Приложение 1. Виртуальная машина для Windows ........................................................................................... 84
Приложение 2. Устранение ошибок эмулятора Android – Genymotion ............................................................ 87
Приложение 3. Работа с ADB ................................................................................................................................ 88
Приложение 4. Самые частые ошибки в ADB ...................................................................................................... 89
Приложение 5. Ошибка при публикации конфигурации. Права доступа к папкам. ....................................... 93
Приложение 6. IP адрес компьютера ................................................................................................................... 95
Приложение 7. Что такое «порт», и для чего он нужен ..................................................................................... 98
Приложение 8. Виртуальная сеть между мобильным устройством и ПК ...................................................... 100
Страница 2 из 105
Предисловие
Для прохождения тренинга необходимо иметь стационарную и мобильную версию 8.3.7. Учебные
версии не подойдут, так как в них есть ограничения, которые не позволят успешно закончить данный
тренинг. На момент создания тренинга – платформы 8.3.7 не было, поэтому часть тренинга
написана на 8.3.6, однако, на это не стоит обращать внимание, а стоит сразу установить 8.3.7.
Не забудьте скачать раздаточные материалы, так как в тексте к ним будут даваться отсылки.
Порядок изучения
Данный модуль рассматривает все возможные варианты достижения конечной цели. Поэтому в нем
рассмотрены два веб-сервера (IIS и Apache), установка мобильной платформы на iOS и Android
устройства, а также работа с эмулятором. Но это вовсе не означает, что вам обязательно нужно
изучить и выполнить каждый пункт. Если у вас есть мобильное устройство на базе Android, то вы
смело можете пропустить главы, которые посвящены тому, как делать компиляцию под iOS
устройства или установку эмулятора. Однако все же рекомендуем с ними ознакомиться.
Мобильная платформа 1С – это набор инструментов, который позволяет создавать решения для
мобильных ОС.
Страница 3 из 105
Разработка решений под мобильную платформу ведется в том же самом конфигураторе 1С, что и
разработка обычных решений. В скором времени выйдет еще одна среда для разработок –
«1C:Enterprise Development Tools» на основе Eclipse.
Начиная с версии 8.3.7 – стали доступны устройства на Windows Phone 8.1 и выше.
От себя добавим, что этими устройствами могут быть не только смартфоны и планшеты, но и
разные другие устройства, на которых применение 1С «не совсем по назначению», создает новый
класс задач. Например, использование HDMI Android Stick поможет превратить обычный монитор в
информационную панель, на которой можно отображать сведения для персонала или рекламу для
клиентов, и управлять этим всем при помощи мобильной платформы.
Страница 4 из 105
Страница 5 из 105
Однако все это не имеет смысла, если 1С будет очень сильно тормозить на устройствах, если
привычные объемы данных окажутся для нее неподъемными, например – реально ли перенести на
мобильную платформу 50 000 элементов справочника номенклатуры или несколько тысяч
документов?
В мире мобильных технологий мощности телефонов развиваются очень быстро, и если 2 года назад
1С комфортно работала с большими данными только на флагманах, то сейчас и телефон
бюджетного класса способен «потянуть» мобильную платформу без затруднений.
В этой таблице указаны виды замеров и время, которое было затрачено на их выполнение. Данные
цифры можно считать, как некие «попугаи», а не реальные цифры по производительности 1С на
этих устройствах.
Каждый замер – это набор действий, которые выполняет 1С, например – создание документов,
заполнение их табличных частей, проведение, получение среза регистров, удаление данных и т.д.
Разница между вариантами только в количестве создаваемых объектов.
Страница 6 из 105
В результате видим, что отрыв стал гораздо меньше, например, бюджетный Elephone P6000 за 150$
медленней компьютера в 6 раз, а планшет Nokia N1 за 230$ – всего в 3 раза.
Вывод отсюда можно сделать простой – еще года два, и мобильные устройства догонят компьютеры
по производительности, хотя с другой стороны – им и не нужна такая мощность. На планшете Nokia
N1 вполне комфортно работать с более чем 1 000 документов в списке, причем динамический
список документов подсвечивает статусы документов, которые он берет из другого регистра, и в
этом списке еще отражаются данные о количестве товара в документе и количество позиций. И
листает он их довольно плавно:
Страница 7 из 105
Таким образом, существует два основных показателя, по которым нужно подбирать устройство –
сложность отображаемых форм и скорость обработки данных. Первый тест показывает, какое надо
брать устройство. Если вы планируете каждый день передавать на него около 1 000 документов, то
есть смысл задуматься над этим вопросом, если же обмен будет происходить не более чем со
100 объектами, то тогда необходимости брать во внимание производительность устройства нет.
Однако есть и второй параметр – пользовательский опыт. Если вы планируете отображать очень
сложные формы с большим количеством объектов, например – список номенклатуры, в котором
будут отображаться цены, остатки, скидки, резервы и прочее, и делать это все в динамическом
списке с отборами, то тогда следует обращать внимание на скорость, но в данном случае – скорость
чтения данных и обработки.
Кстати, поднимем еще одну тему, которая касается характеристик устройств. Вы, наверное,
обращали внимание, что телефон со встроенной памятью 16 ГБ стоит иногда значительно дешевле,
чем с 32 ГБ. Особенно это касается продукции Apple. Почему так? Ведь SD карта стоит намного
дешевле. А все потому, что память телефона значительно быстрее, чем память SD карты. Что это
значит? Все просто – если вы взяли устройство, с 8 ГБ встроенной памяти, из которой реально
доступно до 3 ГБ, а после установки нужного софта вообще остается 1 ГБ, то может произойти очень
неприятная ситуация, которая заключается в том, что люди покупают SD карту и переносят базу
данных туда, и после этого 1С теряет в производительности чуть ли не в 2 раза, а то и более.
Страница 8 из 105
Таким образом, когда будете проводить тесты, убедитесь, что 1С полностью находится в памяти
телефона.
Позже рассмотрим, как можно протестировать ваше устройство на скорость работы, а пока идем
дальше.
К сожалению, у 1С нет прямой ссылки на последний релиз, так как в адресе содержится версия
платформы, например: http://downloads.v8.1c.ru/get/Info/mobile/8_3_7_55/mobile.zip. Данная ссылка
перестанет работать, как только 1С выпустит новый релиз.
Кроме того, можно получить мобильную платформу со стационарной бесплатно. При этом
стационарная будет не полная версия, а учебная. Скачать можно на сайте 1С. Заполните форму, и
вам придет на почту ссылка для скачивания. Но! Обязательно проверьте версию мобильной и
стационарной платформы, так как на текущий момент там находится мобильная платформа версии
8.3.5, а не 8.3.6.
Кроме того, курс будем проходить на полной версии стационарной платформы, так как нам не
подойдут ограничения учебной (например, нет авторизации, только 1 сеанс и т.д.). Вы можете
использовать и учебную, но иногда будут мешать ограничения и не будет возможности проверить
все механизмы.
Итак, нас интересует архив mobile.zip (если его не переименуют), который содержит в себе
следующие файлы:
1CEnterprise_en.htm
1CEnterprise_ru.htm
Android
iOS
MobileAppMaker
Далее вы увидите три папки, в каждой из которых находятся файлы, необходимые для получения
конечной версии вашего приложения. Рассмотрим их по порядку.
1cem-arm.apk
1cem-x86.apk
prjandroid-arm.zip
prjandroid-x86.zip
Страница 9 из 105
Файлы с расширением .apk – это платформа для разработчиков, которую можно установить на сам
телефон. А остальные файлы нужны для компиляции конечной версии.
Самое главное – не перепутать, потому что если попытаться поставить версию от x86 на телефон с
процессором arm, то есть немалая доля вероятности, что она установится (хотя может в момент
установки выдать ошибку), но затем будет работать некорректно или при запуске просто выдавать
ошибку и закрываться. Вот приблизительный список устройств, которые созданы на базе
процессоров Intel, но он далеко не полный.
В папке iOS находятся файлы, которые необходимы для работы с iOS устройствами.
prjios.zip
prjios_en_ru.zip
В чем разница? Все очень просто – в версии для разработчиков есть возможность создать любую
конфигурацию и обновлять ее без полной переустановки приложения. А когда мы сделаем
окончательную версию, то наши конфигурации уже будут «вшиты» в нее и обновить мы их сможем
только при обновлении всего приложения в целом. В дальнейшем этот вопрос будет рассмотрен
более подробно, а пока остановимся только на том, что нам нужна платформа для разработчиков.
Логично сделать вывод, что должны быть некие файлы, в которых содержится сама конфигурация. В
стационарной платформе переносчиками конфигураций были файлы с расширением .cf, а в
мобильной – это уже .xml файлы, которые упакованы специальным образом. И обновление
конфигурации заключается именно в переносе этих файлов на устройство.
Обновления конфигурации передаются через сеть или USB-кабель. Т.е. в случае прямого
подключения (например, USB) 1С делает следующее:
Страница 10 из 105
3. Конфигурация проверяет, есть ли локальные обновления, т.е. обновился ли тот файл в папке
/sdcard/Downloads, и сравнивает его с файлом:
/data/data/com.e1c.mobile/files/1C/1cem/[ID_базы]/1cema.xml
4. Если файл не обновился, то просто запускает конфигурацию, а если обновился, то копирует
его в папку с базой и обновляется из него.
Таким образом, если нужно обновить конфигурацию не через 1С, то достаточно скопировать файл в
Downloads и перезайти в базу.
Если же обновление идет через веб-сервер, то этот же файл публикуется на веб-сервере, и с ним
публикуется еще один .xml, который содержит дату обновления. При создании конфигурации нужно
указать адрес опубликованной конфигурации мобильного приложения и поставить флаг
Перезагружать с конфигуратора. В этом случае каждую секунду (или около того), мобильная
платформа будет обращаться к файлу с датой обновления, и если она окажется больше, чем дата
последнего обновления, то запустится процесс обновления, который просто копирует файл
конфигурации сразу в папку с базой и перезапускает приложение. Если флаг отключен, то
мобильная платформа будет опрашивать сервер на наличие обновлений только при входе в
конфигурацию, а не каждую секунду.
Как это сделать, рассмотрим сразу после установки платформы. Но перед этим разберемся с тем,
что такое виртуальные машины, или просто – эмуляторы.
Эмуляторы, в свою очередь, имеют ряд преимуществ перед реальными мобильными устройствами.
Например, правильно настроенный эмулятор будет работать быстрее мобильного устройства, хотя
стоит отметить: если вы сидите за ноутбуком 5-летний давности и держите в руках смартфон
последней конфигурации, то в этом случае лучше работать со смартфоном.
Создавая эмулятор, вы используете новый и чистый образ системы, а это значит, что у вас вряд ли
возникнут внештатные ситуации в момент обучения. В то же время некоторые поставщики
смартфонов ставят на них дополнительно ПО, которое может блокировать для приложения 1С
выход в интернет, или каким-то другим образом урезают/дополняют функционал прошивки своих
смартфонов/планшетов.
Страница 11 из 105
Для Android 1С встроили в конфигуратор возможность для запуска и обновления платформы для
разработчиков сразу в мобильном устройстве или же в эмуляторе, но используемый 1С эмулятор –
очень неудобный и достаточно сложный в настройке для новичков, так что мы его рассматривать не
будем, только коснемся поверхностно в следующем модуле.
Теперь разберем, как установить платформу для разработчиков на реальные устройства и как
создать виртуальные.
Страница 12 из 105
После этого скопируйте один из файлов (1cem-arm.apk или 1cem-x86.apk), которые лежат в архиве с
платформой 1С, на мобильное устройство, и, найдя его через файловый менеджер, запустите его.
Как только установка закончится, у вас должен появится ярлык приложения 1С.
Этот эмулятор является надстройкой над VirtualBox и без нее работать не будет. Регистрируемся на
сайте эмулятора и запоминаем логин и пароль – они нам еще понадобятся. Заходим на сайт под
созданным аккаунтом.
Теперь скачиваем нужную нам версию, лучше всего с сайта, так как там будет последний релиз,
можно и по прямым ссылкам, однако они со временем могут устареть:
Будем считать, что у нас не было виртуальной машины, поэтому выберем полный пакет. Скачиваем
его и запускаем. Жмем везде Далее, установка идет по умолчанию и не требует никаких действий от
пользователя. Потом последует установка виртуальной машины Oracle VM, где также оставляем все
по умолчанию.
На одном из этапов установщик выдаст предупреждение, что ему нужно прервать соединение с
интернетом, но это займет доли секунды. В самом конце процедуры снимите флаг на стадии Finish,
иначе запустится виртуальная машина, если она запустилась – просто закройте ее. Окно закроется
и появится другое – с основной установкой Genymotion. Вот тут можем оставить флаг для запуска
или потом запустить вручную.
После запуска появится окно, где будет предложено создать виртуальную машину:
Страница 13 из 105
Соглашаемся, и теперь будет предложен список виртуальных машин, но чтобы их создать, нужно
войти в учетную запись, созданную ранее на сайте производителя.
Теперь выбираем виртуальную машину. В нашем случае – без разницы, какую, однако, чем выше
будет разрешение виртуальной машины, тем больше она будет тормозить. Поэтому советуем
следующую конфигурацию:
Страница 14 из 105
В ней есть и последняя версия Android, и достаточно умеренные характеристики. Теперь нажимаем
Next, далее появится предложение переименовать машину, но можно оставить как есть, затем жмем
опять Next. Начинается скачивание образа – просто ждем окончания процедуры.
А пока ждем – советуем ознакомиться с платной версией этого эмулятора. Для обучения хватит и
бесплатной, но возникнут моменты, когда будет ощущаться недостаток функций, например, в
платной версии есть эмуляция звонков и sms. Так что если у вас стоит задача отладить эти функции
в 1С, то на эмуляторе это будет как минимум проще и, даже возможно, дешевле. Однако курс будет
ориентирован на бесплатную версию, в которой недоступен весь функционал, поэтому будьте
готовы к тому, что вы увидите очень привлекательные функции (например, сброс виртуальной
машины), которые будут требовать подписки.
После завершения скачивания нажимаем Finish. Затем выбираем нашу машину и запускаем ее
кнопкой Start. Но перед этим все же рекомендуем настроить машину по вашим возможностям. Т.е.
указать комфортное разрешение, чтобы машина не открывалась на пол-экрана, оперативной памяти
указать столько, сколько вы можете себе позволить (максимум 2 ГБ, больше не имеет смысла).
Страница 15 из 105
Для настроек нажимаем на значок ключа в строке машины и вносим нужные настройки:
В примере используем вот такие параметры, так как в этом случае и элементы все достаточно
крупные, и видно все хорошо, и машина работает достаточно быстро. Когда нужно будет настроить
интерфейс, тогда уже просто меняем характеристики, но об этом детально – в другом модуле.
Страница 16 из 105
Мы установили виртуальную машину. Но теперь нам надо поставить на нее 1С. Для этого открываем
командную строку в Windows и пишем следующий текст:
Страница 17 из 105
В конце появится надпись «Success». Что такое adb и как с ним работать – рассмотрим отдельно в
Приложении 3. Если появилась ошибка, то обратитесь к Приложению 4.
Точно такого же эффекта можно добиться, сделав простой drag&drop, т.е. мышкой перенести файл
установки 1С в окно эмулятора.
Теперь сделаем еще одну настройку – поменяем язык системы по умолчанию на русский. Для этого
идем в Settings – Language & Input – Language – и выбираем в списке языков нужный нам. Все,
теперь мы закончили установку 1С на виртуальную машину Android.
Страница 18 из 105
Это незаконно не только по отношению к Apple – вам придется пропатчить VMware, что также
нарушает лицензионное соглашение.
Поэтому любые вопросы, которые у вас могут возникнуть при использовании такого софта, будут
игнорироваться нами.
Кроме этого, есть возможность аренды Mac в облаке, так называемые «mac in cloud». Сервисов в
интернете достаточно, можно попробовать один из них. Но перед покупкой убедитесь, что будут
доступны Xcode и возможность установки приложений на ваше устройство.
После введения всех данных – прописываем капчу и жмем Создать Apple ID.
Страница 19 из 105
Далее вас попросят подтвердить указанный вами почтовый ящик, он же Apple ID. Для этого
достаточно зайти на почту и найти письмо, в котором будет ссылка:
После перехода по ссылке вас попросят доказать ваши намерения и ввести Apple ID и пароль,
который вы указывали ранее. Будьте внимательны – вводите логин без лишних пробелов, так как
иначе он будет расценен системой как неверный.
Итак, аккаунт создан, но это аккаунт обычного пользователя, если же планируется публиковать
приложения на AppStore, то нужно купить лицензию разработчика. Для этого выполните
следующие шаги. Ранее, для того чтобы установить приложение на любое устройство, требовалось
покупать лицензию разработчика, но с недавнего времени лицензия разработчика требуется только
для публикации в AppStore, и в нашем случае она не нужна!
Установка Xcode
Xcode – это программа, которая позволит установить наше приложение на iOS устройство. Как уже
упоминалось ранее, сделать это можно только в среде MacOS. Для начала установим Xcode. Для
этого запускаем AppStore (выделено красным внизу), далее в строке поиска пишем – xcode, и
находим его в списке.
Страница 20 из 105
Страница 21 из 105
Как вы догадались, необходимо обновить вашу систему. Сделать это можно на вкладке обновлений
в этом же окне AppStore. Но будьте внимательны, если у вас версия 10.9 и ниже – нужно будет
скачать очень много данных, так что подготовьтесь заранее.
Кроме этого, уже вышла новая версия Xcode 7, она пока находится в статусе beta, однако в скором
времени выйдет из этого статуса. Поэтому предлагаем вести разработку сразу в ней, так как она
незначительно, но все равно отличается от предыдущей версии. Для того чтобы ее установить,
переходим по этой ссылке и скачиваем образ. После скачивания запускаем его и устанавливаем, как
и все остальные приложения Mac OS (просто перетягиваем его в программы, в появившемся окне).
Страница 22 из 105
Страница 23 из 105
В результате откроется этот проект. Теперь нужно перевести наше оборудование в режим
разработчика, для этого нажимаем на Run, появится вот такое окно. Следует принять предложение,
нажав Enable:
Сразу после этого Xcode попробует запустить эмулятор iPhone 6, но у него ничего не выйдет (во
всяком случае на текущей версии 1С) и появится следующее сообщение:
Страница 24 из 105
Соглашаемся с ним, так как 1С не поддерживают эмулятор iOS устройств. Следующий шаг –
выбрать наше устройство:
Делаем повторный запуск. Теперь увидим новое сообщение, которое говорит о том, что нет
подписанных сертификатов и Xcode создаст их и перекомпилирует приложение. Соглашаемся с
этим предложением:
Страница 25 из 105
Чтобы это сделать, нужно авторизоваться. Авторизуемся под ранее созданной учетной записью:
Страница 26 из 105
Нажимаем два раза на аккаунт, далее в открытом окне выбираем сертификат, который нам нужен.
Нажимаем Create и Done, закрываем окна, теперь появится вот такое окно:
Тут выбираем уже команду разработчиков, в нашем случае – это наш ID. Выбираем его. После этого
появится новая ошибка, которая связана с идентификатором 1С:
Нам надо его сменить, но перед этим сделаем еще одно – сообщим Xcode, что мы хотим
компилировать не версию для отладки, а релизную. Для этого идем в настройки схемы:
Страница 27 из 105
И меняем опцию:
Закрываем это окно. Далее, нажимаем справа вверху на значок Главного вида – выбираем опцию
General, и меняем идентификатор:
Если у вас нет сверху этих утилит, то нажимаем View – Show Toolbar.
После этого запускаем проект еще раз. Появится окно с требованием исправления, соглашаемся – и
все. Теперь у нас есть установленная мобильная платформа для разработчиков на iOS устройстве,
которое, кстати, должно сразу запуститься. Ну а потом вы уже можете запускать его через обычный
ярлык приложения.
Обратите внимание на то, что мы все операции делали под одним Apple ID, а компилировали и
устанавливали – под другим. При этом на устройстве никаких действий не производилось. Это
означает, что если у вас работает группа разработчиков, то необязательно каждому из них иметь
Mac-компьютер для установки мобильной платформы для разработчиков.
Ну и точно так же вы можете установить приложение на устройства ваших клиентов, перед тем как
публиковать приложение в AppStore.
Страница 28 из 105
1. Установка Visual Studio, откуда нам, по сути, нужна только одна утилита – Application
Deployment tool. Но так как она идет только в комплекте со всей студией, то качать нужно все.
2. Регистрация аккаунта разработчика и анлок устройства для разработчика, т.е.
разблокирование возможности установки приложения не через Windows Store.
3. Наличие Windows 8.1 / 10 x 64 – иначе вы не сможете ни компилировать, ни установить
платформу для разработчиков. Есть, конечно, ряд «обходов», которые позволят это сделать,
но это нештатное применение ПО и рассматривать мы его не будем, но есть так называемые
Lite версии и версии под Windows 7.
Страница 29 из 105
Делаем выборочную установку, так как нам нужно не все. Выбираем только одно – Инструменты и
пакеты SDK для Windows, если нет реального устройства, то можно сюда же добавить эмулятор. Мы
разберемся как с ним работать, но если есть реальное устройство, то можно эмулятор не выбирать:
Страница 30 из 105
Страница 31 из 105
И нажимаем Установить. Ждем, пока выкачается очень много данных с интернета. Далее
потребуется перезагрузка, и после неё – Visual Studio продолжит свою установку, так что не закройте
ее случайно.
Отдельно надо добавить, что тут также есть и Android эмулятор, причем не менее быстрый, чем
рассмотренный нами ранее, однако не настолько удобный. Но если по какой-то причине тот
эмулятор не установился, то можете использовать этот.
Кроме этого, данные эмуляторы используют Hyper-V, а это значит, что если вы используете другие
эмуляторы, например VMware, то они перестанут работать до тех пор, пока вы не отключите
Hyper-V. Естественно, как только вы его выключите (с перезагрузкой компьютера), то сможете
работать с другими программами, однако при этом перестанет работать этот эмулятор.
Страница 32 из 105
После того как мы установили все что нужно, запускаем эмулятор, но запускаем его сразу в режиме
установки софта. Для этого находим приложение Windows Phone Application Deployment 8.1 или в
Пуск, или по пути:
Страница 33 из 105
Тут же указываем эмулятор, если мы хотим использовать эмулятор, а потом – файл установки
мобильной платформы. Нажимаем Развернуть, и у нас должна запуститься виртуальная машина. И
после этого – ищем приложение в списке приложений и запускаем. Эмулятор выглядит вот так:
Страница 34 из 105
Тут обратите внимание: кнопки справа рабочие, т.е. они не просто для красоты нарисованы, а
реально эмулируют кнопки устройства.
Страница 35 из 105
Тут много чего есть, начиная от эмулятора SD карты и заканчивая скриншотами и фиктивным
местоположением, что очень удобно при работе с треками GPS.
Однако если у нас есть реальное устройство, то, конечно, было бы неплохо вести разработку под
ним. И действительно, в программе развертки приложений, которую мы смотрели ранее, есть опция
Device, но если мы попробуем развернуть на нем приложение, увидим вот такую ошибку:
Страница 36 из 105
Она говорит нам о том, что устройство не разблокировано. Ранее мы с вами смотрели, что для
Android достаточно поставить флаг «Неизвестные источники», для iOS надо создать аккаунт и иметь
под рукой MacOS, а для WinPhone нам надо создать учетную запись и разблокировать устройство.
Делается это так. Во-первых – запускаем программку на компьютере Windows Phone Developer
Registration 8.1, лежит она по такому пути – C:\Program Files (x86)\Microsoft SDKs\Windows
Phone\v8.1\Tools\Phone Registration\PhoneReg.exe. Запускаем программу:
Страница 37 из 105
Страница 38 из 105
Страница 39 из 105
Если у вас нет учетной записи, зарегистрируйтесь, если есть, то войдите под ней. Если у вас есть
учетная запись, созданная ранее на компьютере под WIn 8.1/10, и она отлична от учетной записи на
устройстве, то можете указать ту учетную запись, под которой вы работаете на компьютере. После
успешной регистрации вы увидите такое сообщение:
Страница 40 из 105
Страница 41 из 105
После этого приложение появится в списке приложений. На этом установку приложений на Windows
Phone мы закончили.
Страница 42 из 105
Т.е. саму платформу, тонкий клиент для файлового варианта, и модуль расширения веб-сервера. Ну
а дальше просто следуем за помощником установки. После установки создадим простую
конфигурацию, назовем ее «Первый тест». Затем заходим в конфигуратор. При первом запуске
может появится вот такое окно:
Страница 43 из 105
Это связано с тем, что 1С имеет возможность выйти в сеть, и нам эта функция нужна. Поэтому
выбираем Разрешить доступ, иначе в дальнейшем придется вносить исправления вручную,
прописывая правила в брандмауэре.
Далее необходимо указать 1С, что эта конфигурация предназначена для разработки мобильных
решений, для этот открываем свойства конфигурации и указываем это в явном виде:
После этого 1С заблокирует все объекты, которые недоступны в мобильной платформе, и они
станут неактивными в древе конфигурации. Кроме этого, будут недоступны и некоторые
программные объекты.
Страница 44 из 105
Чтобы эта форма открывалась при входе в базу, откроем рабочую область и добавим нашу форму в
список форм рабочей области начальной страницы:
Страница 45 из 105
Запустим конфигурацию в режиме предприятия и убедимся, что все работает так, как надо:
Как видим, все получилось, и теперь нужно перенести это все на мобильное устройство.
Напоминаем, есть два способа: через обновление из конфигуратора напрямую в телефон или через
веб. Второй вариант сейчас недоступен, так как мы еще не установили веб-сервер, а вот перенос
напрямую в телефон вполне возможен. Однако стоит учесть, что такая возможность есть только в
Android устройствах. В iOS и Windows Phone обновление идет только через веб – разберем этот
вопрос чуть позже.
Страница 46 из 105
Итак, если используется эмулятор, то нужно убедиться, что он запущен, а если обычное Android
устройство, то надо его сначала перевести в режим разработчика. Для этого делаем следующее –
идем в Настройки – О телефоне:
Нажимаем несколько раз на поле Номер сборки (обычно около 8) до появления надписи о том, что
вы стали разработчиком, возвращаемся назад – и теперь стала доступна новая опция:
Страница 47 из 105
Включаем отладку. После этого устройство определится как adb устройство, и, вероятно,
потребуется поставить на него драйверы с сайта производителя.
Теперь устройство переведено в статус устройства для разработчиков. На эмуляторе это делать не
нужно, так как там все нужные опции включены по умолчанию.
И самое страшное – все то же самое можно делать и через Wi-Fi, вы можете в процессе обучения и
самостоятельной работы скачать немало разных программ, в частности, которые будут открывать
отладку по сети, и тогда подключение к любому Wi-Fi для вас будет потенциально опасным!
Страница 48 из 105
1. Устанавливаем флаг для использования Android Debug Bridge (тот самый adb, о котором
говорилось ранее).
2. Указываем расположение данного файла adb – 1С подписала каталог, в котором он
находится по умолчанию, как Android SDK. Скачивать содержимое этого каталога не нужно –
оно уже есть у нас в наличии. Если вы ставили эмулятор Android, то эти файлы у вас должны
быть в папке, указанной на скриншоте, состав этой папки такой:
Эти же файлы лежат в раздаточных материалах, в архиве tools, так что можно просто
разархивировать их и указать путь к ним. Лучше, чтобы в названии пути не было кириллицы.
Страница 49 из 105
3. Затем прописываем путь к архиву с мобильной платформой. По сути, нам нужны только 2 apk
файла, но указываем весь архив. Это необходимо для того, чтобы 1С смогла установить
платформу в случае ее отсутствия. Т.е. то, что мы выполнили ранее, можно было сделать из
конфигуратора. Но теперь вы уже точно понимаете то, как именно это осуществляет 1С, и
потенциальные причины ошибок.
4. Далее используется эмулятор устройств, в данном случае – AVD Manager. Не будем
использовать его в работе, так как он достаточно сложен в настройке и обладает неудобным
функционалом, но все равно вкратце ознакомимся с ним в следующих модулях, так как у него
есть функции, отсутствующие в других эмуляторах. В данный же момент просто указываем,
что будем ожидать подключения.
Эта ошибка говорит о том, что требуется установить веб-сервер. Хотя, зачем он нам сейчас нужен,
если можно и так отправить данные на мобильное устройство – не совсем понятно. Итак, обойдемся
без него. Для этого идем в раздел публикации мобильного приложения Конфигурация – Мобильное
приложение – Публиковать:
Страница 50 из 105
И указываем путь к папке, где будут находиться временные файлы. Путь не должен содержать
пробелы или кириллицу, хотя может и так работать – зависит от настроек вашей системы. И
нажимаем Опубликовать.
Если все настройки произведены верно, вы должны получить вот такой вот список сообщений:
Страница 51 из 105
Веб-сервер
Итак, мы рассмотрели, как работать с мобильной платформой через USB, теперь стоит разобраться
с тем, как делать то же самое через веб-сервер. У каждого из этих подходов есть свои
преимущества и недостатки.
В нашем случае все это будем делать через 1С, которая, в свою очередь, будет настраивать этот
сервер. Так как 1С сама по себе не может выступать в роли веб-сервиса, необходимо настроить или
IIS, или Apache.
Страница 52 из 105
Если сказать проще, то веб-сервер – это программа, которая запущена в фоновом режиме на
компьютере и ждет, пока кто-то к ней обратится по определенным правилам, а правила эти описаны
в http-протоколе. К примеру, когда вы подключаетесь к сайту, ваш браузер отсылает на сайт
информацию о том, какую страницу вы хотите открыть, веб-сервер, приняв эту информацию,
отправляет вам готовую страницу или же может генерировать ее на основе параметров, которые
передал ваш браузер.
С этой точки зрения серверу абсолютно неважно, кто отправляет ему данные – браузер или некая
утилита (например, curl), или же 1С. Главное, чтобы сервер получил правильно сгенерированную
страницу.
Как уже упоминалось ранее, 1С поддерживает два веб-сервера: Apache и IIS. Ради справедливости,
стоит отметить, что это самые популярные веб-серверы (по состоянию на январь 2015 года они
занимают долю более 60% веб-серверов). Поэтому о них много информации на просторах
интернета, и кроме этого, они чаще всего становятся целью разных взломщиков – за счет своей
популярности. Поэтому будьте осторожны и внимательны при публикации базы данных в открытый
доступ. К этому вопросу еще вернемся позже.
Установка IIS
IIS идет в комплекте Windows систем, и если у вас *nix система, то сразу можете переходить к
разделу об установке Apache. Если же у вас Windows – включим IIS сервер. Для этого выбираем
Панель управления – Установка и удаление программ:
Страница 53 из 105
Сейчас нас не интересуют другие компоненты – рассмотрим их позже. Наша текущая задача очень
простая – нужно, чтобы одна папка «смотрела» в сеть, т.е. была доступна через wi-fi (в нашем
случае) по протоколам http.
Подтверждаем выбор и ждем, пока система применит настройки. После этого открываем браузер и
вбиваем один из адресов:
http://127.0.0.1/
http://localhost/
Эти два адреса (обычно) ведут в одно и то же место – в вашу машину, и доступны они только в ее
пределах. Эти адреса имеют специальное назначение согласно международным стандартам в
интернете (RFC), а это значит, что для любого устройства, даже без физической сетевой карты, они
будут работать. Адрес ведет в виртуальную сеть конкретного устройства, поэтому, указав один из
этих адресов, допустим, в мобильном устройстве, не стоит ожидать, что вы увидите то же самое, что
и на компьютере. Идея создания этих адресов достаточно простая – при их обработке не
задействованы сетевые устройства, только процессор. Таким образом, в ситуациях, когда и сервер,
и клиент находятся на одном компьютере, будем использовать один из этих адресов, но в работе
между двумя устройствами эти адреса использовать нельзя.
После указания одного из этих адресов в браузере вы должны увидеть вот такую страницу:
Страница 54 из 105
Внешний вид может отличаться, в зависимости от версии IIS на вашем компьютере, но суть
останется та же – синяя картинка с надписью Internet Information Services.
Теперь вернемся в 1С и опубликуем нашу конфигурацию. Для этого идем в окно публикации и
указываем:
Страница 55 из 105
Папки C:\inetpub\wwwroot\ создаются сами, в момент первой установки сервера. Правила создания
внутренней папки и имени публикации такие же, как и всегда:
Не использовать пробел
Не использовать кириллицу
Не начинать с цифры
Не использовать специальные символы.
Вполне может быть, что несоблюдение этих правил не нарушит работу, но большая доля
вероятности есть.
Нажимаем Опубликовать, и если у вас появилась такая же ошибка, как на скриншоте, то смотрим
Приложение 5:
Теперь проверим доступность файла 1С. Для этого введем в браузере следующую строку:
http://localhost/MobTest/
В нашем случае MobTest – это имя публикации конфигурации. В результате вы должны увидеть вот
такую картину:
Страница 56 из 105
1. Регистр букв в имени базы неважен. Обратите внимание – база опубликована под именем
mobtest, а в браузере указано имя MobTest, и IIS нас перенаправил, куда надо.
2. При публикации на IIS надо указывать полный путь к файлу, т.е. 1С не поймет адрес:
http://localhost/MobTest/
Нужно указать:
http://localhost/MobTest/1cema.xml
А в Apache этого делать не надо, так как там по умолчанию прописывается такое соответствие, что
короткий адрес сразу ведет к файлу конфигурации.
Исправим это – сделаем так, чтобы при вводе короткого адреса сразу отображался xml
конфигурации.
Для этого откроем консоль управления IIS Панель управления – Администрирование – Диспетчер
служб IIS:
Страница 57 из 105
Теперь изменим настройки документа, который будет открываться по умолчанию при вводе нашего
адреса:
Страница 58 из 105
Установка Apache
Apache – это веб-сервер, который является кроссплатформенным (т.е. доступен на разных
операционных системах, включая Windows и Linux). Этот веб-сервер не идет в комплекте с
операционной системой и скачивается отдельно. Он является бесплатным, поэтому скачать его и
использовать может любой желающий. Однако существует одна проблема – с недавних пор сайт
Apache перестал публиковать готовые (компилированные) версии их продукта, взамен предлагается
скачать исходники и скомпилировать их самостоятельно.
Страница 59 из 105
Кроме этого, есть возможность скачать Apache в комплекте с неким другим софтом от доверенных
поставщиков, например, XAMPP. Но и тут есть проблема – 1С поддерживает Apache версии 2.2, а
вот во всех этих сборках используют, в основном, версию 2.4. Поэтому, как только 1С начнет
поддерживать новую версию, можно будет использовать такие сборки.
Сразу следует оговориться, что Apache поставляется в двух версиях – c SSL и без SSL, т.е. с
наличием необходимых утилит для создания и использования SSL сертификатов и без них. В нашем
случае SSL понадобится, но работу с ним рассмотрим позже.
Как уже сообщалось ранее, берем файл Apache HTTP Server v.2.2.21(Windows+Open ssl-0.9.8r).msi
из раздаточных материалов и запускаем его.
Здесь указываем общие данные нашего сервера. Так как все операции будут проводиться внутри
локальной сети, то используем для ввода те же данные, что и на скриншоте.
Страница 60 из 105
В качестве порта соединения выберем 80 порт специально, так как в нашем случае он уже занят
ранее установленным IIS – исследуем ситуацию смены портов более подробно. И кроме этого, при
выборе этой настройки Apache будет доступен всем, что тоже важно, так как в результате можно
будет перезапускать его как из-под 1С, так и вручную, а 1С при этом может быть запущена под
Администратором (например, в случае, когда надо опубликовать базу).
Что такое порт и зачем он нужен, описано в Приложении 7.
Далее следуем подсказкам помощника, и заканчиваем установку. Если у вас не занят выбранный
порт, произойдет завершение установки и запуск программы. Однако в нашем случае появится
следующее окно:
Появление этого окна говорит о том, что Apache не смог занять 80 порт, так как он уже занят. Тогда
мы с вами изменим порт, который будет прослушивать Apache, на порт 8080. Для этого идем в файл
C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\httpd.conf, и ищем в нем строку, в
которой указан порт, который слушает Apache:
Страница 61 из 105
И нам надо изменить порт 80 на 8080. Однако если у вас в системе включен UAC, т.е. защита
системных файлов, просто так его не изменить. Поэтому сделаем доступ для роли Пользователи,
для всей папки conf:
Если не сделать этого, то при публикации из 1С придется запускать ее из-под администратора, что
тоже является не очень удобным в случае работы на тестовой машине. На реальных серверах такую
процедуру лучше не проводить!
Страница 62 из 105
Тут необходимо выбрать кнопку Разрешить доступ, далее мы исследуем, почему и что делать,
если вы все же успели нажать кнопку Отмена или просто закрыть окно.
Однако если появилась ошибка, сервер не запустился, и вы не успели увидеть ошибку – то сделайте
следующее: откройте командную строку и пропишите запуск вручную, для этого просто укажите путь
к файлу https.exe:
Страница 63 из 105
Если сервер все-таки запустился, и вы попробуете его запустить через командную строку, то вы
получите такую же ошибку. Это произойдет, так как с точки зрения системы вы попытались запустить
второй веб-сервер, на порт, которой уже занят.
Если вы ошибку исправили, например, после обновления платформы 1С и удаления старой версии
вы не переопубликовали базы, то Apache будет ссылаться на старый файл в конфиге. И вот теперь
вы зашли в командную строку – запустили сервер, увидели, что ошибка в конфиге (файл httpd.conf, в
котором правили порт ранее), увидели, в какой строке, обнаружили, что там дается ссылка на уже не
существующий файл 1С, исправили это (просто поменяв путь в конфиге Apacha или
переопубликовав базу 1С), теперь запускаете еще раз сервер из командной строки, и у вас не
появилось никакой ошибки, обратите внимание на то, что сервер будет работать лишь до тех пор,
пока вы не закроете командную строку, при этом в трее будет пиктограмма остановленного сервера
(красный квадратик), и при попытке запуска сервера через трей вы опять получите ошибку.
Так что тут важно понять – сервер может работать только с одного места.
Теперь давайте проверим, что наш сервер на Apache работает, для этого откроем адрес
http://127.0.0.1:8080/:
Обратите внимание – обязательно указываем порт, без порта попадем на IIS. Переопубликуем
конфигурацию, теперь выбираем Apache:
Обязательно закрываем окно публикации, так как иногда 1С держит файлы публикации открытыми и
из-за этого невозможно получить к ним доступ через сервер. И перезапускаем сервер Apache:
Страница 64 из 105
Если отобразился xml, то значит все в порядке. Обратите внимание – если указать адрес в другом
регистре букв, например, http://127.0.0.1:8080/MobTest/, то в результате получим ошибку. А все это
потому, что Apache – регистрозависимый, а IIS – нет. Обратите внимание на эту особенность и не
забывайте про нее.
Теперь проверим доступность нашего веб-сервера по его IP адресу, сделаем это и на сервере, и на
мобильном устройстве:
Страница 65 из 105
Как видите – на компьютере все получилось, а вот мобильное устройство не смогло подключиться.
Теперь проверим, что будет, если попробовать подключиться к Apache:
Страница 66 из 105
Что же в этот момент произошло? Если мы нажали Разрешить доступ, то Windows автоматически
добавила правила для брандмауэра для этой программы.
Страница 67 из 105
Чтобы убедиться в том, что 80 порт блокирует именно брандмауэр, зайдем в настройки Панель
управления – Брандмауэр Windows и отключим его:
Страница 68 из 105
После выключения появятся разные сообщения о том, что это небезопасно, но не будем брать их во
внимание, так как буквально через 5 минут мы его снова включим. Оставлять брандмауэр
выключенным крайне не рекомендуется.
Страница 69 из 105
Страница 70 из 105
Страница 71 из 105
Теперь мы окончательно выяснили, что проблема в брандмауэре. Поскольку отключать его нельзя,
остается одно – создадим правило, чтобы брандмауэр пропускал данные на нужный нам порт.
В нашем случае – создадим правило для входящего соединения (так как мы опрашиваем веб-сервер
с внешнего устройства, т.е. мы к нему обращаемся, а не он к нам) и укажем 80 порт.
Страница 72 из 105
Страница 73 из 105
Обратите внимание – тут уже существуют правила для 1С и для Apache. Они создаются
автоматически, когда при первом запуске программы им разрешается доступ к сети.
Если исследуем правило, которое создал Apache, то увидим, что это правило создано в отношении
самого приложения:
Страница 74 из 105
И на все порты:
Это значит, что неважно, какой порт мы будем прослушивать при помощи Apache (в нашем случае
8080), брандмауэр откроет любой порт для этой программы.
Мы же создадим правило наоборот, т.е. укажем, какой конкретно порт хотим открыть, и нам неважно,
какая программа на нем будет нас слушать. Для этого создадим новое правило:
Указываем, что оно должно работать с портами, и какой тип трафика и порт нас интересуют:
Страница 75 из 105
Для тех, кому интересно, – мы всегда будем работать с TCP портами, UDP порты 1С нигде не
использует, по крайней мере, пока (в 8.3.7 будут использоваться и UDP протоколы для SQL
серверов). Разница между TCP и UDP – заключается в том, что TCP – работает по принципу
рукопожатия, а UDP – просто отправляет пакеты в сеть, при этом неважно, слушает его кто-то или
нет. Можно провести такую аналогию:
TCP – это как разговор по рации, т.е. вы нажали кнопку, и спросили – слышат вас или нет, на другой
рации, после того как услышали вас, нажимают кнопку и подтверждают, что связь установлена, и
лишь затем вы начинаете говорить, так как уверены, что вас слышат. Если на другом конце вас не
расслышали, то попросят повторить последнюю пару слов. Это и есть принцип TCP.
UDP – действует по принципу радио Т.е. ведущие на радиостанции говорят в микрофон, вышка это
транслирует на всю область, и для этого не требуется подтверждение от всех слушающих. И если
вы слушаете радио, то у вас нет возможности попросить, чтобы повторили последнюю песню. Разве
что только воспользовавшись TCP протоколом – позвонив на станцию.
Страница 76 из 105
Хотя можем и наоборот – запретить. И указать тип сети, где это правило будет работать:
Т.е. можно сделать так, что внутри локальной сети порт будет открыт, а во внешней – закрыт.
Страница 77 из 105
Ну и в последней вкладке указываем имя, чтобы идентифицировать наше правило среди остальных:
Практика показывает, что правило лучше называть по фильтрам, которые ему подчинены, т.е. мы
сейчас открыли 80 и правило назвали также. Когда будем открывать другие порты, добавим их в это
же правило или просто создадим новое. Итак, правило создано:
Страница 78 из 105
Проверяем подключение на этот порт через браузер с устройства, с которого будем вызывать
сервер:
Теперь, убедившись, что у нас все работает и доступно с рабочего устройства, мы можем
подключить нашу конфигурацию к мобильному приложению.
Страница 79 из 105
Страница 80 из 105
Данный флаг отвечает за перезапуск конфигурации. Принцип работы его работы будет рассмотрен
позже. Теперь нажимаем ОК справа вверху, и в результате появится окно со списком баз данных.
Над каждой базой можно произвести ряд действий, для этого надо сделать свайп влево по нужной
базе данных:
В конфигураторе теперь изменим фон и нажмем кнопку – запуск мобильного приложения. Однако
прежде нужно убедиться, что флаг использования ADB снят:
Страница 81 из 105
В этом файле содержится информация о том, когда было последнее обновление конфигурации. И
каждую пару секунд мобильная платформа (при условии, что вы открыли конфигурацию, в
настройках которой стоит флаг Перезапуск из конфигуратора) делает опрос сервера на наличие
этого файла и читает его. Если дата в файле больше, чем дата последнего обновления, то 1С
произведет обновление и после этого сразу перезапустит конфигурацию.
И в конце остались последние штрихи – включение синтаксис-справки и проверки модулей
мобильного приложения:
Страница 82 из 105
Если этого не сделать, то в справке не будет описания объектов, доступных только на мобильной
платформе. Между прочим, вы можете отключить проверку тонкого клиента и сервера, и в справке
оставить только два пункта по мобильной платформе.
Однако, так работать не очень удобно, потому что запомнить, какой объект доступен в мобильной
платформе, а какой нет, сложно. Например, при наборе названия ТекстовыйДокумент синтаксис-
помощник не сработает, так как этот объект недоступен в мобильной платформе, а мы «на
автомате» можем начать искать ошибку в написании. По этой причине – оставим включенными все
флаги.
Заключение
В данном модуле было рассмотрено создание рабочего места для комфортной разработки
мобильных решений. По итогам пройденного материала вы должны определиться с такими пунктами
как:
Страница 83 из 105
Итоги
В этом модуле были исследованы все возможные варианты установки мобильной платформы на
мобильные устройства под управлением Android и iOS.
Кроме этого – рассмотрены разные проблемы, которые могут возникнуть при установке и настройке
рабочего окружения.
Дополнения к модулю
Приложение 1. Виртуальная машина для Windows
Если вы не планируете работать с виртуальной машиной на Android, то можно поставить VMware,
если вы ранее уже установили виртуальную машину Android, то можно использовать ее же и для
Windows.
Для наших задач вполне хватит бесплатного плеера виртуальных машин VMware Player. Скачать его
можно здесь. Выбираем нужную версию (x64 или x32), скачиваем и устанавливаем, как любую
другую программу. После установки запускаем, и теперь нам нужно создать виртуальную машину и
установить на нее Windows, как это сделать, покажем на примере Win 8.1.
Страница 84 из 105
Тут же выбираем источник, в нашем случае – это iso образ диска, но это может быть и сам диск либо
флешка. Жмем Далее. Теперь нужно ввести ключ Windows, но это можно будет сделать и позже, так
что жмем Далее.
Теперь надо выбрать, куда устанавливать виртуальную машину. Потребуется около 40ГБ
свободного места. Но система не сразу забирает все 40ГБ, а по факту их заполнения в виртуальной
машине, для начала хватит и 20ГБ реального свободного места на диске. Также желательно ставить
виртуальную машину на SSD диск, если таковой имеется, так как на SSD диске система будет
работать настолько быстро, что не будет заметно разницы между реальной системой и виртуальной.
Страница 85 из 105
Нажимаем Далее:
Нажимаем Настройка оборудования, слева выбираем Сеть, и сообщаем, что хотим создать мост:
Страница 86 из 105
В этом случае роутер будет считать, что это отдельная реальная машина, и присвоит ей свой IP
адрес. В противном случае вам придется пробиваться через сеть компьютера. Если вы работаете по
Wi-Fi с телефона, то это может вызвать затруднения.
После нажимаем Закрыть и Готово. В этот момент система начнет создавать разделы и
устанавливаться, вам делать ничего не нужно до самого окончания ее установки.
Как увидеть код ошибки? Очень просто – так как Genymotion является надстройкой над VirtualBox,
нужно просто запустить VirtualBox, используя ярлык с рабочего стола, или из меню Пуск:
Страница 87 из 105
Теперь появится подробная информация об ошибке. Первое, что советуем сделать – провести
обновление с официального сайта, для этого в этом же окне нажмите вкладку Справка и Проверить
обновления. Если обновления есть, то появится прямая ссылка, по которой нужно скачать
программу и снова установить. Предыдущую можно не удалять.
Если это не помогает, то тогда уже нужно искать причины и решение по коду ошибки в интернете.
ADB позволяет:
Страница 88 из 105
Т.е. ADB – это небольшая утилита, которую можно использовать для выполнения разных рутинных
операций. Например, если у вас в компании есть устройства на базе Android и на них надо
установить разные программы, скопировать файлы и получить параметры телефона, то проще один
раз написать скрипт и при подключении это все делать.
К примеру, вы создаете инструкцию, и вам надо делать скриншоты. Это можно реализовать простым
скриптом:
Для его использования создайте текстовый документ, вставьте туда этот код и сохраните его,
изменив расширение файла на cmd. Например, «Сделать скрин.cmd». Если у вас подключено
устройство в режиме отладки, то вы получите скрин экрана.
В данном случае мы использовали не просто ADB, а еще и Shell. Shell – это консоль, похожа на
командную строку (или Power Shell) в Windows.
Если ADB отвечает только за связь с устройством и незначительные функции управления им, то
Shell позволяет сделать с устройством намного больше. Но для его использования может
потребоваться root.
Более подробно почитать про ADB и Shell, а также узнать примеры их использования можно в этой
ветке.
Эта ошибка связана с тем, что уже было установлено приложение с такой же версией, именем и
сертификатом, так что обновить его не выйдет, его нужно переустановить, сделать это можно так:
Т.е. мы добавили новый ключ «-r», который говорит, что мы переустанавливаем приложение.
Страница 89 из 105
Если вы видите вот такую ошибку, то это говорит о том, что программа не понимает, куда ей
установить приложение, так как сейчас подключено несколько устройств. Например, телефон стоит
на зарядке, подключенный к компьютеру, и у вас запущена виртуальная машина.
Для исправления этой ошибки достаточно оставить только одно подключенное устройство, на
которое вы хотите установить это приложение. Список устройств, которые подключены, можно
посмотреть, прописав следующую команду:
adb devices
В данном случае включена отладка по сети у виртуальной машины, и к компьютеру подключен еще
один телефон.
Это значит, что у вас не прописан короткий путь к adb. Для того чтобы его прописать, надо
выполнить следующие действия.
Страница 90 из 105
Страница 91 из 105
Т.е. в конце, в длинной строке Значение переменной, добавляем «;» и без пробела – путь к
программе, в нашем случае путь будет таким:
c:\Program Files\Genymobile\Genymotion\tools\
Добавляем его точно так же, без кавычек. Однако перед этим убедитесь, что этот путь
действителен, т.е. проверьте эту папку. Если вы меняли путь установки эмулятора, то он может быть
другим.
После этого обязательно перезайдите в командную строку, так как изменения вступят в силу только
после повторного входа.
Страница 92 из 105
Данные ошибки связанны с тем, что у 1С нет прав на выполнение этих операций. Если мы
посмотрим на созданную папку, то увидим вот такое право:
Страница 93 из 105
Т.е. у группы Пользователи нет прав изменять данные в этой папке, а у группы Администраторы
есть. Поэтому у нас два варианта:
2. Запустим 1С из-под Администратора. Тут тоже два варианта. Первый – мы каждый раз
запускаем 1С через Администратора, кликая на ней правой кнопкой и выбирая соответствующий
пункт, либо можем поставить в настройках соответствующий флаг, тогда, в тот момент запуска
1С (как обычно, двойным кликом), это будет сделано с правами Администратора.
В случае с IIS нужно использовать первый вариант, так как по умолчанию стоит запрет на
создание в пределах всей папки и того, что внутри.
В случае с Apache достаточно один раз опубликовать из-под администратора, и дальнейшее
обновление можно уже делать под обычным пользователем.
Страница 94 из 105
IPv4 – самый распространенный тип адреса, он описывается четырьмя группами цифр, например:
127.0.0.1, 8.8.8.8, 192.168.0.1 и т.д.
Если у вас в настройках сети включена поддержка IPv6, то вместо localhost или 127.0.0.1, вы можете
писать [::1].
Причина появления IPv6 очень проста, IPv4 просто закончились в мире. Поэтому в ближайшее
время весь интернет будет переходить на IPv6, однако адрес должен быть уникален только в
пределах одной замкнутой сети, а значит, если у вас в офисе есть локальная сеть, то там, скорее
всего, будут продолжать использовать IPv4 адреса, так как они просты и удобны для запоминания.
Как узнать IP вашего веб-сервера? Все очень просто – можно зайти в настройки сетевой карты и
посмотреть:
Надо нажать правой кнопкой мыши на пиктограмме сетевого адаптера, и откройте центр управления
сетями. Его можно открыть и через панель управления:
Страница 95 из 105
Далее нажмите на ваш сетевой адаптер и откройте его сведения. После этого вы увидите IP адрес
вашего компьютера.
Напоминаем, что в этом модуле рассматривается только варианты, когда ваше мобильное
устройство и сервер находятся в одной сети и подключены через один роутер. Для проверки зайдите
в Настройки – О телефоне – Общая информация:
Страница 96 из 105
Как видите – IP моего телефона очень сильно отличается от IP сервера, так как на нем используется
мобильный интернет. А в нашем случае IP адрес мобильного устройства должен быть вида
192.168.82.ххх, т.е. отличаться только последней группой цифр. Если же он отличается и в третьей
группе, например, 192.168.1.2, то это значит, что он подключен к другой сети, и следовательно к
серверу, скорее всего, вы не подключитесь. В этом случае проконсультируйтесь с вашим системным
администратором, так как можно настроить сеть так, чтобы была возможность общаться из разных
подсетей, но это не имеет отношения к теме текущего курса.
Отдельно стоит отметить, что IP бывают статическими и динамическими. Разница только в том, что
в первом случае за вашим компьютером всегда закреплен один и тот же адрес, а во втором – адрес
вам дается в аренду, обычно на 24 часа. И вот тут будут проблемы: если после выходных кто-то
включит компьютер раньше вас или позже, может случиться такое, что у вашего компьютера
изменится IP адрес, и тогда надо будет везде этот адрес переписывать. Поэтому лучше сразу
будущему веб-серверу назначить фиксированный IP адрес.
Страница 97 из 105
Страница 98 из 105
Почему это произошло? Потому что для программы, которая ждет инструкций по одному протоколу,
отправлен запрос, сформированный для приложения, которое нас слушает на другом порту.
Но может случиться и так, что между нужной квартирой (веб-сервером) и отправителем пакета
находится вахтер (firewall, брандмауэр и т.д.), т.е. некий другой софт, который ограничивает доступ к
веб-серверу. Таким образом, порт бывает в двух состояниях: в открытом и закрытом по отношению к
какому-то другому адресу, так как порт может быть открыт для одних адресатов и закрыт для других.
Следует добавить, что на одном порту не может находиться сразу несколько программ, так как же
проверить, какие порты у нас заняты? Очень просто – для этого достаточно зайти в Диспетчер
задач и открыть монитор ресурсов:
Как видите, 80 порт уже занят приложением System, в данном случае – это IIS.
Страница 99 из 105
Вначале смотрим, какое приложение заняло 80 порт, иногда это можно определить по имени
процесса, например, там может быть Skype, TeamViewer и т.д. Если же по имени процесса мы не
можем понять, что это за программа, тогда смотрим на ИД процесса и ищем его в Диспетчере
задач, как видите – справа есть описание, что это за программа. Если же по названию не
определить, какое приложение занимает порт, можно нажать тут же правой кнопкой по процессу,
выбрать опцию Открыть расположение файла и выяснить, что это за программа.
Даже больше – что делать, если у вас нет интернета на компьютере, но есть на мобильном
устройстве?
Эти два вопроса решает одна и та же функция – USB модем. При включении этой опции ваше
мобильное устройство будет выступать в роли устройства, которое раздает интернет (если он у вас
есть на мобильном устройстве), и что главное – будет создана виртуальная сеть между мобильным
устройством и компьютером.
Включение этой опции может отличаться на разных устройствах и разных версиях Android. Обратите
внимание – после включения этой опции в строке оповещений должна появиться соответствующая
иконка.
Для Android 4.x: перейдите в Настройки – Еще – Режим модема и точка доступа – USB-модем.
После этого у вас должен появится новый сетевой адаптер, и теперь осталось узнать IP адрес
сервера и подключиться к нему. Как это сделать – написано в Приложении 6.
Сделать то же самое можно и на iOS устройстве. Для этого зайдем в настройки и включим режим
модема:
Режим модема включается или через Сотовые данные, или же через Режим модема, обе эти опции
(1 и 2) ведут в настройки модема.
Если у вас нет этой опции, тогда зайдите в настройки APN и пропишите в поле режима модема
данные, которые вы можете взять у оператора:
К примеру, вот список некоторых операторов Украины (имя пользователя и пароль – пустые):
Life:): internet
Kievstar, контракт: www.kyivstar.net
Kievstar: www.ab.kyivstar.net
Djuice: www.djuice.com.ua
MTS: www.umc.ua или internet
Beeline: internet.beeline.ua
3mob: 3g.utel.ua
Интертелеком – настройки подхватываются автоматом.
Для России:
Мегафон:
o APN: internet
o Имя пользователя: -
o Пароль: -
МТС:
o APN: internet.mts.ru
o Имя пользователя: mts
o Пароль: mts
Билайн:
o APN: internet.beeline.ru
o Имя пользователя: beeline
o Пароль: beeline
После этого должны появится опции режима модема, если нет, то перезагрузите устройство.
После этого – вопрос о том, как вы хотите подключиться. Если, например, у вас ноутбук или есть Wi-
Fi модуль в компьютере, то можете подключиться через Wi-Fi, тогда интернет раздавать будет iOS
устройство.
Итак, есть сеть между нашими двумя устройствами. Теперь определим, какой IP адрес был присвоен
компьютеру, о том, как это сделать, сообщалось ранее в Приложении 6: