Совети за автоматизација. Совети за автоматизација Инсталирање мобилна апликација 1c на емулатор на Android

Без да навлегуваме во детали, мобилната платформа е иста база на податоци за датотеки 1C како и на десктоп компјутерот, само што работи во мобилни оперативни системи - iOS и Android.
Главната разлика помеѓу мобилниот 1C и стационарниот е тоа што користи специјализиран интерфејс фокусиран на контрола на допир на мали екрани, а исто така има можност за интеракција со мобилен уред (фотографирање, добивање координати, испраќање СМС, итн.). Мобилната платформа 1C е збир на алатки кои ви овозможуваат да креирате решенија за мобилни оперативни системи.

Развојот на решенија за мобилната платформа се врши во истиот конфигуратор 1C како
развој на конвенционални решенија. Исто така, во моментов, друга развојна околина е достапна во бета верзија - „1C: Enterprise Development Tools“ базирана на Eclipse.

Мобилните можности на мобилната платформа

Бидејќи мобилната платформа не е стационарна, јасно е дека мора да има одредена функционалност што е достапна кога работите со мобилен уред. На пример, не сме изненадени што стационарна платформа може да печати документи на печатач? Во овој случај, стационарната платформа ги користи можностите на оперативниот систем на кој работи. Пример за блиска интеграција е HTML полето на документот во 1C, бидејќи во случајот на Windows се користи моторот Internet Explorer, а со Linux
- стандарден мотор на прелистувач. Сега да ја погледнеме листата на карактеристики што ги има мобилната платформа во мобилните системи:

  • Работа со телефонија - работа со дневници за повици (историја на повици) или можност за остварување повик
  • Работа со пораки (SMS и MMS) - не само испраќање, туку и читање примени пораки. Ова е погодно кога треба, на пример, да фатите СМС порака од клиентска банка и веднаш да внесете трошок или прием на пари врз основа на тоа. Сепак, 1C не може да ги чита постоечките СМС пораки.
  • Алатки за геопозиционирање - добивање координати од сателити и мрежи. Добивање координати по адреса или адреса по координата. Прикажување податоци на карта
  • Работа со мултимедија - можност за фотографирање, видео и аудио снимки
  • Скенирање бар-кодови - скенирање бар-кодови со телефонска камера: и линеарни (EAN13, Code39, итн.) и дводимензионални (QR, итн.)
  • Работа со е-пошта - главната разлика од фиксната е во тоа што во фиксната 1C треба само да ги регистрирате сите поставки за поврзување, а во мобилниот оперативен систем, на пример Android, веќе имате локална пошта. Затоа, за да испратите писмо, не треба да внесувате податоци за регистрација во самиот 1C.
  • Работа со контакти - читање, пишување, уредување контакти во вашиот уред
  • Работа со календарот - креирање и читање потсетници во календарот
  • Ориентацијата на екранот е способност да се следи фактот дека екранот на уредот е ротиран, што значи дека можете, на пример, да прецртате одредени форми за да изгледаат подобро во портретната ориентација, а не само да го ротирате пејзажот според принципот „како што е“ и се надевам дека самиот 1C ја зголемува формата, колку што е потребно
  • Работата со известувања е една од најинтересните и доста тешки точки за брзо објаснување. Но, накратко, ова е можност да го известите мобилниот 1C за нешто, на пример, дека треба да се синхронизира, итн.

Можностите на мобилниот 1C не се ограничени на оваа листа, но ова ќе го разгледаме подетално во следните публикации.

Списокот погоре е стандардните можности на 1C, а има и стандардни можности на самиот мобилен систем, кои 1C може да ги користи на ист начин како што стационарниот 1C работи со печатачи

Каде можам да добијам мобилна платформа?

Можете да ја преземете архивата со мобилната платформа од страницата за ажурирање 1C. Покрај тоа, можете да добиете мобилна платформа од фиксна платформа бесплатно. Во исто време, стационарната верзија нема да биде целосна, туку тренинг.

Значи, ние сме заинтересирани за архивата mobile.zip, која ги содржи следните датотеки:

  • 1CEnterprise_en.htm
  • 1CEnterprise_ru.htm
  • Андроид
  • MobileAppMaker

Во датотеките .htm ќе најдете договор за лиценца кој ви овозможува да развивате и тестирате 1C на 50 мобилни уреди.
Следно, ќе видите три папки, од кои секоја ги содржи датотеките потребни за да се добијат
конечната верзија на вашата апликација. Ајде да ги погледнеме по ред.
Папката Android ги содржи следниве датотеки:

  • 1cem-arm.apk
  • 1cem-x86.apk
  • prjandroid-arm.zip
  • prjandroid-x86.zip

Датотеките со наставката .apk се платформа за програмери која може да се инсталира на самиот телефон. А останатите датотеки се потребни за да се состави финалната верзија. Имајте предвид дека уредите со Android користат две архитектури на процесори: рака и x86. Според тоа, за секоја архитектура треба да користите своја сопствена верзија на апликацијата. Одредувањето каква архитектура има вашиот уред е многу едноставно - ако имате процесор Intel, тогаш тој е x86, сè друго е рака. Најважно е да не го мешате, бидејќи ако се обидете да ја инсталирате верзијата x86 на телефон со процесор за рака, има значителни шанси да се инсталира (иако може да даде грешка при инсталацијата), но потоа нема да работи правилно или едноставно ќе даде грешка при стартување и затворање.
Папката iOS содржи датотеки што се неопходни за работа со уреди со iOS.

  • prjios.zip
  • prjios_en_ru.zip

И во последната папка MobileAppMaker има конфигурациска датотека „Градење на мобилни апликации“.

Продолжува...

Мобилната платформа 1C: Enterprise е збир на алатки и технологии за брз развој на апликации за мобилни оперативни системи iOS, Android, Windows Phone / 8.1 / 10, со користење на истите развојни околини (Конфигуратор или 1C: Алатки за развој на претпријатија) и истите развојни техники, кои се користат за „редовни“ апликации 1C. Резултатот се автономни, офлајн апликации, но со можност за размена на информации со надворешниот свет користејќи широк спектар на алатки за интеграција обезбедени од платформата: веб и HTTP услуги, е-пошта итн. Бидејќи протоколите за размена се независни од платформата, мобилната платформа 1C, меѓу другото, е средство за брзо создавање на мобилен преден крај за речиси секое решение за серверот.

Позадина

Во времето на 1C: Enterprise верзија 8.0 (и следните верзии), имаше софтверски производ наречен „Екстензија за џебни компјутери“. Екстензијата дозволуваше создавање производи само за Windows Mobile, Windows CE итн. Производот имаше свој конфигуратор и сервер и беше поддржан до објавувањето на 1C: Enterprise верзија 8.3. Најновата верзија на екстензијата (8.2.9) беше објавена во октомври 2013 година, а целосната поддршка заврши на 1 јануари 2015 година.
Екстензијата имаше ограничена употреба дури и за време на најславниот период на комуникаторите на Windows Mobile, а заминувањето на таквите уреди од мобилниот пазар очигледно не ја зголеми популарноста на овој софтверски производ. iOS и Android уредите го зазедоа речиси целиот пазар на мобилни уреди и стана очигледно дека поддршката за овие оперативни системи е една од клучните точки за системот што мора да се управува во современиот мобилен свет. Исто така, се чинеше очигледно дека главниот пристап на постоечката платформа 1C: Enterprise треба да се користи на мобилни уреди: развивачот на апликации пред сè треба да размислува за решавање на проблемите со апликациите и второ, за тоа кои способности на оперативниот систем ги користи за да ги реши овие проблеми . Со други зборови, потребна ни е алатка која го изолира развивачот на апликации од особеностите на специфичен мобилен оперативен систем и алатка за развој.

Мобилна платформа

Врз основа на искуството од развивање и работење на екстензии за џебни компјутери, беше одлучено да се развие специјализиран систем кој ќе задоволи неколку барања:
  • мора да поддржува модерни популарни мобилни оперативни системи и уреди што ги користат. Пред сè, тоа се iOS од Apple и Android од Google.
  • овој систем треба да овозможи користење на развиени апликации во стилот усвоен на современите мобилни уреди. Конкретно, интерфејсот треба да се потпира на рачна контрола (буквално) со помош на екрани на допир.
  • системот мора да обезбеди унифициран софтверски интерфејс за имплементација на различни специфични механизми, без оглед на мобилниот оперативен систем што се користи.
  • развивачот мора да ја користи истата алатка и истите развојни пристапи како кога развива апликации за „обичен“ компјутер.
  • Развивачот на апликации треба да развие решение за апликација во познато опкружување за развој, ако е можно користејќи единствен код за десктоп и мобилни системи.
  • интерфејсот на апликациското решение што работи на мобилен уред треба да биде сличен за различни платформи и, генерално, да биде јасно препознатлив.
Резултатот од развојот беше таканаречената мобилна платформа, која беше објавена на 29 мај 2013 година во верзии за iOS и Android. Мобилната платформа 1C: Enterprise е збир на алатки и технологии кои ви овозможуваат да креирате апликации за мобилни оперативни системи iOS, Android, Windows Phone / 8.1 / 10, користејќи ја истата развојна околина (Конфигуратор) и истите развојни техники како за редовните апликации на платформата 1C: Enterprise. Резултатот се автономни, офлајн апликации, но со можност за размена на информации со надворешниот свет користејќи широк опсег на алатки за интеграција обезбедени од платформата: веб и HTTP услуги, е-пошта итн.
Мобилната платформа беше доста добро примена од заедницата и почнаа да се појавуваат разни написи на оваа тема (на пример, и). За да се развие целосно функционална апликација која работи истовремено на огромното мнозинство мобилни уреди, сега е потребно минимално време и знаење, што не е фундаментално различно од знаењето на „обичен“ развивач на апликации на платформата 1C:Enterprise. Се разбира, таквата ниска бариера за влез привлекува програмери кои треба да обезбедат некоја основна функционалност за вработените кои работат на патиштата, менаџментот и другите мобилни вработени кои треба да работат со корпоративниот систем.
Лесно е да започнете да развивате мобилна апликација на платформата 1C: Enterprise. Во Конфигураторот, треба да го поставите својството „Use Purpose“ на конфигурацијата на вредноста „Мобилен уред“. Во овој случај, некои објекти за конфигурација на апликацијата ќе станат недостапни (планови со карактеристичен тип, сметки итн.), но својствата специфични за мобилните апликации ќе станат достапни (на пример, вградени мултимедијални алатки и геопозиција на мобилен уред итн. .).


Во исто време, можете да ги дебагирате главните алгоритми на апликацијата (не директно поврзани со спецификите на мобилниот телефон) директно во Конфигураторот на компјутерот на развивачот. Во исто време, се препорачува врамување на делови од кодот во кои се пристапува до „мобилната“ функционалност со соодветни упатства до препроцесорот за да се избегнат грешки при извршување на кодот на персонален компјутер:
#Ако мобилната апликација е клиент, тогаш податоци = GeopositioningServer.GetProviderName(); #КрајотАко
Почнувајќи од верзијата 8.3.7 на мобилната платформа, дебагирањето на апликацијата директно на мобилен уред стана достапно (повеќе за ова подолу).

Развојот на мобилна платформа може да следи различни пристапи, но има неколку главни точки што може да се истакнат. Од гледна точка на градење на самата мобилна апликација, нејзиното функционално богатство и улога во ИТ инфраструктурата на претпријатието:

  • мобилната апликација може да биде составен и интегрален дел од постоечкиот информациски систем на претпријатието. Мобилната апликација ќе обезбеди интерфејс и други можности (вклучувајќи размена на податоци) прилагодени на можностите на постоечкиот информациски систем. Во овој случај, мобилната апликација е многу цврсто поврзана со „редовниот“ информациски систем и не може да се управува изолирано од него.
  • мобилната апликација извршува специфични задачи кои практично немаат врска со информацискиот систем на претпријатието. Постои само минимален сет на податоци што се разменуваат помеѓу мобилната апликација и информацискиот систем. Во овој случај, најверојатно, мобилната апликација ќе ја изврши размената користејќи некој стандардизиран протокол, што овозможува да се користи оваа мобилна апликација во сосема различни случаи и ситуации.
Двете ситуации опишани погоре може да се сметаат за екстремни опции. Но, ова не се единствените опции за развој. Развивачот на апликации може самостојно да ги избере опциите за интеграција помеѓу мобилната апликација и информацискиот систем што делува како задна канцеларија за неа.
Мобилната апликација е развиена како целосно самостојна конфигурација, но може да сподели дел од изворниот код со конфигурацијата „родител“. Патем, конфигурацијата „родител“ можеби физички не постои (на пример, ако развивате некаква универзална апликација која може да работи со различни системи користејќи универзален протокол).

Мобилен уред со платформа

Што е мобилна платформа и што може да направи?
Да бидеме фер, мобилната платформа е само една од компонентите на целиот комплекс, благодарение на што 1C: Enterprise 8 работи на мобилни уреди. Значи, развивачот на апликации работи со следниве компоненти:
  1. Самата мобилна платформа е мобилниот дел од рамката 1C: Enterprise. Тоа може да биде обична (која се користи при изработката на апликацијата за објавување во продавницата за апликации) и мобилна платформа за развивачи, која се користи (изненадување) при развивање на мобилна апликација.
  2. Мобилната конфигурација е конфигурација на програмскиот систем 1C:Enterprise, напишана во форма на XML-датотека.
  3. Комбинацијата на мобилна платформа и мобилна конфигурација резултира со мобилна апликација.
  4. Градител на мобилни апликации е специјализирано апликативно решение кое може да направи готова датотека за мобилна апликација од мобилна платформа, конфигурација, скринсејвери, икони и други компоненти, кои може да се прикачат на Apple AppStore, Google Play, Windows Phone Apps / Windows Apps продавници.
Зошто сè е толку тешко? Зошто не може да се направи на мобилен уред токму како што се прави на голема платформа? Оние. да инсталирате една мобилна платформа на уредот и да вчитате било кој број конфигурации/апликации во неа? Ова е забрането со ограничувања за лиценцирање на апликации кои се дистрибуираат преку продавници за апликации. На пример, ако вашата апликација презема извршна шифра (во форма на скрипта) преку Интернет, таа никогаш нема да се појави во продавницата за апликации на Apple. Сепак, треба да се разбере дека можноста за преземање на која било конфигурација што е достапна во мобилната платформа на развивачот не е наменета за дистрибуција на мобилни апликации дури и во истата компанија, а да не зборуваме за дистрибуција до клиентите на развивачот.
Откако мобилната апликација е на целниот мобилен уред, станува неопходно да се користи некаква база на податоци (податоците мора да се складираат некаде). Како мотор на база на податоци, мобилната платформа користи сопствен мотор на база на податоци, кој се пренесува на мобилната платформа од платформата за персонален компјутер. Тој е компактен и доволно брз, но главната работа е што го обезбедува истото однесување на кое се навикнати развивачите на апликации кога работат на платформа за персонални компјутери.
Исто така, вреди да се напомене дека внатрешно, мобилната апликација е изградена според истата шема како и работата на редовна платформа со верзија на датотеката на информативната база: има дел од клиентот, има дел од серверот, има база на податоци и постои интеракција клиент-сервер.
Самата мобилна платформа е напишана како домашна апликација, составена во бинарен код за главните процесорски архитектури кои моментално се користат во мобилниот свет: ова е ARM v5 и повисока архитектура и x86.
Покрај тоа, може да бидат потребни посебни дозволи за интеракција со одредени способности на мобилниот уред (телефонија, GPS, работа со вградената камера итн.). За iOS, тие се поставуваат директно за време на работата на самата апликација, а за Android, дозволите се наведени при креирањето на апликацијата. Потребните дозволи се наведени при развивање мобилна апликација и се користат од страна на градител на мобилни апликации, но повеќе за градителот малку подоцна.

Малку за платформата за развивачи

Додека развиваме мобилна апликација, не сме обврзани со ограничувања за лиценцирање наметнати на мобилни апликации дистрибуирани преку продавници за апликации. Ова значи дека можеме да ја користиме мобилната платформа 1C на ист начин како што користиме „голема“ платформа на персонален компјутер - инсталирајте ја самата мобилна платформа на паметен телефон/таблет и вчитајте ги конфигурациите на мобилните апликации во неа. По лансирањето, платформата ќе ни покаже листа на апликации регистрирани во неа:

За да додадете нова апликација на платформата, треба да поставите XML-датотека со нејзиниот опис на ресурс достапен од мобилен уред преку протоколот HTTP. Најпогодниот начин да го направите ова е од Конфигураторот, преку менито „Конфигурација \ Мобилна апликација \ Објави“. Во овој случај, датотеката XML со конфигурацијата на апликацијата се поставува на веб-сервер на компјутерот на развивачот (соодветно на тоа, овој компјутер мора да има веб-сервер - IIS или Apache).

Ако ја наведете опцијата „Рестартирај од конфигуратор“ за апликацијата, апликацијата на мобилниот уред автоматски ќе се ажурира од компјутерот на развивачот секогаш кога развивачот ја ажурира конфигурациската датотека XML што се наоѓа на веб-серверот.
Кога е овозможена опцијата „Дозволено дебагирање“, чекор-по-чекор дебагирање на апликацијата на мобилен уред е можно од Конфигураторот на компјутерот на развивачот (во Конфигураторот, опцијата „Дебагирање преку HTTP“ мора да биде избрана во „ менито Tools\Options“). Ако поставите точки на прекин во кодот во Конфигураторот и ја изберете командата „Мобилна апликација - започнете со дебагирање“, мобилната апликација на уредот ќе престане кога кодот за извршување ќе достигне точка на прекин, а во Конфигураторот можете да ги видите вредностите на променливи, стек на повици итн.

Што може да направи?

Значи, што може да направи мобилната платформа? Доволно:)
Ако не користите специфични услови 1C: Enterprise, мобилната платформа обезбедува можност за работа со регулаторни и референтни информации, изготвување документи што опишуваат некои надворешни дејства, прегледување извештаи, комуникација со надворешниот свет користејќи услуги на Интернет и многу повеќе. Оние. му дава можност на развивачот на апликации да напише прилично функционална апликација, на пример, сметководствена програма за домашни финансии, програма за теренско тргување и слично.
Но, покрај вообичаената функционалност што се наоѓа на платформа за персонален компјутер, мобилната платформа мора да обезбеди работа со специфични способности кои се единствени за мобилните уреди:
  • работа со повици и дневници на повици;
  • работа со кратки пораки (SMS) и нивна листа;
  • контакти;
  • календари;
  • геопозиционирање (без рутирање);
  • ви овозможува да фотографирате, како и видео и аудио снимање;
  • реагираат на промени во ориентацијата на екранот;
  • работа со известувања (локални и PUSH, и директно и преку специјална посредничка служба);
  • скенирајте бар-кодови и QR-кодови со помош на камерата
  • Монетизација на мобилни апликации (т.е. начин да му се даде на развивачот на мобилни апликации можности за дополнителен приход):
    • Работете со услугите за купување на Apple In-App Purchase (за iOS OS) и Google Play In-App Billing (за Android OS), со кои можете да организирате разни видови претплати, купувања на функционалност итн. во мобилна апликација
    • Прикажување реклами во мобилни апликации (моментално се поддржани iAd услугите за iOS и AdMob за Android).
  • итн.
Јасно е дека некои функции можеби не се достапни на секој специфичен уред, затоа, за да се утврди што може да се направи на уредот на кој работи мобилната апликација, обезбедени се специјални методи кои ви овозможуваат да дознаете што е достапно на овој уред , на пример, можноста за бирање броеви или не. Така, приближно се имплементира следнава шема за користење: проверуваме дали некоја карактеристика може да се користи или не, и ако е можно, ја користиме:
If Telephony Tools.SupportedDialing() Потоа Telephony Tools.DialNumber(PhoneNumber, CallImmediately); крајАко;
Сокривањето детали за мобилниот оперативен систем што се користи од развивачот на апликацијата и обезбедувањето унифицирани механизми за користење на мобилната функционалност е важна задача за нас. Веруваме дека успешно го решаваме проблемот. Разликите во имплементираните механизми се или отсутни или минимизирани. Освен, се разбира, за случаи кога воопшто нема функционалност во некој од оперативните системи.
На пример, техниката за работа со PUSH известувања е многу различна помеѓу Google и Apple. Направивме многу напор да го обединиме механизмот за работа со PUSH известувања од кодот на апликацијата. Во случај на мобилна апликација, успеавме речиси 100%: истиот код на апликација на мобилен уред го обработува примањето на PUSH известувања и на iOS и на Android. И кодот за испраќање PUSH известувања во серверската апликација исто така изгледа исто. Но, за да постигнеме такво обединување, моравме да развиеме специјален прокси-сервер https://pushnotifications.1c.com/, кој крие од развивачот различни техники за работа со Apple Push Notification Service (APNS) и Google Cloud Messaging (GCM). ). Целата разлика лежи во различните поставки директно на страницата за прокси https://pushnotifications.1c.com/; за да работите со APNS, треба да поставите SSL сертификат на страницата (кој Apple го издава за апликацијата на барање на развивачот за работа со GCM, треба да наведете единствен идентификатор на апликацијата).
Очигледно, невозможно е веднаш да ги имплементирате сите карактеристики што ги сакате во мобилната апликација. И секогаш треба да најдете компромис помеѓу неколку многу корисни работи. А ако нешто ви недостига, пишете ни какви деловни задачи (на крајот на краиштата, платформата е, пред сè, алатка за спроведување деловни задачи!) не можете да ги решите и кој механизам би ви помогнал во ова.

Како изгледа?

Графичкиот интерфејс на мобилната платформа е посебно прашање. Во 1C: Enterprise, како што знаете, интерфејсот е опишан декларативно. Ова, од една страна, наметнува одредени ограничувања за развојот на интерфејсот (на пример, не постои можност за позиционирање пиксел по пиксел), но, од друга страна, овозможува платформата рамномерно да го прикажува интерфејсот на различни екрани големини, во тенки и веб-клиенти. Се обидовме да се придржуваме до истиот принцип и во мобилната платформа. Колку добро го направивме ова? Ајде да се обидеме да го сфатиме.
Во првите верзии на мобилната платформа (вклучително до 8.3.5), графичкиот интерфејс на апликациите им изгледаше многу познат на софистицираните корисници на 1C; всушност, тој го префрли интерфејсот познат од „десктоп“ верзиите на 1C во мобилниот свет. Но, од гледна точка на корисници кои претходно не биле запознаени со 1C, интерфејсот изгледаше малку архаичен.
Земајќи ги предвид коментарите и предлозите, радикално го ревидиравме нашиот пристап кон мобилниот интерфејс во верзијата 8.3.6. Можеме да кажеме дека направивме целосно нов мобилен интерфејс за нашите апликации. Има многу заедничко со нашиот такси интерфејс. Развојниот модел за развивачи на мобилни апликации одговара на развојниот модел во Taxi. Во исто време, мобилниот интерфејс целосно се усогласува со дизајнерските пристапи усвоени во мобилните апликации. Интерфејсот целосно ги зема предвид спецификите на мобилниот свет: мали димензии на екранот (што значи дека дизајнот на графичките елементи треба да стане поаскетски - без сенки, градиенти), има поддршка за гестови со прсти итн. Интересен факт: новиот механизам за платформа одговорен за поставување елементи во форма (распоред) се покажа како толку успешен и навремен за мобилната платформа што беше објавен порано (во верзијата 8.3.6) отколку во платформата за компјутер (во верзијата 8.3 .7) , за што првенствено бил наменет.
На сликата можете да видите како се промени нашиот интерфејс.
Апликација „Управување со мала компанија“ на мобилна платформа верзија 8.3.5:


Истото е и на верзијата 8.3.6:

А вака изгледа интерфејсот на мобилната платформа во реалниот живот:

Колекционерот - и каков ѕвер е ова?

Како што беше споменато претходно, мобилната апликација се состои од неколку компоненти (самата мобилна платформа, конфигурација, различни ресурси), кои мора да формираат единствена целина за да се постави апликацијата во продавницата. За да може полесно да се претворат компонентите во апликација, развиен е развивач на мобилни апликации. Ова е конфигурација (апликација) создадена на платформата 1C:Enterprise, која ги складира во својата база на податоци сите компоненти потребни за креирање мобилна апликација. За да може колекторот да си ја заврши работата, треба да преземете и инсталирате различни софтверски пакети кои се потребни за неговото функционирање (Java и Android SDK итн.), потоа да ги наведете патеките до овие пакети во поставките на колекторот и да поставите некои дополнителни параметри (програмерски клучеви итн.).


По конфигурацијата, асемблерот е подготвен за употреба. Во принцип, работата со колекторот изгледа вака:
  1. Преземете ја верзијата на мобилната платформа 1C на која ќе ја изградиме апликацијата
  2. Вчитување на конфигурацијата од која ќе ја изградиме мобилната апликација
  3. Создаваме мобилна апликација во која посочуваме за кои платформи (Android, iOS, Windows) треба да се изврши изградбата, каква конфигурација и платформа треба да се користи (особено, наведете кој сертификат да го користите за градење за iOS ако апликацијата работи со PUSH- известувања).
  4. Изградуваме мобилна апликација за сите избрани платформи со еден клик
  5. „Со уште еден клик“ ги испраќаме собраните мобилни апликации до продавниците за апликации (ако се работи за апликација за iOS или Android). Апликацијата мора да се преземе рачно во продавниците за Windows Apps / Windows Phone Apps, бидејќи Мајкрософт сè уште не обезбедува API за објавување апликација во продавницата.
Посебно треба да се забележи дека колекторот не е потребен за развој и дебагирање на мобилна апликација. За да го направите ова, можете да ја користите платформата за мобилни програмери и алатките Конфигуратор за да ја пренесете конфигурацијата на мобилниот уред. Но, за да дистрибуирате мобилна апликација, потребен ви е колекционер.

Апликации на мобилната платформа

Самата компанија 1C произведува голем број апликации на мобилната платформа кои се мобилни клиенти на апликации за сервери 1C (1C: проток на документи, 1C: управување со мали фирми итн.). Овие апликации имплементираат некое подмножество од функционалноста на „редовните“ клиенти. Во случајот со мобилната верзија на 1C: Small Firm Management, функционалноста е доволна за целосно користење на програмата и често сме виделе ситуација кога мобилната верзија на апликацијата е доволна за клиентите да водат бизнис.
Нашите партнери ја користат мобилната платформа и за развој на масовно произведени мобилни апликации дистрибуирани преку продавници за апликации, така и за сопствени апликации креирани според барањата на одредени клиенти. Помеѓу масовно произведените апликации, постојат апликации кои користат заден дел што не е 1C како централно складирање податоци.
Меѓу мобилните апликации создадени на барање на клиентите, може да се спомене мобилниот клиент за 1C: Manufacturing Enterprise Management, создаден по нарачка на голем машински холдинг. Околу стотина вработени во холдингот ја користат мобилната апликација во жешки продавници, каде од безбедносни причини е невозможно да се инсталираат десктоп компјутери. Вградената камера на мобилниот уред се користи за читање бар-кодови на производи и пребарување за нив во директориумот на ставки, мобилната апликација ви овозможува да разберете во која фаза од технолошкиот синџир се наоѓа даден производ, означете го преминот на следното работење на производот, итн.

Заклучок

Се обидовме многу површно да ја опишеме мобилната платформа, што ви дозволува да правите и зошто испадна така. Оваа статија не кажува речиси ништо за мобилниот Windows. Постојат неколку причини за ова: прво, верзијата на мобилната платформа за Windows беше објавена релативно неодамна („1C: Enterprise“ верзија 8.3.7), и второ, оваа верзија на мобилната платформа нема некои значителни разлики од имплементација за други мобилни оперативни системи . Секако, ќе ја зголемиме функционалноста за Windows OS. Како и зголемување на функционалноста на мобилната платформа како целина. Значи, во блиска иднина имаме поддршка за надворешни компоненти во мобилната платформа; овој механизам (долго достапен во „големата“ платформа) ќе им овозможи на програмерите да имплементираат функционалност што поради некоја причина не е достапна во мобилната платформа.
Традиционално, силните страни на технолошката платформа 1C: Enterprise се нејзината леснотија на користење за програмерите и брзината на креирање и менување деловни апликации. Мобилната платформа 1C ги донесе двата од овие адути во мобилниот свет. Мобилната платформа 1C е можност за брзо развивање на апликација која работи на трите најпопуларни мобилни платформи (iOS, Android, Windows Phone / 8.1 / 10). И благодарение на широкиот опсег на достапни алатки за интеграција независни од платформа (Веб и HTTP услуги, итн.), мобилната платформа 1C е способност брзо да се создаде мобилен клиент за три мобилни платформи за речиси секоја серверска апликација која поддржува која било од методи на интеграција достапни во платформата 1C (Веб и HTTP услуги, споделување датотеки, итн.).

Во анкетата можат да учествуваат само регистрирани корисници. , Ве молам.

Развојот на мобилни апликации на платформата 1C за веќе обучени 1C програмери кои работат на стационарна платформа бара минимален сет на вештини и има многу низок праг за влез во мобилниот развој (во споредба со другите платформи за развој на мобилни телефони).

Во оваа статија, ќе се обидам чекор по чекор да ги опишам главните точки за работа со мобилната платформа (нешто како мини F.A.Q. за започнување развој за мобилната платформа).

Значи, да започнеме:
1.Ја инсталираме стационарната платформа 1C, не заборавајте да ја наведете компонентата „Модули за проширување на веб-серверот“ за време на инсталацијата.
2.Инсталирајте го веб-серверот Apache 2.2 со стандардни поставки.
3.Креирајте празна информативна база со стандардни поставки и отворете ја во режим на конфигуратор.
4.Во конфигураторот, поставете ја „целта на користење“ - мобилен уред. Можете исто така да ги изберете опциите за персонален компјутер или хибридна опција „мобилен уред + персонален компјутер“. Ако ја избереме хибридната опција „мобилен уред + персонален компјутер“, треба да направиме разлика помеѓу кодот што ќе се изврши на компјутерот и на мобилниот уред. За да се разграничи извршувањето на кодот, се користат директивите на предпроцесорот „#If MobileApplicationClient Then“ и „#If ThinClient Then“. Директивите за претпроцесор го дефинираат контекстот на кодот 1C. Треба да се разбере дека множеството на конфигурациски објекти достапни за употреба е значително ограничено во мобилната платформа во споредба со стационарната платформа. На пример, во мобилната платформа не можеме да работиме со планови за типови карактеристики, сметки, сметководствени регистри, како и извештаи (недостапните гранки на метаподатоци се означени со сиво).

5.Ажурирајте ја конфигурацијата и објавете ја на веб-серверот.


6.Одиме во прелистувачот на http://127.0.0.1/MobPril/ и ја гледаме XML-датотеката (т.е., целата наша објавена конфигурација е зачувана на веб-серверот како XML-датотека).


7. Инсталирајте ја виртуелната машина „VMware Workstation“ (или која било друга). Го распоредуваме оперативниот систем Андроид на виртуелна машина.

П.С. Подобро е да користите вистински уред со Android наместо виртуелна машина, бидејќи вистинскиот уред секогаш ќе работи побрзо и постабилно од виртуелната машина.
8. Инсталирајте ја мобилната платформа 1C на Android.

За да ги префрлите датотеките за инсталирање на мобилната платформа на Android, погодно е да ја користите програмата Google Drive (за да го направите ова, треба да ја инсталирате програмата Google Drive на Android (од Playmarket) и програмата Startup and Sync на вашиот персонален компјутер ). Ако ја инсталираме платформата на виртуелна машина, тогаш ни треба датотеката “ 1cem-x86.apk„Ако ја инсталираме платформата на вистински мобилен уред со Android, тогаш ни треба датотеката“ 1cem-arm.apk«.


9. Следно, ја поврзуваме апликацијата објавена на веб-серверот со нашиот мобилен уред.
За да ја дознаете IP адресата на компјутерот на кој е инсталиран веб-серверот Apache, само напишете ја командата на командната линија ipconfig(или погледнете во деталите за мрежната врска). Ако добиете грешка при поврзувањето, обидете се да го оневозможите вашиот антивирус и заштитен ѕид.

Ако го поставиме знамето „Рестартирај од конфигуратор“ во мобилната апликација, тогаш секогаш кога ќе се стартува мобилната апликација, ќе се бара ажурирана мобилна апликација на десктоп компјутерот, а потоа по стартување на мобилниот апликацијата ќе се ажурира на мобилниот уред.



10. Да ја напишеме нашата прва апликација „Здраво СВЕТ!!!“.

За да го направите ова, следете ги овие чекори:

10.1.Креирајте општа форма и поставете ја декорацијата врз неа.

10.2.Отворете ја работната област на почетната страница и додадете таму општата форма создадена во чекор 10.1.

Ќе наведеме и една колона како шаблон за почетната страница (само 1 колона е достапна во мобилната апликација).

10.3 Ајде да ја стартуваме нашата мобилна апликација и да го видиме натписот „Здраво СВЕТ!!!“.


11.При креирање на формулари за документи, именици и сл. треба да ја земеме предвид големината на екранот на мобилниот уред и да не натрупуваме голем број елементи на формуларот, во спротивно ќе изгубиме во употребливоста. На формуларот треба да се стават само оние елементи што всушност ќе ги користи корисникот. За да заштедите простор во табеларните делови на документите, можете да користите групи колони наместо колони. Употребата на просторот на формуларите треба да се оптимизира.

Ајде да создадеме референтни книги „Предмети“, „Карактеристики на ставки“, „Договорни страни“ и документ „Примање на стоки“ и да видиме како тие се прикажани на мобилната платформа.

Сликите од екранот подолу ги прикажуваат формите на списокот на директориумите „Номенклатура“ и „Договорни страни“.


Формулар за документ „Прием на стоки“:

Како што можете да видите од сликата од екранот, делот за табела користи група колони за оптимизирање на просторот.

Формулар за внесување нова линија во делот табела на производи:

Форма на список на документи „Примање на стоки“:

Така, имаме 2 конфигурации - конфигурација на мобилен уред со ограничен сет на објекти и конфигурација на десктоп компјутер што разменува.
Треба да се разбере дека пропусниот опсег на мобилниот интернет е прилично низок и преносот на големи количини на податоци помеѓу мобилен уред и десктоп компјутер трае многу време.

Во оваа статија, користевме платформа за развивачи и 2 конфигурации (конфигурација на мобилен уред со ограничен сет на објекти и конфигурација на десктоп компјутер). Овој пристап е потребен само кога се развива апликација во вистинска пракса, ќе ја составиме датотеката .apk на мобилната апликација и ќе ја поставиме на Playmarket; Корисникот ќе ја преземе датотеката apk, ќе ја инсталира на мобилен уред и ќе користи целосно автономна мобилна апликација.

На мобилната платформа достапни се и функциите за остварување повици и испраќање СМС пораки, скенирање баркодови, снимање аудио и видео, функции за геопозиционирање, како и работа со веб сервиси. Продолжува…

Добро попладне, драги читатели, ви пренесуваме кратка статија за создавање едноставна мобилна апликација базирана на мобилната платформа 1C: Enterprise за Android без компајлирање во датотека apk.

За почеток, ајде накратко да ги дефинираме основните концепти и софтвер што ќе ни требаат за развој.

1.Основни поими

Мобилна платформа- алатка која ви овозможува да имплементирате апликации што работат на мобилни уреди со оперативни системи iOS, Android и Windows Phone.

Мобилна апликација -е крајниот резултат на развојот . Инсталиран е на мобилен уред и има можност за размена на информации со главната апликација во Off-line режим. Следниве канали за пренос на информации се достапни за размена: Размена на датотеки, е-пошта, веб-услуги итн.

Конфигураторот делува како развојна средина единственото нешто што треба да се земе предвид е дека не се поддржани сите конфигурациски објекти и системски механизми од мобилната апликација;

2.Поставување софтвер

2.1 Инсталацијавеб сервери

Прво, да го инсталираме веб-серверот. Работата е можна и со двете Интернет информации услугиод Microsoft и со Апачи. Во нашиот пример ќе разгледаме Апачибидејќи полесно се поставува и е стабилна во работењето.

Користење на " Следно » одете на следниот прозорец:

Во полињата „Мрежен домен“И „Име на сервер“напиши" локален домаќин" (или 127.0.0.1). Ова значи дека серверот ќе работи на локалниот компјутер.

На терен « Администраторс Е-пошта Адреса» Ја наведуваме адресата за пошта, одговорите на серверот ќе бидат испратени до неа.

Стандардно Апачиработи со порта 80. Многу популарни програми стандардно работат со истата порта, на пример TeamViewer, Скајпд, што нема да ви дозволи да започнете во иднина Апачи. Постојат 2 опции за решавање на овој проблем, оневозможување на употребата на оваа порта во овие програми или промена на портата Апачи.

За да дознаете кои програми ја зафаќаат портата 80, треба да извршите cmd.exe (кликнете Start - внесете cmd во пребарувањето - кликнете со десното копче „Стартувај како администратор“) во прозорецот што се појавува, внесете ја командата нетстат -ab.

На скриншот гледаме дека портата 80 е окупирана од Skype.

Да ја оставиме стандардната порта 80. Кликнете на „ Следно » изберете стандардна инсталација. Кликнете на " Следно » , променете го директориумот за инсталација доколку е потребно, во следниот прозорец кликнете „ Инсталирајте, по што ќе започне процесот на инсталација.

Откако ќе заврши инсталацијата, ќе се појави икона во системската лента, ако двапати кликнеме на неа, ќе се отвори следниот прозорец:

Ако сè уште имате проблеми со стандардната порта, секогаш можете да ја промените рачно, за да го направите ова треба да отидете во папката каде што е инсталирана Апачи, изберете ја папката " конф", отворете ја датотеката во неа“ httpd.conf" Најдете го параметарот во него "Слушај"и сменете ги неговите вредности во портата што ви треба, на пример 8080.

Откако ќе го промените бројот на портата, зачувајте ја датотеката и рестартирајте Апачи. За да го направите ова, кликнете на иконата во фиоката

Со левото копче на глувчето во менито што се појавува, изберете „ Рестарт».

Ајде да се увериме дека веб-серверот работи, одете во прелистувачот и внесете http://localhost:8080/ во полето за внесување адреса (каде што 8080 е портата што ја инсталиравме), на екранот треба да се појави следната страница:

2.2 Поставување платформа

За успешно работење, мора да се инсталираат следниве компоненти:

2.3 Инсталација на мобилната платформа

Преземете ја мобилната платформа од веб-страницата 1C https://users.v8.1c.ru/. Во нашиот пример, се користи верзијата 8.3.8.70.

Преземената платформа е архива која се состои од следните папки:

  1. Андроид- содржи датотеки за склопување за Android;
  2. iOS- содржи датотеки за склопување за iPhone;
  3. Windows- содржи датотеки за склопување за Windows Phone;
  4. MobileAppMaker- ги содржи конфигурациските датотеки „Application Builder“.

Бидејќи ќе ја развиваме апликацијата за уред со Android OS, ние сме заинтересирани за првиот директориум.

Да ја погледнеме неговата содржина:

  • 1cem-arm.apk е мобилна развојна платформа за архитектурата на АРМ, најчесто користена;
  • 1cem-x86.apk - платформа за развој на мобилни уреди за архитектура x86, која се користи за процесори на Интел;
  • prjandroid-arm.zip - мобилна платформа дизајнирана за градење мобилни апликации (за архитектура на ARM);
  • prjandroid-x86.zip е мобилна платформа дизајнирана за градење мобилни апликации (за архитектура x86).

Ајде да ја инсталираме мобилната платформа на уредот за да го направите ова, копирајте ја датотеката „1cem-arm.apk“ во меморијата на телефонот или ако вашиот уред користи процесор на Intel, „1cem-x86.apk“.

Ајде да одиме до менаџерот на датотеки на мобилниот уред, да ја најдеме нашата датотека и да ја стартуваме

За време на инсталацијата, може да добиете порака за блокирање на апликации кои не се примени од Play Store.

Во овој случај, треба да кликнете на „ Поставки„И во прозорецот што се појавува, штиклирајте го полето“ непознати извори»

и повторете ја инсталацијата.

2.4 Поставки за конфигурација

Откако ќе се конфигурира целиот софтвер, ќе започнеме да ја развиваме нашата мобилна апликација. Ајде да создадеме нова информативна база и да влеземе во неа во режим на конфигурација.
Одете во менито Алатки -> Опции и проверете ги полињата како што е прикажано на сликата од екранот:

Дали имате прашање или ви треба помош од консултант?

Следно, повикајте ги својствата на јазолот за конфигурација на root и поставете го параметарот „Use Purpose“ како „Mobile Device“ и отстранете го знамето „Personal Computer“. После ова, објектите на мобилната апликација ќе станат достапни. Некои конфигурациски објекти ќе станат недостапни.

2.5 Објавување на конфигурација на апликацијата

Следниот чекор е да ја пренесете конфигурацијата на телефонот. За да го направите ова, пред сè, ќе создадеме директориум, патеката до овој директориум треба да биде кратка, да не содржи празни места и да се состои само од латински знаци, на пример C:\MobileApp; Понатаму одете во Конфигурација -> Мобилна апликација -> Објави . Во прозорецот што се појавува, пополнете ги параметрите:

  • Име - Името на мобилната апликација. Името не смее да биде исто со името на публикацијата на базата на податоци за тенок клиент.
  • Ажурирајте ја мобилната апликација - ако е избрана оваа опција, тогаш секој пат кога ќе се ажурира конфигурацијата, конфигурацијата на уредот автоматски ќе се ажурира
  • Директориум - патека до папката каде што ќе се складираат датотеките за мобилни апликации.

Ајде да се увериме дека сè работи, одете во прелистувачот на http://localhost:8080/Mobapp/, треба да ја видиме следната xml-датотека:

Во полето за адреса, внесете ја IP адресата на компјутерот на кој е објавена конфигурацијата и името на самата публикација одделено со коса црта. Во нашиот пример, се користи нестандардна порта, така што адресата ќе изгледа вака:

Кликнете на копчето за преземање, по преземањето треба да се појави следниот прозорец за поставки:

Поставете ги параметрите:

  • « Рестартирајте од конфигураторот" - Апликацијата автоматски ќе се ажурира кога ќе се ажурира датотеката за конфигурација XML што се наоѓа на веб-серверот.
  • « Отстранувањето грешки е овозможено» - чекор-по-чекор дебагирање на апликацијата на мобилен уред е можно од Конфигураторот на компјутерот на развивачот. Притисни го копчето " добро».

Ако по притискање на копчето " Преземи„Ќе се појави слична грешка:

Сега нашата база на податоци е додадена на мобилниот уред и можеме да ја стартуваме, кликнете на неа во списокот за избор на база на податоци. Прозорецот што се појавува е празен бидејќи сè уште не сме додале објекти на метаподатоци. Да започнеме со развој.

  1. Поставување размена помеѓу Централната банка и мобилната апликација

Да претпоставиме дека имаме одредена изворна база на податоци што содржи само еден директориум: „Номенклатура“. И мора да разменува информации со нашата мобилна апликација.

Ајде да одиме до конфигураторот на мобилната апликација и да создадеме хиерархиски директориум наречен „Номенклатура“. Ајде да додадеме форма на список.

Ајде да одиме во работната област на почетната страница и таму да го додадеме формуларот за список со директориум „Номенклатура“, поставете го параметарот „Шаблон за почетна страница“ како „Една колона“.

Кликнете на копчето " Ажурирање“, апликацијата на вашиот телефон треба автоматски да се ажурира. Ако не, тогаш прикажете копче на панелот и притиснете го. Следниот прозорец треба да се појави на екранот:

Следниот чекор е да се создаде нова безбедност на информациите. На него ќе го додадеме директориумот „Номенклатура“, чија структура целосно ќе го повтори директориумот „Номенклатура“ на мобилната апликација. Оваа база на податоци ќе дејствува како извор.

Ајде да создадеме нова веб-услуга, да ја наречеме „MobileExchange“. Во својствата, поставете го URI на именскиот простор „MobileExchange“. Во оваа веб-услуга, ќе додадеме нова операција и ќе ја наречеме „Преземи производи“

Сега да напишеме код кој ќе врати список на производи од изворната база на податоци во форма на xml датотека. Ајде да одиме до својствата на операцијата „Вчитај производи“ и да создадеме нова функција од „ Име на методот" Ќе го напишеме следниот код во функцијата:

Ајде да објавиме веб-услуга, за ова одиме Администрација -> Објави на веб - Сервер . Во прозорецот што се појавува, поставете го името на веб-услугата „MobileExchange“ и отштиклирајте го полето за избор „Објави тенок клиент и веб-клиент“. После тоа, притиснете го копчето „ Објави».

По објавувањето на веб-услугата, да одиме до конфигурацијата на мобилната платформа, да ја отвориме формата на списокот на директориумот „Номенклатура“ и да додадеме нова команда „Ажурирај номенклатура“ во командната табла на формуларот. Пред да го направите ова, се препорачува да го отштиклирате „ Автоматско комплетирање“ на овој панел.

Направете ново дејство за командата „Ажурирај ставка“ и напишете го следниов код:

Ја ажурираме конфигурацијата.

Ова го комплетира развојот. Одиме во режимот за конфигурација на корисникот на Изворот и го пополнуваме директориумот за номенклатура на произволен начин

Одиме до мобилниот уред, ја стартуваме апликацијата и кликнуваме на копчето „Ажурирај ставка“. Ако сè е направено правилно, на екранот треба да се појават следните податоци:

Заклучок

Ајде да ја сумираме нашата работа - успеавме да конфигурираме и развиеме мобилна апликација од нула и да ја поставиме нејзината размена со друга база на податоци. Вреди да се напомене дека платформата 1C Mobile ви овозможува да го направите ова брзо и удобно.

Развојот на мобилни апликации секогаш е поврзан со потребата од учење дополнителни технологии. Што ако го преиспитаме прашањето и користиме веќе познати алатки?

За прв пат, компанијата 1C се обиде да влезе пазар за развој на мобилни телефониво 2006 година. Во тоа време, имаше вистинска брзање да се автоматизира работата на далечинските вработени кои користат PDA. Новите програми за решавање на ваквите проблеми се појавија како печурки, а продавачот како 1C со успешни производи за автоматизирање на различни деловни области не можеше да ја пропушти шансата да влезе на профитабилен пазар.

До средината на 2006 година, компанијата го претстави објавувањето на нов производ со ветувачко име „1C: Enterprise 8. Екстензија за рачни компјутери“. Програмерите на 1C, кои ги видоа изгледите на 8-та платформа, почнаа да се надеваат дека сега, користејќи една алатка, стана можно без многу потешкотии да се развие за мобилниот оперативен систем „Windows Mobile“, кој беше популарен во тие години.

Во пракса, сè изгледаше многу полошо. Оваа алатка не ни дозволи да имплементираме оригинални идеи. Пластична кеса " Екстензија за рачни компјутери» беше повеќе додаток за одредени типични конфигурации отколку полноправно развојно решение. Немаше одредба за проширување на конфигурациската функционалност со додавање нови објекти на метаподатоци. Многу едноставни работи беа оставени на програмерите од трети страни: создавање нови форми за интеракција со корисниците, обработка на кориснички настани.

Да, имаше секакви решенија за ограничувањата, но дури и тие не дозволуваа вистински развој. Покрај техничките ограничувања, потрошувачите почувствуваа сериозна финансиска бариера. Компаниите кои одлучија да го имплементираат решението од 1C беа обврзани да купат продуктивни PDA-и, да купат лиценци за Windows Mobile, а исто така да платат 1C за испорака на решението и финалната апликација.

Решението од 1C беше прескапо. Компаниите навикнати да штедат пари продолжија да користат алтернативни решенија. Покрај тоа, развивачите на алтернативи успеаја да ги опремат своите производи со функционалност за интеракција со стандардни решенија 1C.

Техничките ограничувања и високата цена не му дозволија на производот да го повтори колосалниот успех на десктоп платформата. Идејата да се освои мобилниот пазар на зградата.

апликациите очајно пропаднаа.

Чекор напред

Загубата и загубите од неуспешен проект не ставија крај на развојот на перспективна насока. Во 2013 година, компанијата 1C ја претстави првата стабилна верзија на новата платформа 8.3, која има функција за развој на мобилни апликации.

1C целосно го преиспита својот пристап кон решавање на мобилната „теорема“ и ги зеде предвид грешките на претходниот неуспешен производ. Резултатот е сосема нова алатка која нема ништо заедничко со својот претходник и е фокусирана на најактуелните мобилни платформи - Android и iOS.

Мобилни апликации во 1C стил

За целосно да се запознаеме со развојните можности за мобилните платформи, ќе се обидеме да развиеме мала конфигурација. Користејќи пример од крај до крај, можете подобро да ја оцените достапната функционалност и да одлучите за можноста за користење на платформата 1C за решавање на проблемите.

За да работите, ќе ви треба најновото издание на платформата 1C:Enterprise 8.3. Едукативната верзија на дистрибуцијата е достапна на официјалната веб-страница на 1C. Има повеќе од доволно за да се пресоздаде пример за неговите способности.

Покрај платформата 1C: Enterprise 8.3, ќе ни требаат голем број дополнителни алатки. Оваа статија ќе разгледа пример за развој на апликација за Android. Во овој поглед, ќе мора да преземете: Android SDK и Apache WEB сервер. Првата компонента содржи се што е потребно за да се изгради апликацијата и емулатор за тестирање, а WEB серверот е корисен за брзо преземање на апликацијата на мобилниот оперативен систем.

Ќе бараме и испорака на „Платформа за мобилни програмери“. Содржи конфигурација за поедноставување на процесот на градење на креираната мобилна апликација, како и платформа за мобилни програмери. Мора да се инсталира на мобилен уред или емулатор.

За да изградите апликација подготвена за дистрибуција преку Google Play, ќе треба да преземете АпачеантИ JavaJDK. Оваа тема е надвор од опсегот на статијата, така што можете да дознаете повеќе за работата со овие алатки и склопување на апликацијата во соодветниот дел од мојот.

Алатки за конфигурирање

Платформа " 1C: Претпријатие 8.3" и веб-серверот Apache се снабдени со инсталатери и се инсталирани на стандарден начин. Android SDKсамо треба да го отпакувате во посебен директориум и да го стартувате “ sdk manager.exe" Пред вас ќе се појави прозорец со избор на достапни пакети за инсталација. За да го тестирате примерот дискутиран во оваа статија, ќе треба да изберете и инсталирате: Алатки за Android SDK, А Алатки за платформа за андроид, SDK платформа API 17.

Последниот чекор ќе биде создавање нова информативна база. За оние кои не се вклучени во развојот под " 1C: Претпријатие„Ќе објаснам дека секое решение за оваа платформа се состои од информативна база и конфигурација. Додавањето нова база на податоци се врши со кликнување на " Додадете» почеток прозорец. Откако ќе ја додадете базата на податоци, отворете ја во " Конфигуратор».

Прва мобилна конфигурација

Во главното мени на конфигураторот ќе го најдеме делот „ Конфигурација" и изберете "Отвори конфигурација". Конфигурациското стебло (објектите што ќе ја сочинуваат идната апликација) ќе се прикаже на левата страна од прозорецот. Изберете го коренот на конфигурацијата во него и притиснете ја комбинацијата на копчиња „ Alt+Enter" Уредувачот на својства ќе се отвори во десниот дел од прозорецот на конфигураторот.

Ајде да ја повикаме конфигурацијата " ДА НАПРАВИШ" и во имотот "Цел на употреба" укажуваме " Мобилен уред" Ве молиме имајте предвид дека по извршувањето на последното дејство, некои јазли од конфигурациското дрво ќе станат неактивни. За жал, не е можно да се користат сите објекти на метаподатоци на мобилната платформа.

За да го решиме нашиот проблем, ќе треба да создадеме неколку објекти на метаподатоци во дрвото за конфигурација:


Постапка AddTask(Task) ExportRecordManager = CreateRecordManager(); RecordManager.Period = CurrentDate(); RecordManager.Task = Задача; RecordManager.Status = Task.Status; RecordManager.Record(); Крај на постапката

Список 2. Код на функцијата „Земи листа на незатворени задачи()“

Функција GetList of UnClosedTasks() Барање за извоз = Ново барање; Query.Text = "ИЗБЕРЕТЕ |TaskStatusSliceLast.Task AS Task, |TaskStatusSliceLast.Task.ExecutionDate AS ExecutionDate |FROM | Регистар на информации.TaskStatus.SliceLast(&CurrentDate, Status<>VALUE(Enumeration.TaskStatuses.Completed)) AS StateTasksSliceLast | |ПОРАЧАЈ ПО | Датум на извршување DESC"; Request.SetParameter("CurrentDate", CurrentDate()); Return Request.Execute().Unload(); EndFunction

Подредивме да добиваме податоци од регистарот за информации и да ги снимаме, сега да го научиме нашиот директориум како да работиме со регистарот. За да го направите ова, додадете заеднички модул на дрвото за конфигурација со име „ Работа со задачи" Можете да направите без него, но веднаш би сакал да се фокусирам на можноста за прекршување на кодот во модули. Многу развивачи на 1C сè уште ја занемаруваат оваа препорака и ја опишуваат целата логика на едно место, а со тоа го комплицира последователното одржување на кодот. Ајде да создадеме нова процедура во модулот " Креирајте NewTask"(види Список 3).

Список 3. Код за процедурата „Креирај нова задача“.

Постапка CreateNewTask(Link) Export If Link.ThisGroup then Return; крајАко; Барање = Ново барање; Query.Text = "SELECT |TaskStatusSliceLast.Status |FROM |Information Register.TaskStatus.SliceLast(&CurrentDate, Task = &Task) AS TaskStatusSliceLast"; Query.SetParameter ("CurrentDate", CurrentDate()); Request.SetParameter ("Задача", Врска); Резултат = Query.Run().Select(); If Result.Next() Потоа If Result.Status<>Врска.Статус Потоа информациите се регистрираат.Статус на задачата.AddTask(врска); крајАко; Инаку Регистри на информации.TaskStatus.AddTask(врска); крајАко; Крај на постапката

Пред создавање на нов запис, се врши проверка за присуство на постоечки записи за задачата. Ако записот веќе постои, тогаш треба да ги споредите статусите на задачите. Ако статусот од регистарот не се разликува од статусот на елементот што се запишува, нема потреба да се креира дополнителен запис.

Како завршен допир, да ја отвориме формата на ставката во директориумот „Задачи“ и да создадеме управувач за настани „ AfterRecordingOnServer" Во него ќе напишеме повик за постапката опишана во третиот список:

WorkWithTasks.CreateNewTask(CurrentObject.Link);

Работиме на интерфејсот

Главната функционалност на апликацијата е подготвена - корисникот може да креира задачи, а секоја нова задача создава запис во периодичниот регистар на информации. Сега да преминеме на интерфејсот. Ајде да ја доведеме работата со задачите во прв план. Сигурно би било логично веднаш да се прикаже список на незатворени задачи и можност да се создаде нова веднаш по стартувањето на апликацијата?

Ајде да го најдеме јазолот“ Општи форми" и додадете нова форма наречена " Десктоп" Ајде да ја отвориме креираната форма во дизајнерот на интерфејс и да додадеме атрибут како " Табела на вредности" Да го наречеме „OpenZachi“. Табелата ќе содржи две колони - „ Задача"(Референциска врска.Задачи) и" Датум на извршување" (Датум на).

Следниот чекор е да ги повлечете додадените реквизити на формуларот. Треба да имаме интерфејс за едноставна табела. Нема да одредиме никакви димензии, ќе ја оставиме грижата за скалирање на интерфејсот на платформата.

За креираната табела, во инспекторот за имот, поставете го полето за избор за имотот " Само погледнете", и имотот" Позиција на командниот панел» поставете ја вредноста „Не“. Табелата ќе ја пополниме со динамични информации, така што нема смисла да ја уредуваме од страна на корисникот.

Сега да го опишеме управувачот со настани „When CreatedOnServer“ за формуларот. Ајде да додадеме една линија код на него:

OpenTasks.Load(InformationRegisters.TaskStatus.GetListofUnClosedTasks());

Во кодот, ние се однесуваме на постапката што ја опишавме " Добијте го списокот со незатворени задачи“ и резултатот од неговото извршување е ставен во табелата.

Да се ​​вратиме на дизајнерот на формулари и да додадеме група од типот „Регуларна група без приказ“ со две копчиња: „ Креирај"И" Ажурирање" Имотот“ Групирање„За додадената група, поставете ја вредноста на „Хоризонтална“. За да ги направите копчињата поизразени, додајте слики и променете го стандардниот фонт.

Сега изберете го копчето " Креирај„и дај му ја глобалната команда“ Задачи: креирајте" Ова ќе ви овозможи да креирате задачи без да го внесувате самиот директориум. Со кликнување на второто копче, ќе ја ажурираме содржината на табелата со задачи. За да го направите ова, ќе треба да креирате дополнителна команда за формулари.

Сите нови команди за формулари се креирани на јазичето со исто име " Тимови" Принципот е едноставен - додаваме нова команда, го опишуваме акциониот код во неа и потоа ја поврзуваме командата со интерфејсот, во нашиот случај со копчето.

Исто така, не треба да заборавиме дека развиваме управувана апликација, па затоа треба јасно да правиме разлика помеѓу кодот на клиентот и серверот. Кога ќе се кликне на копчето, ќе има контекст " OnClient“, и ќе добиеме податоци од базата на податоци од серверот. Во кодот изгледа вака:

&На клиентската процедура UpdateTaskList(Command) UpdateList(); Крај на процедурата Процедура за &на серверот кога се креира на серверот (неуспех, стандардна обработка) OpenTasks.Load(InformationRegisters.TaskStatus.GetListofUnClosedTasks()); Крај на постапката

Сега да ја дефинираме нашата десктоп форма како област на почетната страница. Отворете ги својствата на конфигурацијата (изберете го највисокиот јазол и кликнете на „ Alt+Enter") и за имотот "Работна област на почетната страница" поставете ја вредноста " Една колона", потоа додајте ја нашата форма на списокот" Десктоп».

Апликацијата е целосно подготвена и време е да ја тестирате на дело. Обидете се да го извршите примерот и да креирате неколку задачи со статус различен од „ Завршено" Информативниот регистар е надополнет со нови записи (ова може да се види преку ставката од менито „ Сите функции") и некои од нив се прикажани на работната површина.

Слетување на Андроид

Конфигурацијата работи одлично на работната површина и сега е време да ја тестирате на емулатор за мобилен оперативен систем. За да подготвите нов емулатор, извршете го преведувачот на команди ( cmd.exe) и одете во директориумот „toos“ на дистрибуцијата на Android SDK. Извршете ја командата " android.bat avd“, што ќе го стартува виртуелниот менаџер на уреди со Android. Во него, кликнете на копчето „Креирај“ и во прозорецот што се појавува, наведете ги параметрите на виртуелниот уред. Во мојата работна средина решив да се угледам Nexus S со Androidверзија 4.2.2. (Ниво 17 на API).

По креирањето на уредот, веднаш ќе го стартуваме. Додека Андроид се вчитува, да се вратиме на конфигураторот и да ја објавиме нашата апликација на веб-серверот. Во главното мени на конфигураторот, изберете ја ставката „ Конфигурација» -> « Мобилна апликација» -> « Објави" Во прозорецот за поставки за објавување, го наведуваме името на апликацијата (може да биде било што), веб-серверот (во нашата околина треба да има еден) и директориумот за складирање на поставките.

Наведување како име " todo-мобилен", апликацијата ќе биде достапна на адреса - " http://host/todo-mobile" Кликнете на „ok“ и обидете се да пристапите до објавената апликација користејќи прелистувач. Доколку е успешен, серверот ќе го врати XML-кодот на креираната конфигурација.

Ајде да се вратиме на емулаторот и да ја вчитаме апликацијата со платформата за мобилни програмери во неа. Самата датотека на апликацијата е достапна заедно со испораката на платформата за мобилни програмери и се нарекува „1cem-arm.apk“. За да ја инсталираме оваа апликација во емулаторот, ќе ја користиме алатката „ adb.exe"од директориумот" платформа-алатки»: adb.exe install –r 1cem-arm.apk.

По успешната инсталација, отворете го списокот со апликации во емулаторот и стартувајте ја платформата за мобилни програмери. Во прозорецот што се отвора, кликнете на „ Додадете апликација" и во полето "адреса" ја означуваме URL-то на нашиот веб-сервер. Јас го имам ова http://192.0.168.106/todo-mobile. Кликнете на " Додадете„и нашата конфигурација е успешно префрлена на мобилната платформа. Апликацијата е подготвена за употреба. Тестирајте го резултатот и вратете се на конфигураторот, време е да им обезбедите на апликациите „мобилна функционалност“.

Испраќање СМС/ММС пораки

Функции за работа со SMS/MMSпораките се поддржани различно од мобилните платформи. На пример, кога работи апликација на Андроид, развивачот има можност да се претплати на СМС и да добие пристап до нови пораки веднаш по нивното примање. За жал, истата функција не е достапна на iOS, така што документацијата треба да биде при рака при развојот.

Обезбеден е објект за испраќање СМС пораки СМС-порака. Ајде да погледнеме на пример:

Процедура на &OnClient SendSMSMessage(примач, текст на порака) NewMessage = New SMSMessage(); NewMessage.Text = Текст на порака; NewMessage.Recipients.Add(Recipient); Telephony Tools.SendSMS(NewMessage); Крај на постапката

Кодот е прилично едноставен и едвај има потреба од коментари. Сега да погледнеме како се претплатите на дојдовните пораки:

&За постапката на клиентот ConnectMessageReceivingHandler() SubscribeToMessages = Нов опис на предупредување("Процесирање на нови пораки", Овој објект); Telephony Tools.ConnectSMSMessageHandler(SubscribeToMessages); Крај на процедурата &За клиентската процедура Обработка на нови пораки (Порака, дополнителни параметри) // Обработка на нова порака // Испраќач, Текст. Крај на постапката

Постапка“ Обработка на нови пораки„ ќе се повикува секогаш кога ќе се прими нова СМС порака. Преку параметарот " Порака„Објект од типот“ се пренесува СМС-порака» и лесно можеме да го добиеме текстот на пораката и информации за испраќачот.

Работата со MMS пораки се изведува на ист начин. Прво создаваме СМС порака, а потоа додаваме прилог (на пример, слики). Со оваа едноставна акција, СМС се претвора во MMS:

NewMessage= Нова СМС порака(); Прилог = Нов MMSA прилог; Прилог.Податоци = Слика; Attachment.ContentType = "слика/jpeg"; MMSMessage.Attachments.Add(Atachment);

Упатување повици од мобилна апликација

Програмски повик се прави со помош на методот „Dial Number“ на глобалниот објект „Telephony Tools“. Пред да го повикате методот, препорачливо е да ја проверите можноста за упатување повик:

If Telephony Tools.SupportedDialing() Потоа Telephony Tools.DialNumber(PhoneNumber, CallImmediately); крајАко;

параметар " Јавете се веднаш» влијае на перформансите на бирање. Кога е еднакво на " Вистина“, бирањето се врши автоматски преку стандардната апликација за повикување. Ако е поставено на Неточно, корисникот ќе го види и стандардниот интерфејс за бирач, но ќе треба да го притисне копчето за да оствари повик. Јавете се».

Дневник на повици

Мобилната платформа му овозможува на развивачот да комуницира со дневникот на повици. На пример, можете лесно да добиете листа на појдовни, пропуштени или дојдовни повици. Функција поддржана само на Android:

Дневник на повици = Алатки за телефонија.GetCall Log(); Избор = NewDataCompositionSelection; Selection Element = Selection.Elements.Add(Type("DataCompositionSelection Element")); SelectionElement.LeftValue = NewDataCompositionField("CallType"); SelectionElement.ComparisonView = ComparisonTypeDataLayout.Equals; SelectionElement.RightValue = CallLogCallType.Missed; SelectionElement.Use = Точно; Список на записи од CallLog = CallLog.FindRecords(Избор); //Списокот на записи во дневникот на повици ќе содржи збирка на записи

Геопозиционирање

Речиси секој модерен паметен телефон има функции за геолокација. Можете да ја користите оваа функционалност од вградениот јазик 1C. Добивањето на тековните координати на уредот може да се подели во 2 фази: избор на провајдер за геопозиционирање и обработка на примените координати:

//Да го обезбедиме изборот на провајдер на платформата IdealProvider = Geopositioning Tools.GetMost AccurateProvider(); Координати = GeoPositioningTools.GetLastLocation(IdealProvider); //Ако координатите се примени одамна, тогаш ажурирајте If Coordinates = Undefined OR CurrentDate() – Coordinates.Date > 3600 Then Geopositioning Tools.UpdateLocation(IdealProvider, 60); Координати = GeoPositioningTools.GetLastLocation(IdealProvider); крајАко;

Работа со мултимедијални функции

Инвеститорот има можност да фотографира, видеа и аудио снимки користејќи го вградениот јазик: Фотографирај(), Направете видео снимка(), Направете аудио снимка().

За кој мобилен оперативен систем е подобро да се развие на 1C?

И покрај мојата љубов кон технологијата на Apple, најдобро е да креирате мобилни апликации користејќи ја платформата 1C за Android. Постојат неколку причини за ова, но најважната е поддржаните функции. За жал, многу неопходни работи не се поддржани во iOS. На пример, неможноста програмски да се претплатите на СМС пораки или да комуницирате со дневниците на повици може да го оневозможи спроведувањето на некои идеи. Андроид е попријателски настроен во овој поглед. Не заборавајте за цената на самите уреди. Не секоја компанија ќе биде подготвена да се расфрла со купување мобилни уреди од Apple.

Наместо да се заврши

Платформа " 1C: Претпријатие 8» во пракса ја докажа својата подготвеност да стане едноставна алатка за развој на корпоративен развој. Апликации за мобилни платформи. Примерите дискутирани во статијата се дополнителна потврда за ова. Воопшто не е неопходно да се трошат ресурси за учење на домашни алатки ако функционалноста на апликацијата се вклопува во можностите на мобилната платформа и во компанијата доминираат производите 1C.