Automatiseerimise näpunäited. Automatiseerimisnõuanded 1c mobiilirakenduse installimine Androidi emulaatorisse

Detailidesse laskumata on mobiiliplatvorm samasugune 1C failiandmebaas nagu lauaarvutis, ainult et see töötab mobiilsetes operatsioonisüsteemides – iOS ja Android.
Peamine erinevus mobiilse 1C ja statsionaarse vahel on see, et see kasutab spetsiaalset liidest, mis on keskendunud puutetundlikule juhtimisele väikestel ekraanidel, ja sellel on ka võimalus mobiilseadmega suhelda (pildistada, hankida koordinaate, saata SMS-i jne). 1C mobiiliplatvorm on tööriistade komplekt, mis võimaldab luua lahendusi mobiilsete operatsioonisüsteemide jaoks.

Mobiilplatvormi lahenduste väljatöötamine toimub samas 1C konfiguraatoris nagu
tavalahenduste väljatöötamine. Samuti on hetkel saadaval beetaversioonina veel üks arenduskeskkond - Eclipse’il põhinev “1C: Enterprise Development Tools”.

Mobiiliplatvormi mobiilsed võimalused

Kuna mobiilne platvorm on mittestatsionaarne, peab sellel kindlasti olema mõni funktsionaalsus, mis on mobiilseadmega töötamisel saadaval. Näiteks me ei imesta, et statsionaarselt platvormilt saab dokumente printerisse printida? Sel juhul kasutab statsionaarne platvorm selle operatsioonisüsteemi võimalusi, millel see töötab. Tiheda integratsiooni näide on 1C-s dokumendi HTML-väli, kuna Windowsi puhul kasutatakse Internet Exploreri mootorit ja Linuxiga
- brauseri vaikemootor. Vaatame nüüd funktsioonide loendit, mis mobiiliplatvormil mobiilsüsteemides on:

  • Telefoniga töötamine - töö kõnelogidega (kõneajalugu) või võimalus helistada
  • Sõnumitega töötamine (SMS ja MMS) - mitte ainult vastuvõetud sõnumite saatmine, vaid ka lugemine. See on mugav, kui on vaja näiteks kliendipangast SMS-i püüda ja selle alusel kohe kulu või raha laekumine sisestada. 1C ei saa aga lugeda olemasolevaid SMS-sõnumeid.
  • Geopositsioneerimisvahendid – koordinaatide saamine satelliitidelt ja võrkudest. Koordinaadi hankimine aadressi järgi või aadressi saamine koordinaadi järgi. Andmete kuvamine kaardil
  • Multimeediumiga töötamine – võimalus teha fotosid, videoid ja helisalvestisi
  • Vöötkoodide skaneerimine - vöötkoodide skaneerimine telefonikaameraga: nii lineaarne (EAN13, Code39 jne) kui ka kahemõõtmeline (QR jne)
  • E-postiga töötamine - põhiline erinevus lauatelefonist on see, et lauatelefonis 1C peate lihtsalt registreerima kõik ühenduse seaded ja mobiilses OS-is, näiteks Androidis, on teil juba kohalik post. Seetõttu ei pea te kirja saatmiseks registreerimisandmeid 1C-sse sisestama.
  • Kontaktidega töötamine – seadmes olevate kontaktide lugemine, kirjutamine, muutmine
  • Töö kalendriga - meeldetuletuste loomine ja lugemine kalendris
  • Ekraani orientatsioon on võimalus jälgida seadme ekraani pööramise fakti, mis tähendab, et saate näiteks teatud vorme ümber joonistada nii, et need näeksid paremini välja portree orientatsioonis, ja mitte lihtsalt pöörata maastikku põhimõttel "nagu on" ja loodan, et 1C ise skaleerib vormi vastavalt vajadusele
  • Märguannetega töötamine on üks huvitavamaid ja üsna keerulisemaid punkte, mida kiiresti selgitada. Aga lühidalt öeldes on see võimalus mobiilset 1C-d millestki teavitada, näiteks, et see vajab sünkroonimist vms.

Mobiilse 1C võimalused ei piirdu selle loendiga, kuid me käsitleme seda üksikasjalikumalt järgmistes väljaannetes.

Ülaltoodud loend on 1C standardvõimalused ja seal on ka mobiilsüsteemi enda standardsed võimalused, mida 1C saab kasutada samamoodi nagu statsionaarne 1C töötab printeritega

Kust saada mobiiliplatvormi?

Mobiiliplatvormiga arhiivi saate alla laadida 1C värskendussaidilt. Lisaks saad lauatelefoni platvormilt tasuta mobiiliplatvormi. Samas pole statsionaarne versioon täisversioon, vaid treeningversioon.

Seega oleme huvitatud mobile.zip arhiivist, mis sisaldab järgmisi faile:

  • 1CEEnterprise_en.htm
  • 1CEettevõte_ru.htm
  • Android
  • MobileAppMaker

Htm-failidest leiate litsentsilepingu, mis võimaldab teil 1C-d arendada ja testida 50 mobiilseadmes.
Järgmisena näete kolme kausta, millest igaüks sisaldab hankimiseks vajalikke faile
teie rakenduse lõplik versioon. Vaatame neid järjekorras.
Androidi kaust sisaldab järgmisi faile:

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

Apk-laiendiga failid on arendajatele mõeldud platvorm, mida saab telefoni endasse installida. Ja ülejäänud failid on vajalikud lõpliku versiooni koostamiseks. Pange tähele, et Android-seadmed kasutavad kahte protsessori arhitektuuri: arm ja x86. Seetõttu peate iga arhitektuuri jaoks kasutama oma rakenduse versiooni. Teie seadme arhitektuuriga on väga lihtne kindlaks teha – kui teil on Inteli protsessor, siis on see x86, kõik muu on arm. Kõige tähtsam on seda mitte segamini ajada, sest kui proovite installida x86 versiooni arm-protsessoriga telefoni, on suur tõenäosus, et see installib (kuigi installimisel võib see anda vea), kuid ei tööta korralikult või annab käivitamisel ja sulgemisel lihtsalt veateate.
iOS-i kaust sisaldab faile, mis on vajalikud iOS-i seadmetega töötamiseks.

  • prjios.zip
  • prjios_en_ru.zip

Ja viimases MobileAppMakeri kaustas on konfiguratsioonifail “Mobile Application Builder”.

Jätkub...

Mobiiliplatvorm 1C:Enterprise on tööriistade ja tehnoloogiate komplekt mobiilsete operatsioonisüsteemide iOS, Android, Windows Phone / 8.1 / 10 rakenduste kiireks arendamiseks, kasutades samu arenduskeskkondi (Configurator või 1C:Entrprise Development Tools) ja samad arendustehnikad, mida kasutatakse "tavaliste" 1C rakenduste jaoks. Tulemuseks on autonoomsed, võrguühenduseta rakendused, kuid võimalusega vahetada teavet välismaailmaga, kasutades laia valikut platvormi pakutavaid integratsioonitööriistu: veebi- ja HTTP-teenused, e-post jne. Kuna vahetusprotokollid on platvormist sõltumatud, on 1C mobiiliplatvorm muuhulgas vahend, millega luua kiiresti mobiilne esiots peaaegu igale serverilahendusele.

Taust

1C: Enterprise'i versiooni 8.0 (ja järgnevate versioonide) päevil oli tarkvaratoode nimega "Laiendus pihuarvutitele". Laiendus võimaldas luua tooteid ainult Windows Mobile'i, Windows CE jne jaoks. Tootel oli oma konfiguraator ja server ning seda toetati kuni 1C:Enterprise'i versiooni 8.3 väljalaskmiseni. Laienduse uusim versioon (8.2.9) ilmus 2013. aasta oktoobris ja täielik tugi lõppes 1. jaanuaril 2015.
Laiendus oli piiratud kasutusega ka Windows Mobile kommunikaatorite hiilgeaegadel ning selliste seadmete mobiiliturult lahkumine selle tarkvaratoote populaarsust selgelt ei lisanud. iOS-i ja Android-seadmed on haaranud enda alla peaaegu kogu mobiilseadmete turu ning on saanud ilmseks, et nende operatsioonisüsteemide tugi on üks võtmepunkte süsteemi jaoks, mida tänapäevases mobiilimaailmas tuleb kasutada. Samuti tundus ilmselge, et mobiilseadmetes tuleks kasutada olemasoleva 1C:Enterprise platvormi põhilist lähenemist: rakenduste arendaja peaks ennekõike mõtlema rakendusprobleemide lahendamisele ja teiseks sellele, milliseid operatsioonisüsteemi võimalusi ta nende lahendamiseks kasutab. probleeme. Teisisõnu vajame tööriista, mis isoleerib rakenduste arendaja konkreetse mobiili OS-i ja arendustööriista iseärasustest.

Mobiilne platvorm

Taskuarvutite laienduste arendamise ja kasutamise kogemuse põhjal otsustati välja töötada spetsiaalne süsteem, mis vastaks mitmetele nõuetele:
  • see peab toetama kaasaegseid populaarseid mobiilioperatsioonisüsteeme ja neid kasutavaid seadmeid. Esiteks on need Apple'i iOS ja Google'i Android.
  • see süsteem peaks võimaldama väljatöötatud rakenduste kasutamist tänapäevaste mobiilseadmete stiilis. Eelkõige peaks liides tuginema puutetundlike ekraanide abil käsitsi juhtimisele (sõna otseses mõttes).
  • süsteem peab pakkuma ühtset tarkvaraliidest erinevate spetsiifiliste mehhanismide rakendamiseks, olenemata kasutatavast mobiilsest OS-ist.
  • arendaja peab kasutama sama tööriista ja samu arendusviise, mis “tavalisele” arvutile rakendusi arendades.
  • Rakenduste arendaja peaks rakenduslahenduse välja töötama tuttavas arenduskeskkonnas, kasutades võimalusel ühtset koodi laua- ja mobiilisüsteemide jaoks.
  • mobiilseadmes töötava rakenduslahenduse liides peaks olema erinevatel platvormidel sarnane ja üldiselt selgelt äratuntav.
Arendustöö tulemuseks oli nn mobiiliplatvorm, mis ilmus 29. mail 2013 iOS-i ja Androidi versioonidena. Mobiiliplatvorm 1C:Enterprise on tööriistade ja tehnoloogiate komplekt, mis võimaldab teil luua rakendusi mobiilsetele operatsioonisüsteemidele iOS, Android, Windows Phone / 8.1 / 10, kasutades sama arenduskeskkonda (Configurator) ja samu arendustehnikaid, mis tavaliste jaoks. rakendusi platvormil 1C: Enterprise. Tulemuseks on autonoomsed võrguühenduseta rakendused, millel on võimalus vahetada teavet välismaailmaga, kasutades laia valikut platvormi pakutavaid integratsioonitööriistu: veebi- ja HTTP-teenused, e-post jne.
Mobiiliplatvorm võeti kogukonna poolt üsna hästi vastu ja sellel teemal hakkasid ilmuma erinevad artiklid (näiteks ja). Täisfunktsionaalse rakenduse väljatöötamine, mis töötab samaaegselt enamikus mobiilseadmetes, nõudis nüüd minimaalselt aega ja teadmisi, mis ei erine põhimõtteliselt 1C: Enterprise platvormi "tavalise" rakenduste arendaja teadmistest. Loomulikult meelitab nii madal sisenemisbarjäär arendajaid, kes peavad pakkuma teatud põhifunktsioone teedel töötavatele töötajatele, juhtkonnale ja teistele mobiilsetele töötajatele, kes peavad ettevõtte süsteemiga töötama.
Mobiilirakenduse arendamist platvormil 1C:Enterprise on lihtne alustada. Konfiguraatoris peate määrama konfiguratsiooni atribuudi „Kasutamise eesmärk” väärtuseks „Mobiilseade”. Sel juhul muutuvad mõned rakenduse konfiguratsiooniobjektid kättesaamatuks (iseloomulikud tüübiplaanid, kontoplaanid jne), kuid kättesaadavaks muutuvad mobiilirakendustele omased omadused (näiteks sisseehitatud multimeedia tööriistad ja mobiilseadme geopositsioneerimine jne. .).


Samal ajal saate rakenduse põhialgoritme (pole otseselt seotud mobiilispetsiifikaga) siluda otse arendaja arvuti konfiguraatoris. Samal ajal on soovitatav eelprotsessorile vastavate juhistega raamida koodi lõigud, milles pääseb juurde mobiilsele funktsioonile, et vältida tõrkeid koodi täitmisel personaalarvutis:
#Kui mobiilirakendus on klient, siis Data = GeopositioningServer.GetProviderName(); #The EndIf
Alates mobiiliplatvormi versioonist 8.3.7 on muutunud kättesaadavaks rakenduse silumine otse mobiilseadmes (selle kohta lähemalt allpool).

Mobiiliplatvormil arendamine võib järgida erinevaid lähenemisviise, kuid siin on mõned põhipunktid, mida saab esile tõsta. Mobiilirakenduse enda ülesehitamise seisukohast, selle funktsionaalne rikkus ja roll ettevõtte IT-infrastruktuuris:

  • mobiilirakendus võib olla ettevõtte olemasoleva infosüsteemi lahutamatu ja lahutamatu osa. Mobiilirakendus pakub liidest ja muid võimalusi (sh andmevahetust), mis on kohandatud olemasoleva infosüsteemi võimalustele. Antud juhul on mobiilirakendus väga tihedalt seotud “tavalise” infosüsteemiga ning seda ei saa sellest eraldatult kasutada.
  • mobiilirakendus täidab spetsiifilisi ülesandeid, millel pole praktiliselt mingit seost ettevõtte infosüsteemiga. Mobiilirakenduse ja infosüsteemi vahel on vaid minimaalne andmekogum. Sel juhul teostab mobiilirakendus suure tõenäosusega vahetuse mõne standardse protokolli abil, mis võimaldab seda mobiilirakendust kasutada täiesti erinevatel juhtudel ja olukordades.
Ülalkirjeldatud kahte olukorda võib pidada äärmuslikeks võimalusteks. Kuid need pole ainsad arendusvõimalused. Rakenduste arendaja saab iseseisvalt valida integreerimisvõimalused mobiilirakenduse ja selle tagakontori rollis oleva infosüsteemi vahel.
Mobiilirakendus on välja töötatud täiesti eraldiseisva konfiguratsioonina, kuid osa lähtekoodist võib jagada „vanema” konfiguratsiooniga. Muide, "vanema" konfiguratsioon ei pruugi füüsiliselt eksisteerida (näiteks kui arendate mingit universaalset rakendust, mis töötab universaalse protokolli abil erinevate süsteemidega).

Mobiilplatvormi seade

Mis on mobiiliplatvorm ja mida see saab teha?
Ausalt öeldes on mobiiliplatvorm vaid üks kogu kompleksi komponentidest, tänu millele töötab 1C:Enterprise 8 mobiilseadmetes. Seega töötab rakenduse arendaja järgmiste komponentidega:
  1. Mobiiliplatvorm ise on 1C:Enterprise raamistiku mobiilne osa. See võib olla tavaline (mida kasutatakse rakenduse ehitamisel rakenduste poes avaldamiseks) ja mobiiliarendaja platvorm, mida kasutatakse (üllatus) mobiilirakenduse arendamise käigus.
  2. Mobiilikonfiguratsioon on programmisüsteemi 1C:Enterprise konfiguratsioon, mis on kirjutatud XML-faili kujul.
  3. Mobiiliplatvormi ja mobiilikonfiguratsiooni kombinatsiooni tulemuseks on mobiilirakendus.
  4. Mobiilirakenduste koostaja on spetsiaalne rakenduslahendus, mis suudab mobiiliplatvormilt, konfiguratsioonist, ekraanisäästjatest, ikoonidest ja muudest komponentidest teha valmis mobiilirakenduse faili, mida saab üles laadida Apple AppStore’i, Google Play’sse, Windows Phone’i rakendustesse / Windows Appsi. kauplustes.
Miks kõik nii raske on? Miks ei saa seda teha mobiilseadmes täpselt nii, nagu seda tehakse suurel platvormil? Need. installida seadmesse üks mobiiliplatvorm ja laadida sinna suvaline arv konfiguratsioone/rakendusi? See on keelatud rakenduspoodide kaudu levitatavate rakenduste litsentsipiirangutega. Näiteks kui teie rakendus laadib Interneti kaudu alla käivitatava koodi (skripti kujul), ei kuvata seda kunagi Apple'i rakenduste poes. Siiski tuleb mõista, et arendaja mobiiliplatvormil saadaoleva konfiguratsiooni allalaadimise võimalus ei ole mõeldud mobiilirakenduste levitamiseks isegi samas ettevõttes, rääkimata levitamisest arendaja klientidele.
Pärast seda, kui mobiilirakendus on sihtmobiilseadmes, tekib vajadus kasutada mingit andmebaasi (andmed tuleb kuskil salvestada). Andmebaasimootorina kasutab mobiiliplatvorm oma andmebaasimootorit, mis teisaldatakse personaalarvuti jaoks mõeldud platvormilt mobiiliplatvormile. See on piisavalt kompaktne ja kiire, kuid peamine on see, et see tagab täpselt sama käitumise, millega rakenduste arendajad on personaalarvutite platvormil töötades harjunud.
Märkimist väärib ka see, et sisemiselt on mobiilirakendus üles ehitatud sama skeemi järgi nagu tavaplatvormi töö koos infobaasi failiversiooniga: on kliendiosa, on serveriosa, on andmebaas ja toimub kliendi-serveri suhtlus.
Mobiiliplatvorm ise on kirjutatud natiivse rakendusena, mis on kompileeritud binaarkoodiks praegu mobiilimaailmas kasutatavate põhiprotsessorite arhitektuuride jaoks: see on ARM v5 ja kõrgem arhitektuur ning x86.
Lisaks võib mobiilseadme teatud võimalustega (telefoniside, GPS, töö sisseehitatud kaameraga jne) kasutamiseks vajada erilubasid. iOS-i puhul määratakse need otse rakenduse enda töötamise ajal ja Androidi puhul määratakse load rakenduse loomisel. Vajalikud õigused täpsustatakse mobiilirakenduse arendamisel ja neid kasutab mobiilirakenduse koostaja, aga ehitajast lähemalt veidi hiljem.

Natuke arendajaplatvormist

Mobiilirakenduse väljatöötamise ajal ei ole me seotud rakenduspoodide kaudu levitatavatele mobiilirakendustele kehtestatud litsentsipiirangutega. See tähendab, et 1C mobiiliplatvormi saame kasutada samamoodi nagu personaalarvutis “suurt” platvormi – installige mobiiliplatvorm ise nutitelefoni/tahvelarvutisse ja laadige sinna mobiilirakenduste konfiguratsioonid. Pärast käivitamist näitab platvorm meile selles registreeritud rakenduste loendit:

Platvormile uue rakenduse lisamiseks tuleb mobiilseadmest HTTP-protokolli kaudu ligipääsetavasse ressurssi paigutada XML-fail koos selle kirjeldusega. Kõige mugavam on seda teha konfiguraatorist menüü “Konfiguratsioon \ Mobiilirakendus \ Avalda” kaudu. Sel juhul paigutatakse XML-fail koos rakenduse konfiguratsiooniga arendaja arvuti veebiserverisse (vastavalt peab sellel arvutil olema veebiserver - IIS või Apache).

Kui määrate rakendusele valiku "Taaskäivita konfiguraatorist", värskendatakse mobiilseadme rakendust arendaja arvutist automaatselt iga kord, kui arendaja värskendab veebiserveris asuvat XML-konfiguratsioonifaili.
Kui suvand „Silumine lubatud” on lubatud, on rakenduse samm-sammult silumine mobiilseadmes võimalik arendaja arvuti konfiguraatorist (konfiguraatoris tuleb „Silumine HTTP kaudu” valida. Tööriistad\Valikud"). Kui määrate konfiguraatoris koodis katkestuspunktid ja valite käsu "Mobiilirakendus – alusta silumist", peatub seadme mobiilirakendus, kui täitev kood jõuab katkestuspunkti, ja Configuratoris saate vaadata muutujad, kõne pinu jne.

Mida ta saab teha?

Niisiis, mida saab mobiiliplatvorm teha? Piisav:)
Kui te ei kasuta konkreetseid 1C:Enterprise tingimusi, pakub mobiiliplatvorm võimalust töötada regulatiivse ja viiteteabega, koostada mõnda välistegevust kirjeldavaid dokumente, vaadata aruandeid, suhelda Interneti-teenuste abil välismaailmaga ja palju muud. Need. see annab rakenduste arendajale võimaluse kirjutada üsna toimiv rakendus, näiteks kodurahanduse raamatupidamisprogramm, valdkonna kauplemisprogramm jms.
Kuid lisaks tavapärastele personaalarvuti platvormil leiduvatele funktsioonidele peab mobiilne platvorm pakkuma tööd konkreetsete mobiilseadmete jaoks ainulaadsete võimalustega:
  • kõnede ja kõnelogidega töötamine;
  • lühisõnumite (SMS) ja nende loendiga töötamine;
  • kontaktid;
  • kalendrid;
  • geopositsioneerimine (ilma marsruutimiseta);
  • võimaldab teha fotosid, samuti video- ja helisalvestusi;
  • reageerida ekraani orientatsiooni muutustele;
  • teavitustega töötamine (kohalik ja PUSH, nii otse kui ka spetsiaalse vahendusteenuse kaudu);
  • skannige kaamera abil vöötkoode ja QR-koode
  • Mobiilirakenduste monetiseerimine (st võimalus anda mobiilirakenduse arendajale lisatulu):
    • Töötage Apple In-App Purchase (iOS OS-i jaoks) ja Google Play In-App Billing (Android OS-i jaoks) ostuteenustega, millega saate mobiilirakenduses korraldada erinevat tüüpi tellimusi, funktsionaalsuse oste jms.
    • Reklaamide kuvamine mobiilirakendustes (iAd teenused iOS-ile ja AdMob Androidile on praegu toetatud).
  • jne.
On selge, et mõned funktsioonid ei pruugi igas konkreetses seadmes saadaval olla, mistõttu selleks, et määrata, mida saab teha seadmes, milles mobiilirakendus töötab, on ette nähtud spetsiaalsed meetodid, mis võimaldavad teil teada saada, mis selles seadmes on saadaval. , näiteks võimalus numbreid valida või mitte. Seega realiseeritakse ligikaudu järgmine kasutusskeem: kontrollime, kas mõnda funktsiooni saab kasutada või mitte, ja kui see on võimalik, siis kasutame seda:
Kui Telephony Tools.SupportedDialing() then Telephony Tools.DialNumber(PhoneNumber, Call Immediately); endIf;
Kasutatava mobiilse OS-i üksikasjade peitmine rakenduse arendaja eest ja talle ühtsete mobiilifunktsionaalsuse kasutamise mehhanismide pakkumine on meie jaoks oluline ülesanne. Usume, et lahendame probleemi edukalt. Rakendatud mehhanismide erinevused kas puuduvad või on minimeeritud. Välja arvatud muidugi juhud, kui ühes operatsioonisüsteemis puudub funktsionaalsus.
Näiteks PUSH-teavitustega töötamise tehnika on Google'i ja Apple'i puhul väga erinev. Oleme teinud palju pingutusi, et ühtlustada rakenduse koodist pärinevate PUSH-teavitustega töötamise mehhanismi. Mobiilirakenduse puhul õnnestus meil peaaegu 100%: sama rakenduse kood mobiilseadmes töötleb PUSH-teadete vastuvõtmist nii iOS-is kui Androidis. Ja serverirakenduses näeb PUSH-teadete saatmise kood samuti välja. Kuid sellise ühendamise saavutamiseks pidime välja töötama spetsiaalse puhverserveri https://pushnotifications.1c.com/, mis varjab arendaja eest erinevaid tehnikaid Apple Push Notification Service'i (APNS) ja Google Cloud Messaging (GCM) töötamiseks. ). Kogu erinevus seisneb erinevates seadetes otse puhverserveri saidil https://pushnotifications.1c.com/; APNS-iga töötamiseks peate saidile üles laadima SSL-sertifikaadi (mille Apple arendaja soovil rakenduse jaoks väljastab, peate määrama unikaalse rakenduse identifikaatori).
Ilmselgelt on võimatu kõiki soovitud funktsioone mobiilirakenduses kohe rakendada. Ja alati tuleb leida kompromiss mitme väga kasuliku asja vahel. Ja kui sul on midagi puudu, siis kirjuta meile, milliseid äriülesandeid (platvorm on ju ennekõike äriülesannete elluviimise tööriist!) sa lahendada ei suuda ja milline mehhanism sind selles aitaks.

Kuidas see välja näeb?

Mobiiliplatvormi graafiline liides on omaette teema. Nagu teate, kirjeldatakse 1C: Enterprise'is liidest deklaratiivselt. See seab ühest küljest teatud piirangud kasutajaliidese arendamisele (näiteks puudub pikslite kaupa positsioneerimine), kuid teisest küljest võimaldab see platvormil liidest ühtlaselt renderdada erinevatel ekraanidel. suurused, õhukestes ja veebiklientides. Samast põhimõttest püüdsime kinni pidada ka mobiiliplatvormil. Kui hästi oleme seda teinud? Proovime selle välja mõelda.
Mobiiliplatvormi esimestes versioonides (kuni 8.3.5 kaasa arvatud) tundus rakenduste graafiline liides kogenud 1C kasutajatele väga tuttav; tegelikult kandis ta 1C “töölaua” versioonidest tuttava liidese üle mobiilimaailma. Kuid kasutajate vaatenurgast, kes 1C-ga varem tuttav polnud, nägi liides välja mõnevõrra arhailine.
Võttes arvesse kommentaare ja ettepanekuid, oleme oma lähenemist mobiililiidesele versioonis 8.3.6 põhjalikult muutnud. Võib öelda, et oleme oma rakendustele teinud täiesti uue mobiililiidese. Sellel on palju ühist meie takso liidesega. Mobiilirakenduste arendajate arendusmudel vastab Takso arendusmudelile. Samal ajal vastab mobiililiides täielikult mobiilirakendustes omaks võetud disainilahendustele. Liides arvestab täielikult mobiilimaailma eripäradega: väike ekraani suurus (mis tähendab, et graafiliste elementide kujundus peaks muutuma askeetlikumaks – ilma varjude, gradientideta), olemas on sõrmeliigutuste tugi jne. Huvitav fakt: uus platvormimehhanism, mis vastutab elementide vormi (paigutus) paigutamise eest, osutus mobiiliplatvormi jaoks nii edukaks ja õigeaegseks, et see ilmus varem (versioonis 8.3.6) kui arvutiplatvormil (versioonis 8.3). .7), mille jaoks see oli eelkõige mõeldud.
Pildil näete, kuidas meie liides on muutunud.
Rakendus “Väikeettevõtte juhtimine” mobiiliplatvormi versioonil 8.3.5:


See on sama ka versioonis 8.3.6:

Ja selline näeb mobiiliplatvormi liides päriselus välja:

Kollektsionäär – ja mis metsaline see on?

Nagu varem mainitud, koosneb mobiilirakendus mitmest komponendist (mobiiliplatvorm ise, konfiguratsioon, erinevad ressursid), mis peavad moodustama ühtse terviku, et rakendus poodi paigutada. Komponentide rakenduseks muutmise hõlbustamiseks töötati välja mobiilirakenduste koostaja. See on 1C:Enterprise platvormil loodud konfiguratsioon (rakendus), mis salvestab oma andmebaasi kõik mobiilirakenduse loomiseks vajalikud komponendid. Selleks, et koguja saaks oma tööd teha, tuleb alla laadida ja installida erinevaid tema tööks vajalikke tarkvarapakette (Java ja Android SDK jne), seejärel määrata koguja seadetes nende pakettide teed ja määrata mõned lisad. parameetrid (arendaja võtmed jne).


Pärast seadistamist on monteerija kasutamiseks valmis. Üldiselt näeb kollektsionääriga töötamine välja järgmine:
  1. Laadige alla mobiiliplatvormi 1C versioon, millele rakenduse ehitame
  2. Konfiguratsiooni laadimine, millest me mobiilirakenduse ehitame
  3. Loome mobiilirakenduse, milles näitame, millistele platvormidele (Android, iOS, Windows) peaks ehitama, millist konfiguratsiooni ja platvormi kasutama (eriti näitame, millist sertifikaati kasutada iOS-i ehitamiseks, kui rakendus töötab PUSH-teavitused).
  4. Ehitame mobiilirakenduse kõigile valitud platvormidele ühe klõpsuga
  5. “Teise klõpsuga” saadame kogutud mobiilirakendused rakenduste kauplustesse (kui tegemist on iOS-i või Androidi rakendusega). Rakendus tuleb Windowsi rakenduste / Windows Phone'i rakenduste poodidesse käsitsi alla laadida, kuna Microsoft ei paku veel API-d rakenduse avaldamiseks poes.
Eraldi tuleb märkida, et kollektorit pole mobiilirakenduse arendamiseks ja silumiseks vaja. Selleks saate konfiguratsiooni mobiilseadmesse ülekandmiseks kasutada mobiiliarendaja platvormi ja Configurator tööriistu. Mobiilirakenduse levitamiseks on aga vaja kogujat.

Rakendused mobiiliplatvormil

Ettevõte 1C ise toodab mobiiliplatvormil mitmeid rakendusi, mis on 1C serverirakenduste mobiilikliendid (1C: Document Flow, 1C: Small Firm Management jne). Need rakendused rakendavad mõnda "tavaliste" klientide funktsioonide alamhulka. 1C: Small Firm Management mobiiliversiooni puhul on funktsionaalsusest piisab programmi täisväärtuslikuks kasutamiseks ning sageli oleme näinud olukorda, kus klientide äritegevuseks piisab rakenduse mobiiliversioonist.
Meie partnerid kasutavad mobiiliplatvormi nii rakenduspoodide kaudu levitatavate masstoodetud mobiilirakenduste arendamiseks kui ka konkreetsete klientide soovide järgi loodud kohandatud rakenduste jaoks. Masstoodetud rakenduste hulgas on rakendusi, mis kasutavad keskse andmesalvestusena mitte-1C-taustaprogrammi.
Klientide soovil loodud mobiilirakenduste hulgas võib mainida 1C: Manufacturing Enterprise Managementi mobiilset klienti, mis on loodud suure masinaehitusettevõtte tellimusel. Umbes sada ettevõtte töötajat kasutavad mobiilirakendust kuumades poodides, kuhu ohutuse huvides pole võimalik lauaarvuteid paigaldada. Mobiilseadme sisseehitatud kaamerat kasutatakse toodete vöötkoodide lugemiseks ja nende otsimiseks kaubakataloogist. Mobiilirakendus võimaldab teil mõista, millises tehnoloogilise ahela etapis antud toode asub, märkida läbipääsu toote järgmine toiming jne.

Järeldus

Püüdsime väga pealiskaudselt kirjeldada mobiiliplatvormi, mida see võimaldab teha ja miks see just selliseks kujunes. See artikkel ei ütle mobiilse Windowsi kohta peaaegu midagi. Sellel on mitu põhjust: esiteks ilmus Windowsi mobiiliplatvormi versioon suhteliselt hiljuti (“1C:Enterprise” versioon 8.3.7) ja teiseks ei ole sellel mobiiliplatvormi versioonil olulisi erinevusi rakendamine muude mobiilsete operatsioonisüsteemide jaoks. Loomulikult suurendame Windowsi OS-i funktsionaalsust. Nagu ka mobiiliplatvormi funktsionaalsuse suurendamine tervikuna. Seega on meil lähitulevikus mobiilplatvormi väliste komponentide tugi; see mehhanism (mis on "suurel" platvormil kaua saadaval) võimaldab arendajatel rakendada funktsioone, mis pole mingil põhjusel mobiiliplatvormil saadaval.
Traditsiooniliselt on 1C:Enterprise tehnoloogiaplatvormi tugevateks külgedeks selle kasutusmugavus arendajatele ning ärirakenduste loomise ja muutmise kiirus. 1C mobiiliplatvorm tõi need mõlemad trumbid mobiilimaailma. 1C mobiiliplatvorm on võimalus kiiresti välja töötada rakendus, mis töötab kolmel kõige populaarsemal mobiiliplatvormil (iOS, Android, Windows Phone / 8.1 / 10). Tänu paljudele saadaolevatele platvormist sõltumatutele integreerimistööriistadele (veebi- ja HTTP-teenused jne) on 1C mobiiliplatvormil võimalus kiiresti luua mobiiliklient kolmele mobiiliplatvormile peaaegu iga serverirakenduse jaoks, mis toetab mõnda neist 1C platvormil saadaolevad integreerimismeetodid (veebi- ja HTTP-teenused, failide jagamine jne).

Küsitluses saavad osaleda ainult registreerunud kasutajad. , Palun.

Mobiilirakenduste arendamine platvormil 1C juba koolitatud 1C programmeerijatele, kes töötavad statsionaarsel platvormil, nõuab minimaalseid oskusi ja sellel on mobiiliarendusse sisenemiseks väga madal lävi (võrreldes teiste mobiiliarenduse platvormidega).

Selles artiklis püüan samm-sammult kirjeldada mobiiliplatvormiga töötamise põhipunkte (midagi mini F.A.Q sarnast mobiiliplatvormi arenduse alustamiseks).

Niisiis, alustame:
1. Paigaldame statsionaarse 1C platvormi, installimisel määrake kindlasti komponent "Veebiserveri laiendusmoodulid".
2. Installige vaikeseadetega Apache 2.2 veebiserver.
3.Looge vaikesätetega tühi infobaas ja avage see konfiguraatori režiimis.
4. Seadke konfiguraatoris "kasutusotstarve" - ​​mobiilseade. Samuti saate valida personaalarvuti valikud või hübriidvaliku "mobiilseade + personaalarvuti". Kui valime hübriidvaliku "mobiilseade + personaalarvuti", peaksime eristama arvutis ja mobiilseadmes käivitatavat koodi. Koodi täitmise piiritlemiseks kasutatakse eelprotsessori direktiive “#If MobileApplicationClient Then” ja “#If ThinClient Then”. Eelprotsessori direktiivid määratlevad 1C koodi konteksti. Tuleb mõista, et kasutamiseks saadaolevate konfiguratsiooniobjektide kogum on mobiilplatvormil võrreldes statsionaarse platvormiga oluliselt piiratud. Näiteks ei saa me mobiiliplatvormis töötada tunnuste tüüpide plaanidega, kontoplaanidega, raamatupidamisregistritega ega ka aruannetega (kättesaamatud metaandmete harud on halliga esile tõstetud).

5. Värskendage konfiguratsiooni ja avaldage see veebiserveris.


6. Me läheme brauserisse aadressil http://127.0.0.1/MobPril/ ja vaatame XML-faili (st kogu meie avaldatud konfiguratsioon salvestatakse veebiserverisse XML-failina).


7. Installige virtuaalmasin “VMware Workstation” (või mõni muu). Juurutame Androidi operatsioonisüsteemi virtuaalsesse masinasse.

P.S. Virtuaalse masina asemel on parem kasutada päris seadet, kus töötab Android, kuna päris seade töötab alati kiiremini ja stabiilsemalt kui virtuaalmasin.
8. Installige Androidi mobiiliplatvorm 1C.

Mobiiliplatvormi installeri failide ülekandmiseks Androidi on mugav kasutada Google Drive’i programmi (selleks tuleb Androidi installida Google Drive’i programm (Playmarketist) ning arvutisse Startup and Sync programm ). Kui installime platvormi virtuaalmasinasse, vajame faili " 1cem-x86.apk"Kui installime platvormi päris mobiilseadmesse, kus töötab Android, siis vajame faili" 1cem-arm.apk«.


9. Järgmisena ühendame veebiserveris avaldatud rakenduse oma mobiilseadmega.
Selle arvuti IP-aadressi väljaselgitamiseks, kuhu Apache veebiserver on installitud, tippige lihtsalt käsureale käsk ipconfig(või vaadake võrguühenduse üksikasju). Kui ühenduse loomisel kuvatakse tõrge, proovige viirusetõrje ja tulemüür keelata.

Kui paneme mobiilirakenduses sisse lipu “Restart from configurator”, siis iga mobiilirakenduse käivitamisel otsitakse lauaarvutis värskenduse leidmisel, siis mobiili käivitamisel rakendust värskendatakse mobiilseadmes.



10. Kirjutame oma esimese avalduse “Hello WORLD!!!”.

Selleks toimige järgmiselt.

10.1.Loo üldkuju ja aseta sellele kaunistus.

10.2.Ava kodulehe tööala ja lisa sinna sammus 10.1 loodud üldvorm.

Samuti märgime ühe veeru alglehe mallina (mobiilirakenduses on saadaval ainult 1 veerg).

10.3 Käivitame oma mobiilirakenduse ja vaatame kirja "Hello WORLD!!!".


11.Dokumendivormide, kataloogide jms loomisel. peaksime arvestama mobiilseadme ekraani suurusega ja mitte kuhjata vormile suurt hulka elemente, muidu kaotame kasutusmugavuses. Vormile tuleks panna ainult need elemendid, mida kasutaja tegelikult kasutab. Ruumi säästmiseks dokumentide tabeliosades saate veergude asemel kasutada veergude rühmi. Vormide ruumikasutust tuleks optimeerida.

Loome teatmeteosed “Kaubad”, “Kauba tunnused”, “Vastaspooled” ja dokumendi “Kauba kättesaamine” ning vaatame, kuidas need mobiiliplatvormil kuvatakse.

Allolevatel ekraanipiltidel on kataloogide “Nomenklatuur” ja “Vastaspooled” loendivormid.


Dokumendi vorm “Kauba vastuvõtmine”:

Nagu ekraanipildilt näete, kasutab tabeli jaotis ruumi optimeerimiseks veergude rühma.

Vorm toodete tabeli sektsiooni uue rea sisestamiseks:

Dokumentide loetelu “Kauba vastuvõtmine” vorm:

Seega on meil 2 konfiguratsiooni – piiratud hulga objektidega mobiilseadme konfiguratsioon ja vahetatava lauaarvuti konfiguratsioon.
Tuleb mõista, et mobiilse Interneti ribalaius on üsna väike ning suurte andmemahtude edastamine mobiilseadme ja lauaarvuti vahel võtab palju aega.

Selles artiklis kasutasime arendajaplatvormi ja kahte konfiguratsiooni (piiratud objektide komplektiga mobiilseadme konfiguratsioon ja lauaarvuti konfiguratsioon). Sellist lähenemist on vaja ainult rakenduse arendamisel reaalses praktikas, koostame mobiilirakenduse .apk faili ja laadime selle Playmarketisse. Kasutaja laadib alla apk-faili, installib selle mobiilseadmesse ja kasutab täiesti autonoomset mobiilirakendust.

Mobiiliplatvormil on saadaval ka helistamise ja SMS-sõnumite saatmise funktsioonid, vöötkoodide skannimine, heli ja video salvestamine, geopositsioneerimisfunktsioonid, aga ka töö veebiteenustega. Jätkub…

Tere päevast, kallid lugejad, juhime teie tähelepanu lühikesele artiklile 1C: Enterprise Androidi mobiiliplatvormil põhineva lihtsa mobiilirakenduse loomise kohta ilma apk-failiks kompileerimata.

Alustuseks määratleme lühidalt põhikontseptsioonid ja tarkvara, mida arendamiseks vajame.

1.Põhimõisted

Mobiilne platvorm- tööriist, mis võimaldab juurutada rakendusi, mis töötavad iOS, Android ja Windows Phone operatsioonisüsteemidega mobiilseadmetes.

Mobiilirakendus – on arengu lõpptulemus . See on installitud mobiilseadmesse ja sellel on võimalus võrguühenduseta režiimis põhirakendusega teavet vahetada. Vahetamiseks on saadaval järgmised teabeedastuskanalid: failivahetus, e-post, veebiteenused jne.

Konfiguraator toimib arenduskeskkonnana, ainus asi, millega tuleb arvestada, on see, et mobiilirakendus ei toeta kõiki konfiguratsiooniobjekte ja süsteemimehhanisme.

2. Tarkvara seadistamine

2.1 Paigaldaminevõrk serverid

Kõigepealt installime veebiserveri. Mõlemaga on võimalik töötada Internet teavet teenuseid Microsoftilt ja koos Apache. Meie näites kaalume Apache sest seda on lihtsam seadistada ja see on töös stabiilne.

Kasutades " Edasi » minge järgmisesse aknasse:

Põldude sisse "Võrgu domeen" Ja "Serveri nimi" kirjuta" kohalik host" (või 127.0.0.1). See tähendab, et server töötab kohalikus arvutis.

Põllul « Administraators Meil Aadress» Märkame postiaadressi, serveri vastused saadetakse sellele.

Vaikimisi Apache töötab pordiga 80. Paljud populaarsed programmid töötavad vaikimisi näiteks sama pordiga TeamViewer, Skypee, mis ei võimalda teil tulevikus käivitada Apache. Selle probleemi lahendamiseks on kaks võimalust, keelata selle pordi kasutamine nendes programmides või muuta porti Apache.

Et teada saada, millised programmid hõivavad pordi 80, peate käivitama cmd.exe (klõpsake Start - tippige otsingusse cmd - paremklõpsake "Käivita administraatorina") ilmuvas aknas, sisestage käsk netstat -ab.

Ekraanipildil näeme, et port 80 on Skype'i poolt hõivatud.

Jätame vaikepordi 80. Klõpsake nuppu " Edasi » valige standardne paigaldus. Klõpsake " Edasi » , muutke vajadusel installikataloogi, klõpsake järgmises aknas " Installige, mille järel algab installiprotsess.

Pärast installimise lõpetamist ilmub süsteemisalve ikoon, kui teeme sellel topeltklõpsu, avaneb järgmine aken:

Kui teil on endiselt probleeme standardse pordiga, saate seda alati käsitsi muuta, selleks peate minema kausta, kuhu see on installitud Apache, valige kaust " conf", avage selles olev fail " httpd.conf" Leidke sellest parameeter "Kuula" ja muutke selle väärtused pordiks, mida vajate, näiteks 8080.

Pärast pordi numbri muutmist salvestage fail ja taaskäivitage Apache. Selleks klõpsake salves ikooni

Valige ilmuvas menüüs hiire vasaku nupuga " Taaskäivita».

Veenduge, et veebiserver töötab, minge brauserisse ja sisestage aadressi sisestusväljale http://localhost:8080/ (kus 8080 on meie installitud port), ekraanile peaks ilmuma järgmine leht:

2.2 Platvormi seadistamine

Edukaks tööks tuleb paigaldada järgmised komponendid:

2.3 Mobiiliplatvormi paigaldamine

Laadige mobiiliplatvorm alla 1C veebisaidilt https://users.v8.1c.ru/. Meie näites kasutatakse versiooni 8.3.8.70.

Allalaaditud platvorm on arhiiv, mis koosneb järgmistest kaustadest:

  1. Android- sisaldab faile Androidi monteerimiseks;
  2. iOS- sisaldab faile iPhone'i kokkupanekuks;
  3. Windows- sisaldab faile Windows Phone'i monteerimiseks;
  4. MobileAppMaker- sisaldab "Application Builder" konfiguratsioonifaile.

Kuna arendame rakendust Android OS-i kasutavale seadmele, oleme huvitatud esimesest kataloogist.

Vaatame selle sisu:

  • 1cem-arm.apk on kõige sagedamini kasutatav ARM-arhitektuuri mobiilne arendusplatvorm;
  • 1cem-x86.apk - mobiilne arendusplatvorm x86 arhitektuuri jaoks, mida kasutatakse Inteli protsessorite jaoks;
  • prjandroid-arm.zip - mobiiliplatvorm, mis on loodud mobiilirakenduste loomiseks (ARM-arhitektuuri jaoks);
  • prjandroid-x86.zip on mobiiliplatvorm, mis on loodud mobiilirakenduste loomiseks (x86 arhitektuuri jaoks).

Installime seadmesse mobiiliplatvormi. Selleks kopeerige fail "1cem-arm.apk" telefoni mällu või kui teie seade kasutab Inteli protsessorit, siis "1cem-x86.apk".

Läheme mobiilseadme failihaldurisse, otsime üles oma faili ja käivitame selle

Installimise ajal võite saada teate selliste rakenduste blokeerimise kohta, mida pole Play poest saadud.

Sel juhul peate klõpsama nuppu " Seaded"ja märkige ilmuvas aknas ruut " tundmatud allikad»

ja korrake installimist.

2.4 Konfiguratsiooni sätted

Kui kogu tarkvara on konfigureeritud, hakkame arendama oma mobiilirakendust. Loome uue teabebaasi ja läheme sellesse konfiguratsioonirežiimis.
Minge menüüsse Tööriistad -> Valikud ja märkige ruudud, nagu on näidatud ekraanipildil:

Kas teil on küsimusi või vajate konsultandi abi?

Järgmisena helistage juurkonfiguratsioonisõlme atribuutidele ja määrake parameeter "Kasutamise eesmärk" väärtuseks "Mobiilseade" ja eemaldage lipp "Personal Computer". Pärast seda muutuvad mobiilirakenduse objektid kättesaadavaks. Mõned konfiguratsiooniobjektid muutuvad kättesaamatuks.

2.5 Rakenduse konfiguratsiooni avaldamine

Järgmine samm on konfiguratsiooni ülekandmine telefoni. Selleks loome kõigepealt kataloogi, mille tee peaks olema lühike, mitte sisaldama tühikuid ja koosnema ainult ladina tähtedest, näiteks C:\MobileApp. Edasi minge jaotisse Konfiguratsioon -> Mobiilirakendus -> Avalda . Ilmuvas aknas sisestage parameetrid:

  • Nimi – mobiilirakenduse nimi. Nimi ei tohi olla sama mis õhukese kliendi andmebaasi avaldamise nimi.
  • Värskenda mobiilirakendust – kui see valik on valitud, siis iga kord, kui konfiguratsiooni värskendatakse, värskendatakse seadme konfiguratsiooni automaatselt
  • Kataloog – tee kausta, kuhu mobiilirakenduse failid salvestatakse.

Veenduge, et kõik töötab, minge brauserisse aadressil http://localhost:8080/Mobapp/, peaksime nägema järgmist xml-faili:

Sisestage aadressiväljale selle arvuti IP, millel konfiguratsioon avaldatakse, ja väljaande enda nimi eraldatuna kaldkriipsuga. Meie näites kasutatakse mittestandardset porti, seega näeb aadress välja järgmine:

Klõpsake allalaadimisnupul, pärast allalaadimist peaks ilmuma järgmine seadete aken:

Määrake parameetrid:

  • « Taaskäivitage konfiguraatorist" - Rakendust värskendatakse automaatselt, kui värskendatakse veebiserveris asuvat XML-konfiguratsioonifaili.
  • « Silumine lubatud» - rakenduse samm-sammult silumine mobiilseadmes on võimalik arendaja arvuti konfiguraatorist. Vajuta nuppu " Okei».

Kui pärast nupu vajutamist " Lae alla"tekkib sarnane viga:

Nüüd on meie andmebaas mobiilseadmesse lisatud ja saame selle käivitada, klõpsake seda andmebaasi valiku loendis. Ilmuv aken on tühi, kuna me pole veel metaandmeobjekte lisanud. Alustame arendamist.

  1. Vahetuse seadistamine keskpanga ja mobiilirakenduse vahel

Oletame, et meil on teatud lähteandmebaas, mis sisaldab ainult ühte kataloogi: “Nomenklatuur”. Ja see peab vahetama teavet meie mobiilirakendusega.

Läheme mobiilirakenduse konfiguraatorisse ja loome hierarhilise kataloogi nimega “Nomenklatuur”. Lisame nimekirja vormi.

Läheme avalehe tööalale ja lisame sinna kataloogiloendi vorm "Nomenklatuur", määrake parameetri "Start Page Template" väärtuseks "Üks veerg".

Klõpsake nuppu " Värskenda", peaks teie telefoni rakendus automaatselt värskendama. Kui ei, siis kuvage paneelil nupp ja vajutage seda. Ekraanile peaks ilmuma järgmine aken:

Järgmine samm on uue infoturbe loomine. Lisame sinna kataloogi “Nomenklatuur”, mille struktuur kordab täielikult mobiilirakenduse “Nomenklatuuri” kataloogi. See andmebaas toimib allikana.

Loome uue veebiteenuse, nimetame seda "MobileExchange". Määrake atribuutides nimeruumi „MobileExchange” URI. Sellesse veebiteenusesse lisame uue toimingu ja nimetame seda "Laadi tooted alla"

Nüüd kirjutame koodi, mis tagastab lähteandmebaasi toodete loendi xml-failina. Liigume toimingu „Laadi tooted” atribuutide juurde ja loome uue funktsiooni Meetodi nimi" Funktsioonis kirjutame järgmise koodi:

Avaldame veebiteenuse, selleks me läheme Haldus ->Avalda võrk - Server . Ilmuvas aknas määrake veebiteenuse nimi "MobileExchange" ja tühjendage märkeruut "Avalda õhuke klient ja veebiklient". Pärast seda vajutage nuppu " Avalda».

Pärast veebiteenuse avaldamist läheme mobiiliplatvormi seadistamise juurde, avame kataloogi “Nomenklatuur” loendivorm ja lisame vormi käsupaneelile uue käsu “Uuenda nomenklatuuri”. Enne seda on soovitatav eemaldada märkeruut " Automaatne täitmine" sellel paneelil.

Looge käsule „Uuenda üksust” uus toiming ja kirjutage järgmine kood:

Uuendame konfiguratsiooni.

See viib arengu lõpule. Me läheme allika kasutaja konfiguratsioonirežiimi ja täidame nomenklatuuri kataloogi suvalisel viisil

Läheme mobiilseadmesse, käivitame rakenduse ja klõpsame nuppu „Värskenda üksust”. Kui kõik on õigesti tehtud, peaksid ekraanile ilmuma järgmised andmed:

Järeldus

Teeme oma töö kokkuvõtte – õnnestus nullist konfigureerida ja arendada mobiilirakendus ning seadistada selle vahetus teise andmebaasiga. Väärib märkimist, et platvorm 1C Mobile võimaldab seda teha kiiresti ja mugavalt.

Mobiilirakenduste arendus on alati seotud lisatehnoloogiate õppimise vajadusega. Mis siis, kui vaatame küsimuse uuesti läbi ja kasutame juba tuttavaid tööriistu?

Esimest korda proovis siseneda ettevõte 1C mobiiliarenduse turg aastal 2006. Tol ajal oli tõeline tung pihuarvuteid kasutavate kaugtöötajate töö automatiseerimiseks. Uusi programme selliste probleemide lahendamiseks ilmus nagu seeni ja müüja nagu 1C, kellel on edukad tooted erinevate ärivaldkondade automatiseerimiseks, ei saanud kasutamata võimalust siseneda kasumlikule turule.

2006. aasta keskpaigaks esitles ettevõte uut toodet paljulubava nimega "1C: Enterprise 8. Pihuarvutite laiendus". 1C arendajad, kes nägid 8. platvormi väljavaateid, hakkasid lootma, et nüüd on ühe tööriista abil võimalik ilma suuremate raskusteta arendada neil aastatel populaarset mobiilset operatsioonisüsteemi Windows Mobile.

Praktikas nägi kõik palju hullem välja. See tööriist ei võimaldanud meil originaalseid ideid ellu viia. Kilekott " Pihuarvutite laiendus» oli pigem teatud tüüpiliste konfiguratsioonide lisand kui täisväärtuslik arenduslahendus. Konfiguratsioonifunktsiooni laiendamiseks uute metaandmeobjektide lisamisega ei olnud ette nähtud. Väga lihtsad asjad jäeti kolmandate osapoolte programmeerijate hooleks: uute vormide loomine kasutajaga suhtlemiseks, kasutajasündmuste töötlemine.

Jah, piirangute jaoks oli igasuguseid lahendusi, kuid isegi need ei võimaldanud tegelikku arengut. Lisaks tehnilistele piirangutele tundsid tarbijad tõsist rahalist takistust. Ettevõtted, kes otsustasid 1C-st lahenduse juurutada, pidid ostma tootlikud pihuarvutid, ostma Windows Mobile'i litsentsid ning maksma ka 1C-le lahenduse tarnimise ja lõpliku rakenduse.

1C lahendus oli liiga kallis. Raha säästmisega harjunud ettevõtted jätkasid alternatiivsete lahenduste kasutamist. Lisaks õnnestus alternatiivide arendajatel varustada oma tooted funktsionaalsusega standardsete 1C lahendustega suhtlemiseks.

Tehnilised piirangud ja kõrge hind ei võimaldanud tootel korrata töölauaplatvormi kolossaalset edu. Idee vallutada hoone mobiiliturg.

rakendused ebaõnnestusid haledalt.

Samm edasi

Ebaõnnestunud projekti kaotus ja kaotused ei lõpetanud paljulubava suuna arengut. 2013. aastal tutvustas ettevõte 1C uue platvormi 8.3 esimest stabiilset versiooni, mille ülesandeks on mobiilirakenduste arendamine.

1C mõtles täielikult ümber oma lähenemisviisi mobiili "teoreemi" lahendamisele ja võttis arvesse eelmise ebaõnnestunud toote vigu. Tulemuseks on täiesti uus tööriist, millel pole eelkäijaga midagi ühist ja mis on keskendunud kõige uuematele mobiiliplatvormidele – Androidile ja iOS-ile.

Mobiilirakendused 1C stiilis

Mobiilplatvormide arendusvõimalustega täielikuks tutvumiseks proovime välja töötada väikese konfiguratsiooni. Täieliku näite abil saate olemasolevaid funktsioone paremini hinnata ja otsustada, kas kasutada probleemide lahendamiseks platvormi 1C.

Töötamiseks vajate platvormi 1C:Enterprise 8.3 uusimat väljalaset. Distributsiooni hariv versioon on saadaval 1C ametlikul veebisaidil. Selle võimekuse näite taasloomiseks on rohkem kui küll.

Lisaks 1C:Enterprise 8.3 platvormile vajame mitmeid lisatööriistu. Selles artiklis vaadeldakse Androidi rakenduse arendamise näidet. Sellega seoses peate alla laadima: Android SDK ja Apache veebiserveri. Esimene komponent sisaldab kõike rakenduse ehitamiseks vajalikku ja emulaatorit testimiseks ning veebiserver on kasulik rakenduse kiireks allalaadimiseks mobiili OS-i.

Nõuame ka mobiilse arendaja platvormi tarnimist. See sisaldab konfiguratsiooni, mis lihtsustab loodud mobiilirakenduse loomist, samuti mobiiliarendaja platvormi. See tuleb installida mobiilseadmesse või emulaatorisse.

Google Play kaudu levitamiseks valmis rakenduse loomiseks peate selle alla laadima Apachelik Ja JavaJDK. See teema jääb artikli ulatusest välja, nii et nende tööriistadega töötamise ja rakenduse kokkupanemise kohta saate lisateavet minu vastavas jaotises.

Tööriistade seadistamine

platvorm" 1C: Ettevõte 8.3" ja Apache veebiserver on varustatud installijatega ja installitakse standardsel viisil. Android SDK peate selle lihtsalt eraldi kataloogi lahti pakkima ja käivitama " sdk manager.exe" Teie ette ilmub aken installimiseks saadaolevate pakettide valikuga. Selles artiklis käsitletud näite testimiseks peate valima ja installima: Androidi SDK tööriistad, A nroid platvormi tööriistad, SDK platvormi API 17.

Viimane samm on uue teabebaasi loomine. Neile, kes ei ole seotud arendusega "" all 1C: Ettevõte„Selgitan, et selle platvormi iga lahendus koosneb teabebaasist ja konfiguratsioonist. Uue andmebaasi lisamiseks klõpsake nuppu " Lisama» avaaken. Pärast andmebaasi lisamist avage see jaotises " Konfiguraator».

Esimene mobiilikonfiguratsioon

Konfiguraatori peamenüüst leiame jaotise " Seadistamine" ja valige "Ava konfiguratsioon". Konfiguratsioonipuu (objektid, millest tulevane rakendus koosneb) kuvatakse akna vasakus servas. Valige selles konfiguratsioonijuur ja vajutage klahvikombinatsiooni " Alt+Enter" Atribuutide redaktor avaneb konfiguraatori akna paremas osas.

Kutsume konfiguratsiooni " TEGEMA" ja atribuudis "Kasutusotstarve" märgime " Mobiilseade" Pange tähele, et pärast viimase toimingu sooritamist muutuvad mõned konfiguratsioonipuu sõlmed passiivseks. Kahjuks ei ole mobiiliplatvormil võimalik kasutada kõiki metaandmeobjekte.

Probleemi lahendamiseks peame konfiguratsioonipuus looma mitu metaandmeobjekti:


Toiming AddTask(Task) ExportRecordManager = CreateRecordManager(); RecordManager.Period = CurrentDate(); RecordManager.Task = Ülesanne; RecordManager.Status = Task.Status; RecordManager.Record(); Menetluse lõpp

Loetelu 2. Funktsiooni “Get List of Unclosed Tasks()” kood

Funktsioon GetList of UnClosedTasks() Export Request = Uus taotlus; Query.Text = "SELECT |TaskStatusSliceLast.Task AS ülesanne, |TaskStatusSliceLast.Task.ExecutionDate AS ExecutionDate |FROM | Teave Register.TaskStatus.SliceLast(&praegune kuupäev, olek<>VÄÄRTUS(Loend.TaskStatused.Completed)) AS OlekTasksSliceLast | |TELLI | Täitmise kuupäev DESC"; Request.SetParameter("CurrentDate", CurrentDate()); Return Request.Execute().Unload(); EndFunction

Oleme teaberegistrist andmete hankimise ja salvestamise korda ajanud, nüüd õpetame oma kataloogile registriga töötamist. Selleks lisage konfiguratsioonipuule ühine moodul nimega " Tööülesannetega töötamine" Saab ka ilma hakkama, aga tahaks kohe keskenduda võimalusele koodi mooduliteks lõhkuda. Paljud 1C arendajad jätavad selle soovituse endiselt tähelepanuta ja kirjeldavad kogu loogikat ühes kohas, raskendades seeläbi koodi hilisemat hooldust. Loome moodulis uue protseduuri Looge uus ülesanne"(vt loetelu 3).

Nimekiri 3. Protseduuri "Loo uus ülesanne" kood

Protseduur CreateNewTask(Link) Export If Link.ThisGroup then Return; endIf; Taotlus = uus taotlus; Query.Text = "SELECT |TaskStatusSliceLast.Status |FROM |Teave Register.TaskStatus.SliceLast(&CurrentDate, Task = &Task) AS TaskStatusSliceLast"; Query.SetParameter("CurrentDate", CurrentDate()); Request.SetParameter("Task", Link); Tulemus = Query.Run().Select(); If Result.Next() then If Result.Status<>Link.Olek Seejärel Info Registrid.Task Status.AddTask(Link); endIf; Muidu Info Registrid.TaskOlek.LisaTask(Link); endIf; Menetluse lõpp

Enne uue kirje loomist kontrollitakse ülesande olemasolevate kirjete olemasolu. Kui kirje on juba olemas, peate võrdlema ülesannete olekuid. Kui registri olek ei erine kirjutatava elemendi staatusest, ei ole vaja täiendavat kirjet luua.

Viimase lihvina avame kataloogiüksuse "Tasks" vormi ja loome sündmuste töötleja " AfterRecordingOnServer" Selles kirjutame kutse kolmandas loendis kirjeldatud protseduurile:

WorkWithTasks.CreateNewTask(CurrentObject.Link);

Töötame liidese kallal

Rakenduse põhifunktsionaalsus on valmis – kasutaja saab koostada ülesandeid ning iga uue ülesandega luuakse kirje perioodilise teabe registrisse. Liigume nüüd liidese juurde. Toome töö koos ülesannetega esiplaanile. Kindlasti oleks loogiline pärast rakenduse käivitamist kohe kuvada lõpetamata ülesannete loend ja võimalus luua uus?

Leiame sõlme" Üldised vormid" ja lisage uus vorm nimega " Töölaud" Avame loodud vormi liidese kujundajas ja lisame atribuudi nagu " Väärtuste tabel" Nimetagem seda "OpenZachiks". Tabel sisaldab kahte veergu - " Ülesanne"(Viide Link.Tasks) ja " Täitmise kuupäev" (kuupäev).

Järgmine samm on lohistada lisatud rekvisiidid vormile. Meil peaks olema lihtsa tabeli liides. Me ei täpsusta mõõtmeid; jätame liidese skaleerimise platvormi hooleks.

Loodud tabeli jaoks määrake atribuutide inspektoris märkeruut atribuudi jaoks " Ainult vaata"ja vara" Käsupaneeli asukoht» määrake väärtus "Ei". Täidame tabeli dünaamilise teabega, nii et kasutajal pole mõtet seda redigeerida.

Nüüd kirjeldame vormi sündmuste käitlejat „When CreatedOnServer”. Lisame sellele ühe koodirea:

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

Koodis viitame protseduurile, mida kirjeldasime " Hankige lõpetamata ülesannete loend" ja selle täitmise tulemus paigutatakse tabelisse.

Läheme tagasi vormikujundaja juurde ja lisame kahe nupuga tüübi "Tavaline kuvamata rühm": " Loo"Ja" Värskenda" Kinnistu" Rühmitamine"Lisatud rühma jaoks määrake väärtuseks "Horisontaalne". Nuppude ilmekamaks muutmiseks lisage pilte ja muutke vaikefondi.

Nüüd vali nupp " Loo"ja andke sellele globaalne käsk" Ülesanded: loo" See võimaldab teil luua ülesandeid ilma kataloogi sisenemata. Vajutades teist nuppu, uuendame tabeli sisu ülesannetega. Selleks peate looma täiendava vormikäsu.

Kõik uued vormikäsud luuakse samanimelisel vahekaardil " Meeskonnad" Põhimõte on lihtne – lisame uue käsu, kirjeldame selles tegevuskoodi ja seejärel seostame käsu liidesega, meie puhul nupuga.

Samuti ei tohiks unustada, et arendame hallatavat rakendust, seega peame selgelt eristama kliendi- ja serverikoodi. Nupule klõpsamisel kuvatakse kontekst " OnClient" ja me saame serverist andmebaasi andmed. Koodis näeb see välja selline:

&Kliendiprotseduuris UpdateTaskList(Command) UpdateList(); Protseduuri lõpp &Serveris Protseduur serveris loomisel(tõrge, standardtöötlus) OpenTasks.Load(InformationRegisters.TaskStatus.GetListofUnClosedTasks()); Menetluse lõpp

Nüüd määrame oma töölauavormi avalehe alaks. Avage konfiguratsiooni atribuudid (valige ülemine sõlm ja klõpsake " Alt+Enter") ja atribuudile "Kodulehe tööala" määrake väärtus " Üks veerg", seejärel lisage meie vorm loendisse" Töölaud».

Rakendus on täiesti valmis ja on aeg seda töös testida. Proovige näidet käivitada ja luua mitu ülesannet, mille olek on muu kui " Lõpetatud" Inforegister on täienenud uute kannetega (seda saab vaadata läbi menüüpunkti “ Kõik funktsioonid") ja mõned neist kuvatakse töölaual.

Androidi maandumine

Konfiguratsioon töötab töölaual suurepäraselt ja nüüd on aeg seda mobiilse OS-i emulaatoris testida. Uue emulaatori ettevalmistamiseks käivitage käsutõlk ( cmd.exe) ja minge Android SDK distributsiooni kataloogi "toos". Käivitage käsk " android.bat avd", mis käivitab virtuaalse Androidi seadmehalduri. Klõpsake selles nuppu "Loo" ja kuvatavas aknas määrake virtuaalse seadme parameetrid. Oma töökeskkonnas otsustasin jäljendada Androidiga Nexus S versioon 4.2.2. (API tase 17).

Pärast seadme loomist käivitame selle kohe. Androidi laadimise ajal pöördume tagasi konfiguraatorisse ja avaldame oma rakenduse veebiserveris. Valige konfiguraatori peamenüüst üksus " Seadistamine» -> « Mobiilirakendus» -> « Avalda" Avaldamise seadete aknas määrame rakenduse nime (võib olla ükskõik milline), veebiserveri (meie keskkonnas peaks selline olema) ja seadete salvestamise kataloogi.

Nime määramine " todo-mobiil", on rakendus saadaval aadressil - " http://host/todo-mobile" Klõpsake "ok" ja proovige brauseris avaldatud rakendusele juurde pääseda. Kui see õnnestub, tagastab server loodud konfiguratsiooni XML-koodi.

Pöördume tagasi emulaatori juurde ja laadime sellesse rakenduse koos mobiiliarendaja platvormiga. Rakenduse fail ise on saadaval koos mobiiliarendaja platvormi tarnimisega ja kannab nime "1cem-arm.apk". Selle rakenduse installimiseks emulaatorisse kasutame utiliiti " adb.exe"kataloogist" platvorm-tööriistad»: adb.exe install –r 1cem-arm.apk.

Pärast edukat installimist avage emulaatoris rakenduste loend ja käivitage mobiiliarendaja platvorm. Avanevas aknas klõpsake " Lisa rakendus" ja väljale "aadress" näitame oma veebiserveri URL-i. mul on see http://192.0.168.106/todo-mobile. Klõpsake " Lisama"ja meie konfiguratsioon on edukalt üle viidud mobiiliplatvormile. Rakendus on kasutamiseks valmis. Testige tulemust ja naaske konfiguraatorisse, on aeg pakkuda rakendustele "mobiilseid funktsioone".

SMS/MMS-sõnumite saatmine

Funktsioonid SMS/MMS-iga töötamiseks Mobiiliplatvormid toetavad sõnumivahetust erinevalt. Näiteks Androidis rakendust käivitades on arendajal võimalus tellida SMS ja saada juurdepääs uutele sõnumitele kohe pärast nende saamist. Kahjuks pole see sama funktsioon iOS-is saadaval, seega peaks dokumentatsioon arenduse ajal käepärast olema.

SMS-sõnumite saatmiseks on ette nähtud objekt SMS-sõnum. Vaatame näidet:

&OnClient protseduur SendSMSMessage(Recipient, MessageText) NewMessage = Uus SMS(); NewMessage.Text = Sõnumitekst; Uus sõnum.Saatjad.Lisa(Recipient); Telefonitööriistad.SendSMS(NewMessage); Menetluse lõpp

Kood on üsna lihtne ja ei vaja peaaegu kommentaare. Vaatame nüüd sissetulevate sõnumite tellimist:

&Kliendiprotseduuris ConnectMessageReceivingHandler() SubscribeToMessages = New AlertDescription("Uute sõnumite töötlemine", ThisObject); Telefonitööriistad.ConnectSMSMessageHandler(SubscribeToMessages); Protseduuri lõpp &Kliendi protseduur Uute sõnumite töötlemine (sõnum, lisaparameetrid) // Uue sõnumi töötlemine // Sõnum, sõnum. Menetluse lõpp

protseduur" Uute sõnumite töötlemine" helistatakse iga kord, kui saabub uus SMS. Läbi parameetri " Sõnum" tüüpi objekt " edastatakse SMS-sõnum» ja saame hõlpsalt hankida sõnumi teksti ja teabe saatja kohta.

MMS-sõnumitega töötamine toimub samal viisil. Kõigepealt koostame SMS-sõnumi ja seejärel lisame sellele manuse (näiteks pildid). Selle lihtsa toiminguga muutub SMS MMS-iks:

NewMessage= Uus SMS(); Attachment = uus MMSAtachment; Attachment.Data = Pilt; Attachment.ContentType = "pilt/jpeg"; MMSMessage.Attachments.Add(Attachment);

Mobiilirakendusest helistamine

Programmiline kõne tehakse globaalse objekti "Telephony Tools" meetodil "Valimisnumber". Enne meetodi helistamist on väga soovitatav kontrollida helistamise võimalust:

Kui Telephony Tools.SupportedDialing() then Telephony Tools.DialNumber(PhoneNumber, Call Immediately); endIf;

Parameeter " Helista kohe» mõjutab valimise jõudlust. Kui see on võrdne " Tõsi", valitakse automaatselt standardse helistamisrakenduse kaudu. Kui väärtuseks on määratud Väär, näeb kasutaja ka tavalist valijaliidest, kuid helistamiseks peab ta nuppu vajutama. Helistama».

Kõnelogi

Mobiiliplatvorm võimaldab arendajal kõnelogiga suhelda. Näiteks saate hõlpsalt hankida väljaminevate, vastamata või sissetulevate kõnede loendi. Funktsioon, mida toetatakse ainult Androidis:

Kõnelogi = Telefonitööriistad.GetCall Log(); Valik = NewDataCompositionSelection; Selection Element = Selection.Elements.Add(Type("DataCompositionSelection Element")); SelectionElement.LeftValue = NewDataCompositionField("CallType"); SelectionElement.ComparisonView = ComparisonTypeDataLayout.Equals; SelectionElement.RightValue = CallLogCallType.Missed; SelectionElement.Use = Tõene; Kõnelogi kirjete loend = CallLog.FindRecords(Valik); //Kõnelogi kirjete loend sisaldab kirjete kogu

Geopositsioneerimine

Peaaegu igal kaasaegsel nutitelefonil on geograafilise asukoha määramise funktsioonid. Saate seda funktsiooni kasutada sisseehitatud 1C keelest. Seadme praeguste koordinaatide hankimise võib jagada kaheks etapiks: geopositsioneerimisteenuse pakkuja valimine ja saadud koordinaatide töötlemine:

//Pakkume platvormi pakkuja valikut IdealProvider = Geopositioning Tools.GetMost AccurateProvider(); Koordinaadid = GeoPositioningTools.Get LastLocation(IdealProvider); //Kui koordinaadid saadi ammu, siis uuenda If Coordinates = Undefined VÕI CurrentDate() – Coordinates.Date > 3600 Then Geopositioning Tools.UpdateLocation(IdealProvider, 60); Koordinaadid = GeoPositioningTools.Get LastLocation(IdealProvider); endIf;

Multimeediumifunktsioonidega töötamine

Arendajal on võimalus teha pilte, videoid ja helisalvestisi kasutades sisseehitatud keelt: Pildista(), Tehke videosalvestus(), Tehke helisalvestis().

Millise mobiili OS-i jaoks on parem 1C-s arendada?

Vaatamata minu armastusele Apple'i tehnoloogia vastu, on kõige parem luua mobiilirakendusi Androidi platvormi 1C abil. Sellel on mitu põhjust, kuid kõige olulisem neist on toetatud funktsioonid. Kahjuks iOS-i all ei toetata paljusid vajalikke asju. Näiteks võimetus programmiliselt SMS-sõnumeid tellida või kõnelogidega suhelda võib muuta mõne idee elluviimise võimatuks. Android on selles osas sõbralikum. Ärge unustage seadmete enda maksumust. Mitte iga ettevõte ei ole valmis Apple'ilt mobiilseadmeid ostma.

Selle asemel, et lõpetada

platvorm" 1C: Ettevõte 8» on praktikas tõestanud oma valmisolekut saada lihtsaks vahendiks ettevõtte arengu arendamiseks. Rakendused mobiiliplatvormidele. Artiklis käsitletud näited on selle täiendavaks kinnituseks. Kui rakenduse funktsionaalsus klapib mobiiliplatvormi võimalustega ja ettevõttes domineerivad 1C tooted, pole üldse vaja ressursse kulutada natiivsete tööriistade õppimisele.