Mobiilirakendus 1c Androidile. Automatiseerimise näpunäited

Selle aasta 28. septembril andis 1C välja 8.3.2.163 platvormi prooviversiooni, mis oli mõeldud testimiseks, ilma suurema müra ja paatoseta. Huvilised saavad lugeda muudatuste ja täienduste täielikku nimekirja või tellimuse olemasolul .
Loetletud täiustustest tundub mulle, et “Mobiilne platvorm 1C: Enterprise 8” on üsna “maitsev”, mis võimaldab tavaliste 1C tööriistade abil luua rakenduse Androidi või iOS-i mobiilsete operatsioonisüsteemide jaoks.

Mobiiliplatvorm, nagu arendajad ise kirjutavad, "See on tehnoloogia üldnimetus, mis võimaldab teil luua rakendusi, mis töötavad Androidi või iOS-i operatsioonisüsteemiga mobiilseadmetes."
“Seadmesse installitud mobiilirakendus on kombinatsioon mobiiliplatvormist ja teabebaas.».

See tähendab, et lihtsalt öeldes saate oma kirjaliku konfiguratsiooni koostada Androidi (.apk) või iOS-i (.zip) rakenduseks. Siis saab kogu selle headuse sisse panna Google Play või AppStore. Tõsi, kui Androidile mõeldud programmi saab allkirjastada seal loodud võtmega kohe 1C-s ja see on kohe avaldamiseks valmis, siis selleks, et rakendus AppStore'is avaldada, tuleb see esmalt Xcode programmi abil kokku panna. operatsioonisüsteemiga arvutis. Mac süsteem OS X. Ja loomulikult on nendes poodides avaldamiseks vaja arendajalitsentsi.
Kõik kõlab hästi ja loomulikult tahtsin proovida uusi funktsioone.

Loomine mobiilirakendus 1C peal

Selleks vajame uus versioon platform(), salvestatud fail, android SDK ja JDK.
Hoiatan kohe: nüüd ma ei sea endale ülesandeks näidata 1C-l millegi konkreetse väljatöötamise protsessi, vaid tahan lihtsalt kontrollida ja näidata, et - jah, maailm on hulluks läinud ja saate tõesti kirjutage programm Androidi jaoks 1C-s.
Noh, proovime kirjutada Googlephone'i jaoks omamoodi "helloWorldi". Teeme testimise eesmärgil programmi - ühe ühise vormiga konfiguratsiooni, mille paneme "töölauale".
Seega loome sisse uue konfiguratsiooni juhitav režiim, ja esimene asi, mida peame mobiiliplatvormi jaoks kirjutades tegema, on konfiguratsiooni enda atribuutides määrata "Kasutussihtkoht".

Ja siin märkame kohe, et paljud konfiguratsiooniobjektid on muutunud kasutamiseks kättesaamatuks. Me ei saa enam kasutada alamsüsteeme, ajastatud ülesandeid, XDTO pakette, veebiteenuseid, aruandeid, äriprotsesse ja palju muud. Samuti pole mõnede objektide jaoks saadaval paljud protseduurid ja meetodid. Seda tuleks väljatöötamisel arvesse võtta.
Teeme vormi, loome stringi rekvisiidi pealkirjaga: "Tere, Habr!" - ja visake see vormi. Loome ka nupu. Pressimise käsitlemisel kirjutame näiteks sõnumi väljundi.

&AtClient Procedure Command1(Command) Hoiatus("See töötab!"); Lõppprotseduur

Toimivuse kontrollimiseks meile sellest piisab, nii et jätkame kõige huvitavamaga. Salvestame konfiguratsiooni mobiilirakenduse faili (Konfiguratsioon->Mobiilirakendus->Kirjuta faili), käivitame hallatud režiimis ja alustame MobileAppWizard.epf töötlemist. See fail asub mobile.zip arhiivis, mille me kohe alguses alla laadisime.
Ja nüüd pakutakse meile esmaste sätete täitmist, kus kõik nõutavad väljad on punasega alla joonitud.

Mobiiliplatvormi asukoht – kataloog, kus asuvad mobiilirakenduse tarne genereerimiseks vajalikud failid android.zip ja ios.zip. Need on kõik samas mobile.zip arhiivis.
Määrake kaust, kuhu installisime Android SDK(saate alla laadida). 1C seab järgmised nõuded:
Android SDK Toolsi versioon – vähemalt 20.0.3;
Android SDK platvormi tööriistade versioon - vähemalt 14;
SDK platvormi versioon – API 8 (mitte madalam kui versioon 8.3).
Ja meil on vaja ka Java SDK-d (saab hankida sellelt aadressilt) Lisaks hoiatab 1C meid, et JDK7 ei tööta Android SDK-ga.
Määrame kaustad, kuhu meie .apk-fail paigutatakse, allkirja võtme asukoha ja parooliga aliase. Kui teete seda esimest korda ja teil pole võtit, saate täita "võtmeparameetrid" ja genereerida endale võtme (sel juhul tuleb väljale "võtmefail" määrata kaust, kuhu see võti luuakse).
Klõpsake "OK" ja minge teise aknasse.

Selles märgime kõigepealt "Mobiilirakenduse konfiguratsiooni" - sama faili, mille salvestasime. Seejärel keel ja alles siis klõpsame “suurendusklaasiga” nuppu ja sisestame sinna esituse. Määrake "Application ID" - Java klassi kordumatu nimi, mida kasutatakse hiljem värskenduse läbiviimiseks. Identifikaator tuleb kirjutada ladina keeles ja 1C soovitab selle nime alustada tähega "com.e1c". Sisestage versiooni ja järgu number ning klõpsake nuppu "Loo". Kui kõik läheb hästi, teavitab süsteem teid .apk-faili edukast loomisest.
Laadime saadud faili telefoni üles ja installime selle oma lemmikhalduriga, olles eelnevalt süsteemiseadetes installimise lubanud kolmanda osapoole rakendused. Või installige programm emulaatorisse adb kaudu. Ütlen kohe: emulaatoris on kõik kohutavalt aeglane, aga telefonis (kontrollisin ainult sisse HTC Wildfire S) asjad on palju paremad, aga probleeme on ikka. Näiteks osutus minu faili kaal koguni 34 Mb, nii et installimine võttis kaua aega. Pärast käivitamist tervitab meid pritsekraan ja mõne aja pärast algab konfiguratsioon ise. (vabandust foto pärast: tegin kalkulaatoriga)

Seni on uued funktsioonid tundunud väga "toored": 1C piiratud funktsionaalsus, võimetus SDK-d otse kasutada, pluss suur suurus ja mõned "pidurid" ... Kuid võimalus kirjutada mobiiliplatvormile programm 1C on veidi üllatav! Isiklikult olen selles osas kahel seisukohal. Ühest küljest on see "funktsioon" ikkagi pigem mänguasi, sest pole võimalust midagi tõeliselt väärt teha. Kuid teisest küljest on see 1C jaoks selgelt suur samm liikuvuse suunas ja kui see suund hakatakse aktiivselt arendama, võib see tuua palju kasu. Näiteks võite varustada laopidajad tahvelarvutitega. Kui on võimalik kasutada "pardakaameraid", siis saate lugemisseadmetest lahti saada ja koodid otse tahvelarvutist skannida, need autojuhtidele edastada ning transpordile ülesandeid saata või auto marsruuti jälgida. auto ja liikumise aeg. Üldiselt on palju võimalusi ja see, et see kõik on ühes infosüsteemis, rõõmustab kliente/juhte väga, sest mingil põhjusel on neil alati enne kasutamist paanikahirm. suur hulk erinevad süsteemid, tahavad nad kasutada kõiki funktsioone ühel platvormil.

Mobiiliplatvorm 1C: Enterprise on tööriistade ja tehnoloogiate komplekt mobiilsete operatsioonisüsteemide rakenduste kiireks arendamiseks iOS, Android, Windowsi telefon/ 8.1 / 10, kasutades samu arenduskeskkondi (Configurator või 1C:Entrprise Development Tools) ja samu arendusmeetodeid, mida kasutatakse "tavaliste" 1C rakenduste jaoks. Tulemuseks on autonoomsed, võrguühenduseta rakendused, kuid millel on võimalus 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 muu hulgas vahend kiire loomine mobiilne esiots peaaegu iga serverilahenduse jaoks.

taustal

1C:Enterprise'i versiooni 8.0 (ja järgnevate versioonide) päevil oli tarkvaratoode "Laiendus for taskuarvutid". Laiendus võimaldas teil luua tooteid ainult OS-i jaoks Windows Mobile, Windows CE jne. Tootel oli oma konfiguraator ja server ning seda toetati kuni 1C:Enterprise'i versiooni 8.3 väljalaskmiseni. Uusim versioon Laiendus (8.2.9) ilmus 2013. aasta oktoobris ja täielik tugi lõppes 1. jaanuaril 2015.
Laiendus oli piiratud kasutusega isegi Windows Mobile kommunikaatorite hiilgeaegadel ning selliste seadmete lahkumine mobiiliturult ilmselgelt sellele populaarsust ei lisanud. tarkvaratoode. iOS-i ja Androidi seadmed on hõivanud peaaegu kogu mobiilseadmete turu ning on saanud selgeks, et nende operatsioonisüsteemide tugi on üks võtmepunkte süsteemi jaoks, mida tänapäeva mobiilimaailmas tuleb kasutada. Samuti tundus ilmselge, et olemasoleva 1C:Enterprise platvormi peamist lähenemist tuleks kasutada ka mobiilseadmetes: rakenduslik arendaja peaks ennekõike mõtlema rakendusprobleemide lahendamisele ja teiseks sellele, milliseid OS-i funktsioone ta nende lahendamiseks kasutab. probleeme. Teisisõnu vajate tööriista, mis isoleerib rakenduse arendaja konkreetse mobiilse OS-i ja arendustööriista spetsiifikast.

Mobiilne platvorm

Taskuarvutite laienduse arendamise ja kasutamise kogemuse põhjal otsustati välja töötada spetsiaalne süsteem, mis vastaks mitmetele nõuetele:
  • see peaks toetama kaasaegset populaarset mobiiltelefoni Operatsioonisüsteemid ja nende kontrolli all olevad seadmed. 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 peab liides põhinema käsitsi juhtimine(selle sõna otseses mõttes), kasutades puutetundlikke ekraane.
  • süsteem peaks pakkuma ühtset programmeerimisliidest erinevate spetsiifiliste mehhanismide rakendamiseks, olenemata kasutatavast mobiili OS-ist.
  • arendaja peab kasutama sama tööriista ja samu arendusviise, mis "tavalisele" arvutile rakendusi arendades.
  • rakenduste arendaja peaks välja töötama rakenduslahendus tuttavas arenduskeskkonnas, kasutades võimalusel sama koodi nii lauaarvutis kui ka mobiilis.
  • mobiilseadmes töötava rakenduslahenduse liides peaks olema erinevatel platvormidel sarnane ja üldiselt üheselt ä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 luua rakendusi iOS, Android, Windows Phone / 8.1 / 10 mobiilsetele operatsioonisüsteemidele, kasutades sama arenduskeskkonda (Configurator) ja samu arendusmeetodeid, mis tavarakenduste jaoks. platvormil 1C:Enterprise. Tulemuseks on autonoomsed võrguühenduseta rakendused, mis võimaldavad vahetada teavet välismaailmaga, kasutades laia valikut platvormi pakutavaid integratsioonitööriistu: veebi- ja HTTP-teenused, Meil jne.
Mobiiliplatvorm võeti kogukonna poolt hästi vastu, sellel teemal hakkasid ilmuma erinevad artiklid (näiteks ja). Täisfunktsionaalse rakenduse väljatöötamiseks, mis töötab samaaegselt valdavas enamikus mobiilseadmetes, nõudis see nüüd minimaalselt aega ja teadmisi, mis ei erine põhimõtteliselt 1C:Enterprise platvormi "tavalise" rakenduste arendaja teadmistest. Muidugi meelitab selline madal sisenemislävi arendajaid, kes peavad pakkuma mõningaid põhifunktsioone teedel töötavatele töötajatele, ülemustele ja teistele mobiilsetele töötajatele, kes peavad ettevõtte süsteemiga töötama.
Mobiilirakenduse arendamisega 1C:Enterprise platvormil on lihtne alustada. Konfiguraatoris peate määrama konfiguratsiooni atribuudi "Kasutusotstarve" väärtuseks "Mobiilseade". Sel juhul muutuvad mõned rakenduse konfiguratsiooniobjektid kättesaamatuks (karakteristiku tüüpide plaanid, kontoplaanid jne), kuid saadavale saavad mobiilirakenduse spetsiifilised omadused (näiteks sisseehitatud multimeedia ja geopositsioneerimise tööriistad). mobiilseade jne.).


Samal ajal saate peamisi rakendusalgoritme (pole otseselt seotud mobiilispetsiifikaga) siluda otse arendaja arvuti konfiguraatoris. Samal ajal on soovitatav raamida koodi osad, milles "mobiilne" funktsioon kutsutakse, koos vastavate juhistega eeltöötlejale, et vältida tõrkeid koodi täitmisel personaalarvutis:
#If MobileApplicationClient Then Data = GeolocationServer.GetProviderName(); #EndIf
Alates mobiiliplatvormi versioonist 8.3.7 on muutunud kättesaadavaks rakenduse silumine otse mobiilseadmes (sellest lähemalt allpool).

Mobiilplatvormil arendamisel võib järgida erinevaid lähenemisviise, kuid on mõned põhipunktid, mis silma paistavad. Tegeliku mobiilirakenduse loomise, selle funktsionaalse rikkuse ja rolli ettevõtte IT-taristus seisukohalt:

  • mobiilirakendus võib olla olemasoleva ettevõtte infosüsteemi lahutamatu ja lahutamatu osa. Mobiilirakendus pakub liidest ja muid funktsioone (sh andmevahetust), mis on kohandatud olemasoleva infosüsteemi võimalustele. Sel juhul on mobiilirakendus väga tihedalt seotud "tavalise" infosüsteem ja seda ei saa kasutada sellest eraldi.
  • mobiilirakendus täidab spetsiifilisi ülesandeid, mis ei ole praktiliselt seotud ettevõtte infosüsteemiga. Mobiilirakenduse ja infosüsteemi vahel vahetatakse vaid minimaalselt andmeid. Sel juhul vahetab mobiilirakendus suure tõenäosusega mingit standardiseeritud protokolli, mis võimaldab seda mobiilirakendust kasutada täiesti erinevatel juhtudel ja olukordades.
Ülalkirjeldatud kahte olukorda võib pidada äärmuslikuks võimaluseks. Kuid need pole ainsad arendusvõimalused. Rakenduse arendaja saab iseseisvalt valida integreerimisvõimalused mobiilirakenduse ja selle tagakontori rollis toimiva infosüsteemi vahel.
Mobiilirakendus on välja töötatud täiesti eraldiseisva konfiguratsioonina, kuid see võib jagada osa lähtekoodist "vanema" konfiguratsiooniga. Muide, "vanema" konfiguratsioon ei pruugi füüsiliselt eksisteerida (näiteks kui arendate mõnda universaalne rakendus, millega saab töötada erinevad süsteemid universaalse protokolli järgi).

Mobiilplatvormi seade

Mis on mobiiliplatvorm ja mida see teha saab?
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 on saadaval tavalise (mida kasutatakse rakenduse koostamisel rakenduste poes avaldamiseks) ja mobiiliarendaja platvormina, mida kasutatakse (üllatus) mobiilirakenduse arendamise ajal.
  2. Mobiilikonfiguratsioon on tarkvarasüsteemi 1C:Enterprise konfiguratsioon, mis on kirjutatud XML-failina.
  3. Mobiiliplatvormi ja mobiilikonfiguratsiooni kombinatsioon annab tulemuseks mobiilirakenduse.
  4. Mobiilirakenduse monteerija on spetsiaalne rakenduslahendus, mida saab teha mobiiliplatvormist, konfiguratsioonist, pritsekraanidest, ikoonidest ja muudest komponentidest, valmis fail mobiilirakendus, mida saab alla laadida Apple AppStore’ist, Google Play’st, Windows Phone’i rakendustest / Windows Appsist.
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 keelab litsentsipiirangute seadmise rakendustele, mida levitatakse rakenduste kaupluste kaudu. Näiteks kui teie rakendus laadib täitmiskoodi (skriptina) alla Interneti kaudu, ei kuvata seda kunagi Apple'i rakenduste poes. Siiski tuleb mõista, et arendaja mobiiliplatvormil oleva konfiguratsiooni allalaadimise võimalus ei ole mõeldud mobiilirakenduste levitamiseks isegi ühe ettevõtte sees, 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 platvormilt mobiiliplatvormile personaalarvuti. See on piisavalt kompaktne ja kiire, kuid peamine on see, et see tagab täpselt sama käitumise, millega rakenduste arendajad on harjunud personaalarvutite platvormil töötades.
Samuti väärib märkimist, et mobiilirakenduse sees on üles ehitatud sama skeemi järgi nagu tavaplatvormi töö koos infobaasi failiversiooniga: on kliendiosa, on serveriosa, on andmebaas ja seal on on kliendi ja 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 funktsioonidega (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 määratakse mobiilirakenduse arendamisel ja neid kasutab mobiilirakenduse koostaja, kuid ehitajast pikemalt hiljem.

Natuke arendajaplatvormist

Mobiilirakenduse väljatöötamise ajal ei ole me seotud rakenduspoodide kaudu levitatavatele mobiilirakendustele kehtestatud litsentsimispiirangutega. See tähendab, et 1C mobiiliplatvormi saame kasutada samamoodi nagu personaalarvutis “suurt” platvormi - installige mobiiliplatvorm ise nutitelefoni / tahvelarvutisse ja laadige sellesse 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. Sellisel juhul asetatakse XML-fail koos rakenduse konfiguratsiooniga arendaja arvutis asuvasse veebiserverisse (vastavalt sellele peab sellel arvutil olema veebiserver – IIS või Apache).

Kui määrate rakendusele valiku "Taaskäivita konfiguraatorist", uuendatakse mobiilseadme rakendust arendaja arvutist automaatselt iga kord, kui arendaja veebiserveris hostitud rakendust värskendab. XML-fail konfiguratsiooni.
Kui valik "Silumine lubatud" on lubatud, on võimalik rakendust samm-sammult siluda mobiilseadmes arendaja arvuti konfiguraatorist (konfiguraatoris "Tööriistad \ Valikud" valik "Silumine HTTP-protokolli kaudu" menüü tuleb valida). Kui määrate konfiguraatoris koodi murdepunktid ja valite käsu "Mobiilirakendus - alusta silumist", siis seadme mobiilirakendus peatub, kui käivitatav kood jõuab murdepunkti, ja saate vaadata muutujate väärtusi, kõne pinu jne Configuratoris.

Mida saab?

Mida siis mobiiliplatvorm teeb? Piisav:)
Kui te ei kasuta 1C:Enterprise'i spetsiifilisi tingimusi, pakub mobiiliplatvorm võimalust töötada regulatiivse ja viiteteabega, koostada dokumente, mis kirjeldavad mõnda välistegevust, vaadata aruandeid, suhelda välismaailmaga Interneti-teenuste abil ja palju muud. rohkem. Need. see annab rakenduste arendajale võimaluse kirjutada üsna toimiv rakendus, näiteks kodurahanduse raamatupidamisprogramm, mobiilne müügiprogramm jms.
Kuid lisaks tavapärastele personaalarvuti platvormil olevatele funktsioonidele peab mobiilne platvorm pakkuma tööd spetsiifiliste funktsioonidega, mis on mobiilseadmetele ainulaadsed:
  • töötada kõnede ja kõnelogiga;
  • töötada lühisõnumite (SMS) ja nende loendiga;
  • kontaktid;
  • kalendrid;
  • geopositsioneerimine (ilma marsruutide paigaldamiseta);
  • võimaldab teha pilte, samuti video- ja helisalvestust;
  • reageerida ekraani orientatsiooni muutustele;
  • teavitustega töötamine (kohalik ja PUSH, nii otse kui ka spetsiaalse vahendusteenuse kaudu);
  • skannige kaameraga vöötkoode ja QR-koode
  • Mobiilirakenduste monetiseerimine (st võimalus anda mobiilirakenduse arendajale lisasissetulekuvõimalusi):
    • Apple In-App Purchase (iOS OS jaoks) ja Google Play In-App Billing (Android OS) ostuteenustega töötamine, millega saab mobiilirakenduses korraldada erinevaid tellimusi, funktsionaalsuse oste jms.
    • Kuvage reklaame mobiilirakendustes (iAd iOS-ile ja AdMob Androidile on praegu toetatud).
  • jne.
On selge, et mõned funktsioonid ei pruugi kõigis saadaval olla konkreetne seade Seetõttu on selleks, et teha kindlaks, mida saab teha seadmes, milles mobiilirakendus töötab spetsiaalsed meetodid mis annab teile teada, on saadaval aadressil see seade, näiteks võimalus numbrit valida või mitte. Seega realiseeritakse ligikaudu järgmine kasutusskeem: kontrollime, kas mingit võimalust on võimalik kasutada või mitte ning võimalusel kasutame:
Kui TelephonyTools.SupportedDial() then TelephonyTools.DialNumber(Telefoninumber, helista kohe); EndIf;
Meie jaoks on oluline ülesanne peita rakenduse arendaja eest üksikasju kasutatava mobiili OS-i kohta, pakkuda talle ühtseid mehhanisme mobiilsete funktsioonide kasutamiseks. Usume, et oleme probleemi edukalt lahendanud. Rakendatud mehhanismide erinevused kas puuduvad või on minimeeritud. Välja arvatud muidugi juhud, kui ühes operatsioonisüsteemis pole üldse funktsionaalsust.
Näiteks tõukemärguannetega töötamise tehnika on Google'i ja Apple'i puhul väga erinev. Oleme palju pingutanud, 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 tuli meil välja töötada spetsiaalne puhverserver 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 selles erinevad seaded 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), GCM-iga töötamiseks peate määrama unikaalse rakenduse identifikaatori.
Ilmselgelt ei ole võimalik mobiilirakenduses kohe rakendada kõiki funktsioone, mida soovite. Ja alati tuleb leida kompromiss mitme väga kasuliku asja vahel. Ja kui sinu jaoks on midagi puudu, siis kirjuta meile, millistest äriülesannetest (platvorm on ju ennekõike äriülesannete elluviimise tööriist!) Sa ei oska lahendada ja milline mehhanism sind selleks aitaks.

Kuidas see välja näeb?

Mobiiliplatvormi graafiline liides on omaette teema. Nagu teate, kirjeldatakse 1C: Enterprise'is liidest deklaratiivselt. Ühest küljest seab see kasutajaliidese arendamisele teatud piirangud (näiteks puudub pikslite kaupa positsioneerimine), kuid teisest küljest võimaldab see platvormil liidest ekraanidel ühtlaselt renderdada. erineva suurusega õhukestes ja veebiklientides. Samast põhimõttest püüdsime kinni pidada ka mobiiliplatvormil. Kui hästi me sellega hakkama saime? Proovime selle välja mõelda.
Mobiiliplatvormi esimestes versioonides (kuni 8.3.5 kaasa arvatud) GUI rakendused tundusid kogenud 1C kasutajatele väga tuttavad; tegelikult kandis ta 1C "töölaua" versioonidest tuttava liidese üle mobiilimaailma. Kuid kasutajate seisukohast, kes 1C-ga varem tuttav polnud, nägi liides mõnevõrra arhailine.
Võttes arvesse kommentaare ja ettepanekuid, oleme oma lähenemisviisi mobiililiidesele versioonis 8.3.6 põhjalikult üle vaadanud. 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 on mobiililiides täielikult kooskõlas mobiilirakendustes ja . 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 vormile (paigutus) paigutamise eest, osutus mobiiliplatvormi jaoks nii edukaks ja õigeaegseks, et see ilmus selles varem (versioonis 8.3.6) kui arvutiplatvormis (versioonis 8.3). .7), mille jaoks see oli eelkõige mõeldud.
Pildil on näha, kuidas meie liides on muutunud.
Rakendus "Väikeettevõtte juhtimine" mobiiliplatvormi versioonis 8.3.5:


See on versioonis 8.3.6:

Ja mobiiliplatvormi liides näeb otse välja selline:

Kollektsionäär – ja mis loom see on?

Nagu varem mainitud, koosneb mobiilirakendus mitmest komponendist (tegelik mobiiliplatvorm, konfiguratsioon, erinevad ressursid), mis peavad olema ühtne tervik, et rakendus poodi paigutada. Komponentide rakenduseks muutmise hõlbustamiseks on välja töötatud mobiilirakenduste komplekteerija. See on 1C:Enterprise platvormil loodud konfiguratsioon (rakendus), mis salvestab oma andmebaasi kõik mobiilirakenduse moodustamiseks vajalikud komponendid. Selleks, et monteerija saaks oma tööd teha, peate alla laadima ja installima erinevaid tarkvarapaketid mis on selle tööks vajalikud (Java ja Android SDK jne), siis määrake koguja seadetes nende pakettide teed ja määrake mõned Lisavalikud(arendusklahvid jne).


Pärast seadistamist on kollektor töövalmis. Üldiselt näeb töö kollektsionääriga välja selline:
  1. Laadime alla mobiiliplatvormi 1C versiooni, millele rakenduse ehitame
  2. Konfiguratsiooni laadimine, millest me mobiilirakenduse ehitame
  3. Loome mobiilirakenduse, milles näitame, millistele platvormidele (Android, iOS, Windows) peame ehitama, millist konfiguratsiooni ja platvormi kasutama (eelkõige täpsustame, millist sertifikaati iOS-i jaoks ehitada, kui rakendus töötab PUSH-iga - teated).
  4. Kõigile valitud platvormidele teostame mobiilirakenduse “ühe klõpsuga” kokkupaneku
  5. Teise klõpsuga saadame kogutud mobiilirakendused rakenduste kauplustesse (kui tegemist on iOS-i või Androidi rakendusega). IN Windowsi poed Rakendused / Windows Phone rakenduse rakendus tuleb käsitsi laadida, sest Microsoft ei paku veel poes rakenduse majutamiseks API-d.
Eraldi tuleb märkida, et monteerijat pole mobiilirakenduse arendamiseks ja silumiseks vaja. Selleks saab konfiguratsiooni mobiilseadmesse ülekandmiseks kasutada arendaja mobiiliplatvormi ja Configurator tööriistu. Mobiilirakenduse levitamiseks on aga vaja monteerijat.

Rakendused mobiiliplatvormil

Ettevõte 1C ise annab mobiiliplatvormil välja mitmeid rakendusi, mis on 1C serverirakenduste mobiilikliendid (1C: Document Management, 1C: Small Company Management jne). Need rakendused rakendavad mõnda "tavaliste" klientide funktsioonide alamhulka. Millal mobiiliversioon Programmi täisväärtuslikuks kasutamiseks piisab "1C: Small Business Management" funktsionaalsusest ning sageli oleme näinud olukorda, kus klientidel piisab äri ajamiseks rakenduse mobiiliversioonist.
Meie partnerid kasutavad mobiiliplatvormi nii äpipoodide kaudu levitatavate masstoodetud mobiilirakenduste arendamiseks kui ka konkreetsete klientide soovil loodud kohandatud rakenduste jaoks. Ringlusrakenduste hulgas on rakendusi, mis kasutavad keskse andmehoidlana mitte-1C-taustaprogrammi.
Klientide tellimusel loodud mobiilirakenduste hulgas võib mainida mobiilikliendi "1C: Manufacturing Enterprise Management", mis on loodud suure inseneriettevõtte tellimusel. Umbes sada ettevõtte töötajat kasutavad mobiilirakendust kuumades poodides, kuhu turvalisuse huvides panna lauaarvutid võimatu. Mobiilseadme sisseehitatud kaamerat kasutatakse toodete vöötkoodide lugemiseks ja nende otsimiseks laonimekirjade kataloogist, mobiilirakendus võimaldab teil mõista, millises tehnoloogilise ahela etapis see toode asub, märkida läbipääsu järgmine toiming toote poolt jne.

Järeldus

Püüdsime väga pealiskaudselt kirjeldada mobiiliplatvormi, mida see võimaldab teha ja miks see just selliseks kujunes. See artikkel ei räägi peaaegu mitte midagi mobiilne Windows. Sellel on mitu põhjust: esiteks, Windowsi mobiiliplatvormi versioon ilmus suhteliselt hiljuti (“1C:Enterprise” versioon 8.3.7) ja teiseks ei ole sellel mobiiliplatvormi versioonil olulisi erinevusi juurutamine muude mobiilsete operatsioonisüsteemide jaoks. Loomulikult suurendame Windowsi OS-i funktsionaalsust. Nagu ka mobiiliplatvormi funktsionaalsuse suurendamine tervikuna. Seega on meil lähitulevikus mobiiliplatvormi tugi välised komponendid; see mehhanism (mis on olnud "suurel" platvormil juba ammu saadaval) võimaldab arendajatel rakendada funktsioone, mis pole mobiiliplatvormil mingil põhjusel saadaval.
Traditsiooniliselt tugevused 1C:Enterprise tehnoloogilise platvormi eelised on arendaja õppimise lihtsus ning ärirakenduste loomise ja muutmise kiirus. 1C mobiiliplatvorm on need mõlemad trumbid mobiilimaailma üle kandnud. 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). Ja 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, failivahetus jne).

Küsitluses saavad osaleda ainult registreerunud kasutajad. Tulge sisse, palun.

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

Esimest korda proovis 1C siseneda turul mobiilne arendus aastal 2006. Tol ajal oli pihuarvutit kasutavate kaugtöötajate töö automatiseerimisel tõeline buum. Uusi programme selliste probleemide lahendamiseks ilmus nagu seeni ja selline 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. Extension for PDA". 1C arendajad, kes nägid 8. platvormi väljavaateid, lootsid, et nüüd on ühel tööriistal võimalik ilma suuremate raskusteta arendustööd läbi viia populaarse Windows Mobile operatsioonisüsteemi all.

Praktikas nägi asi palju hullemini välja. Kehastunud originaalsed ideed see tööriist ei võimaldanud. pakett " PDA laiendus”oli pigem teatud tüüpiliste konfiguratsioonide lisand kui terviklik arenduslahendus. See ei olnud mõeldud konfiguratsiooni funktsionaalsuse laiendamiseks uute metaandmeobjektide lisamisega. Kolmandate osapoolte programmeerijate meelevallas olid väga lihtsad asjad: kasutajaga suhtlemiseks uute vormide loomine, kasutaja sündmuste töötlemine.

Jah, piirangutest möödahiilimist oli igasuguseid, aga päris ümberpööramist ei võimaldanud ka need. Lisaks tehnilistele piirangutele on tarbijad kogenud tõsist rahalist takistust. Ettevõtted, kes otsustasid juurutada 1C lahenduse, pidid ostma suure jõudlusega pihuarvuteid, ostma Windows Mobile'i litsentse ning maksma ka 1C lahenduse tarnimise ja lõpliku rakenduse eest.

1C lahendus oli liiga kallis. Raha säästmisega harjunud ettevõtted jätkasid alternatiivsete lahenduste kasutamist. Lisaks suutsid alternatiivide arendajad pakkuda oma toodetele funktsionaalsust tüüpiliste 1C lahendustega suhtlemiseks.

Tehnilised piirangud, kõrge hind ei võimaldanud tootel korrata töölauaplatvormi tohutut edu. Idee vallutada mobiilituru korp.

rakendused kukkusid haledalt läbi.

Samm edasi

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

1C mõtles mobiili "teoreemi" lahendamise lähenemisviisi täielikult ümber 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 uusimatele mobiiliplatvormidele – Androidile ja iOS-ile.

Mobiilirakendused 1C stiilis

Mobiilplatvormide arendamise võimalustega täielikuks tutvumiseks proovime välja töötada väikese konfiguratsiooni. Läbiva näite abil saate olemasolevaid funktsioone paremini hinnata ja otsustada 1C platvormi kasutamise võimaluse üle probleemide lahendamiseks.

Töötamiseks vajate platvormi 1C:Enterprise 8.3 uusimat väljalaset. Jaotuskomplekti õppeversioon on saadaval 1C ametlikul veebisaidil. Näite taasloomiseks on selle võimalused enam kui piisavad.

Lisaks platvormile 1C:Enterprise 8.3 vajame mitmeid lisatööriistu. Artiklis käsitletakse näidet Androidi rakenduse arendamise kohta. Sellega seoses peate alla laadima: Android SDK ja Apache veebiserveri. Esimene komponent sisaldab kõike, mida vajate rakenduse ja testimiseks emulaatori koostamiseks, mille jaoks on kasulik WEB-server kiire laadimine mobiili OS-i rakendused.

Peame pakkuma ka "Mobile Developer Platformi". 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 artiklist väljapoole, nii et saate nende tööriistadega töötamise ja rakenduse loomise kohta lisateavet minu lehe vastavast jaotisest.

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". Näete akent installimiseks saadaolevate pakettide valikuga. Näidisartikli raames käsitletud testimiseks peate valima ja installima: Android SDK tööriistad, A Androidi platvormi tööriistad, SDK platvormi API 17.

Viimane samm on uue teabebaasi loomine. Neile, kes ei ole seotud programmi "under on" arendamisega 1C: Ettevõtlus»Selgitan, et iga selle platvormi lahendus koosneb infobaasist ja konfiguratsioonist. Uue andmebaasi lisamine toimub, klõpsates nuppu " Lisama» käivitusaken. Pärast aluse lisamist avage see jaotises " Konfiguraator».

Esimene mobiilikonfiguratsioon

Leidke konfiguraatori peamenüüst jaotis " Seadistamine” ja valige üksus „Ava konfiguratsioon”. Konfiguratsioonipuu (objektidest, millest tulevane rakendus koosneb) kuvatakse akna vasakus osas. Valige selles konfiguratsioonijuur ja vajutage klahvikombinatsiooni " Alt+Enter". Atribuutide redaktor avaneb konfiguraatori akna paremas osas.

Kutsume konfiguratsiooni " TEGEMA" ja atribuudis "Kasutussihtkoht" määrake " Mobiilseade". Pöörake tehes tähelepanu viimane tegevus, muutuvad mõned konfiguratsioonipuu sõlmed passiivseks. Kahjuks ei saa te mobiiliplatvormil kõiki metaandmeobjekte kasutada.

Probleemi lahendamiseks peame konfiguratsioonipuus looma mitu metaandmeobjekti:


Toiming AddTask(Task) ExportRecordManager = CreateRecordManager(); RecordManager.Period = CurrentDate(); RecordManager.Task = Ülesanne; RecordManager.Status = Task.Status; RecordManager.Write(); Lõppprotseduur

Loetelu 2. Funktsiooni GetList of Unclosed Tasks() kood

Funktsioon GetList of Unclosed Tasks() Export Request = Uus taotlus; Query.Text = "SELECT | TaskStatusLastSlice.Task AS Task, | TaskStatusLastSlice.Task.DueDate AS Tähtaeg |FROM | DataRegister.StatusTasks.SliceLast(&CurrentDate, Status<>VÄÄRTUS(Loend.TaskStatused.Completed)) AS TaskStatusSliceLast | |TELLI | Tähtaeg DESC"; Query.SetParameter("CurrentDate", CurrentDate()); Return Query.Execute().Upload(); EndFunction

Oleme tegelenud inforegistrist andmete hankimise ja fikseerimisega, nüüd õpetame oma teatmiku registriga töötama. Selleks lisage tavaline moodul nimega " Tööülesannetega". Saab ka ilma hakkama, aga tahaks kohe keskenduda võimalusele koodi mooduliteks jagada. Paljud 1C arendajad eiravad seda soovitust ja kirjeldavad kogu loogikat ühes kohas, muutes seeläbi koodi hilisema hoolduse keeruliseks. Loome moodulis uue protseduuri Loo uus ülesanne» (vt Nimekiri 3).

Nimekiri 3. Protseduuri "Loo uus ülesanne" kood

Protseduur CreateNewTask(Reference) Export If Reference.ThisGroup then Return; EndIf; Taotlus = uus taotlus; Query.Text = "SELECT | TaskStatusLastSlice.Status |FROM | DataRegister.StatusTasks.SliceLast(&CurrentDate, Task = &Task) AS TaskSliceLastStatus"; Query.SetParameter("CurrentDate", CurrentDate()); Request.SetParameter("Task", Link); Tulemus = Query.Execute().Select(); If Result.Next() then If Result.Status<>Link.Olek SiisRegistersTeave.OlekTasks.LisaTask(Link); EndIf; Vastasel juhul DataRegisters.TaskState.AddTask(Reference); EndIf; Lõppprotseduur

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 puudutusega avage kataloogielemendi "Tasks" vorm ja looge sündmuste töötleja " AfterRecordingOnServer". Selles kirjutame kutse kolmandas loendis kirjeldatud protseduurile:

WorkWithTasks.CreateNewTask(CurrentObject.Reference);

Liidese kallal töötamine

Rakenduse põhifunktsionaalsus on valmis – kasutaja saab koostada ülesandeid ning iga uue ülesande kohta moodustatakse kirje perioodilise teabe registris. Nüüd vaatame liidest. Toome esiplaanile töö koos ülesannetega. Lõppude lõpuks on loogiline kuvada loend kohe pärast rakenduse käivitamist. suletud ülesanded ja võimalus luua uus?

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

Järgmine samm on lisatud atribuudi vormile lohistamine. Peaksime saama liidese kõige lihtsam tabel. Me ei näita mingeid mõõtmeid, jätame liidese skaleerimise mure platvormile.

Loodud tabeli jaoks märkige kinnisvarainspektoris ruut atribuut " Ainult vaata"ja vara" Käsuriba asukoht» Määrake väärtus «Ei». Täidame tabeli dünaamilise teabega, seega pole kasutajal mõtet redigeerida.

Nüüd kirjeldame vormi sündmuste töötlejat "OnCreateOnServer". Lisame sellele ühe koodirea:

OpenTasks.Load(InformationRegisters.TaskStatus.GetList of NotClosedTasks());

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

Läheme tagasi vormikonstruktori juurde ja lisame kahe nupuga tüübi "Tavaline kuvamata rühm": " Loo"Ja" Värskenda". Kinnistu" rühmitamine» Seadke lisatud rühma väärtuseks «Horisontaalne». Nuppude ilmekama kujunduse jaoks lisame pilte ja muudame vaikefondi.

Nüüd valige nupp Loo ja küsi temalt ülemaailmne meeskond « Ülesanded: loo". See võimaldab teil luua ülesandeid ilma kataloogi sisenemata. Vajutades teist nuppu, uuendame tabeli sisu ülesannetega. Selleks peate looma täiendav käsk vormid.

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 on kontekstiks " OnClient” ja me saame serverist andmebaasi andmed. Koodis näeb see välja selline:

&Kliendiprotseduuris UpdateTaskList(Command) UpdateList(); EndProcedure &OnServer ProcedureOnCreateOnServer(Abandon, StandardProcessing) OpenTasks.Load(InformationRegisters.TaskStatus.GetList of UnclosedTasks()); Lõppprotseduur

Nüüd määratleme oma töölaua kuju piirkonnana algusleht. Avage konfiguratsiooni atribuudid (valige ülemine sõlm ja klõpsake " Alt+Enter) ja atribuudi „Algne lehe tööruum” väärtuseks määrake „ Üks veerg”, seejärel lisage meie vorm loendisse " Töölaud».

Rakendus on täielikult valmis ja on aeg seda testida. Proovige näidet käivitada ja looge ülesanded, 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 kest ( cmd.exe) ja minge Android SDK distributsiooni kataloogi "toos". Käivita käsk " android.bat avd", mis käivitab virtuaalse Android-seadmed. 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 läheme tagasi konfiguraatorisse ja avaldame oma rakenduse veebiserveris. Valige konfiguraatori peamenüüst üksus " Seadistamine» -> « Mobiilirakendus» -> « Avalda". Avaldamise seadete aknas määra rakenduse nimi (see võib olla ükskõik milline), veebiserver (meie keskkonnas peaks see olema üks) ja seadete salvestamise kataloog.

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

Naaseme emulaatori juurde ja laadime sellesse rakenduse koos arendaja mobiiliplatvormiga. Rakenduse fail ise on saadaval koos arendaja mobiiliplatvormi 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 arendaja mobiiliplatvorm. Avanevas aknas klõpsake " Lisa rakendus” ja väljale „aadress” määrake meie veebiserveri URL. mul on see http://192.0.168.106/todo-mobile. Vajutage " Lisama” ja meie konfiguratsioon on edukalt teisaldatud mobiiliplatvormile. Rakendus on kasutamiseks valmis. Testige tulemust ja naaske konfiguraatorisse, on aeg pakkuda rakendusi "mobiilsete funktsioonidega".

SMS/MMS-sõnumite saatmine

Funktsioonid SMS/MMS-iga töötamiseks Mobiiliplatvormid toetavad sõnumeid 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 sama funktsioon iOS-is saadaval, seega peaks dokumentatsioon arenduse ajal käepärast olema.

Sest SMS-i saatmine sõnumite pakutav objekt SMS-sõnum. Kaaluge näidet:

&OnClient protseduur SendSMSMessage(Recipient,Sõnumitekst) NewMessage = Uus SMSsõnum(); NewMessage.Text = Sõnumitekst; Uus sõnum.Saatjad.Lisa(Recipient); Telefonitööriistad.SendSMS(NewMessage); Lõppprotseduur

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

&OnClient Procedure ConnectMessageReceiveHandler() MessageSubscription = NewNotificationDescription("Uute sõnumite töötlemine", ThisObject); Telefonitööriistad.ConnectSMSMessageHandler(MessageSubscription); EndProcedure &OnClient Procedure NewMessageProcess(sõnum, täiendavad parameetrid) //Töötle uut sõnumit //Sõnum.Saatja, Sõnum.Tekst; Lõppprotseduur

Protseduur" Uute sõnumite käsitlemine” helistatakse iga kord, kui saabub uus SMS. Läbi parameetri " Sõnum» tüüpi objekt « SMS-sõnum” ning saame hõlpsalt kätte kirja teksti ja teabe saatja kohta.

MMS-sõnumitega töötamine toimub sarnaselt. Esmalt loome SMS-sõnumi ja seejärel lisame sellele manuse (näiteks pildid). Selle lihtsa toiminguga muutub SMS MMS-iks:

NewMessage= Uus SMS(); Manus = uus MMS-i manus; Attachment.Data = Pilt; Attachment.ContentType = "pilt/jpeg"; MMSMessage.Attachments.Add(Attachment);

Mobiilirakendusest helistamine

Kõne tehakse programmiliselt, kasutades globaalse objekti "Telephony Tools" meetodit "DialNumber". Enne meetodi helistamist on väga soovitav kontrollida helistamise võimalust:

Kui TelephonyTools.SupportedDial() then TelephonyTools.DialNumber(Telefoninumber, helista kohe); EndIf;

Parameeter " Helista kohe” mõjutab valimise jõudlust. Kui see võrdub Tõsi”, valitakse number automaatselt kaudu standardrakendus kõnede tegemine. Kui väärtuseks on määratud Väär, näeb ka kasutaja standardliides helistamisrakendus, kuid helistamiseks peate vajutama nuppu " välja kutsuma».

Kõnelogi

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

CallLog = TelephonyTools.GetCallLog(); Valik = New DataComposition Selection; Selection Element = Selection.Elements.Add(Type("Andmekompositsiooni valikuelement")); Selection Element.LeftValue = New DataCompositionField("Kõne tüüp"); Selection Element.ComparisonType = DataCompositionComparisonTypeData.Equal; Selection Element.RightValue = CallLogCallType.Missed; SelectionItem.Use = true; Kõnelogi kirjete loend = kõnelogi Leia kirjeid (valik); //Kõnelogi kirjete loendis on kirjete kogu

Geopositsioneerimine

Peaaegu mis tahes kaasaegne nutitelefon omab geograafilise asukoha määramise ülesandeid. Seda funktsiooni saate kasutada sisseehitatud 1C keelest. Seadme praeguste koordinaatide hankimise võib tinglikult jagada kaheks etapiks: geopositsioneerimisteenuse pakkuja valimine ja saadud koordinaatide töötlemine:

//Lase platvormil valida pakkuja IdealProvider = Geolocation Tools.GetMost AccurateProvider(); Koordinaadid = Geolokatsioonitööriistad.GetLastLocation(IdealProvider); //Kui koordinaadid saadi juba ammu, siis uuenda If Coordinates = Undefined VÕI CurrentDate() - Coordinates.Date > 3600 Then GeopositioningTools.UpdateLocation(IdealProvider, 60); Koordinaadid = Geolokatsioonitööriistad.GetLastLocation(IdealProvider); EndIf;

Multimeediumifunktsioonidega töötamine

Arendajal on võimalus sisseehitatud keele abil teha pilte, videosalvestusi, helisalvestisi: Pildista(), Tehke videosalvestus(), Tehke helisalvestis().

Millise mobiilse OS-i all on parem 1C-l arendada?

Vaatamata minu armastusele Apple'i tehnoloogia, 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õnelogiga 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 mobiilseadmete soetamise üle priiskama.

Selle asemel, et lõpetada

platvorm" 1C: Ettevõte 8"Praktikas on tõestanud oma valmisolekut saada lihtsaks vahendiks ettevõtte 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 vaja ressursse natiivsete tööriistade õppimisele üldse kulutada.

Hiljuti levitas 1C mobiiliplatvormi 1C Enterprise 8.3 ainult tasuliste abonentide vahel. Kuid mitte nii kaua aega tagasi muutis 1C oma poliitikat see küsimus ja nüüd levitatakse tasuta mobiiliplatvormi elektroonilist versiooni koos .

Mis on mobiiliplatvorm 1C 8.3?

Võimalik, et teate juba, et 1C Enterprise 8.3 platvorm ise võimaldab teil mobiilirakendusi arendada. Samal ajal toimub mobiilirakenduse arendamine samamoodi nagu "tavalise" konfiguratsiooni väljatöötamine. Kuidas aga saab selliselt arendatud konfiguratsiooni nutitelefonis või tahvelarvutis käivitada? Nendel eesmärkidel vajame 1C Enterprise 8.3 mobiiliplatvormi.

Mobiilne platvorm 1C Enterprise 8.3 on programmide komplekt, mis võimaldab installida ja käivitada konfiguratsioone (rakendusi) töötavates nutitelefonides ja tahvelarvutites Google Android või Apple iOS.

1C mobiiliplatvormi kõige olulisem eelis on see, et rakendus (konfiguratsioon) töötatakse välja mõlema mobiilse operatsioonisüsteemi jaoks korraga ja installitakse seejärel lihtsalt mobiilseadmesse. Seega, olles kirjutanud 1C-le mobiilirakenduse, saame selle kohe installida kõikidele ettevõtte töötajatele, olenemata sellest, mis operatsioonisüsteemiga (Android või iOS) nende telefon või tahvelarvuti töötab.

Tähtis! Mobiilirakenduste arendamiseks soovitame tungivalt kasutada platvormi 1C, mille versioon on 8.3.4.482 või uuem. Platvormi 1C Enterprise 8.3.4.482 õppeversioon sisaldub selles 1C mobiiliplatvormi levitamiskomplektis. Saate tutvuda platvormi haridusliku versiooni piirangutega

Mobiiliplatvorm 1C:Enterprise on tööriistade ja tehnoloogiate komplekt mobiilse operatsioonisüsteemi iOS, Android, Windows Phone / 8.1 / 10 rakenduste kiireks arendamiseks, kasutades samu arenduskeskkondi (Configurator või 1C:Entrprise Development Tools) ja samu arendusmeetodeid , mida kasutatakse "tavaliste" 1C rakenduste jaoks. Tulemuseks on autonoomsed, võrguühenduseta rakendused, kuid millel on võimalus 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.

taustal

1C: Enterprise versiooni 8.0 (ja järgnevate versioonide) päevil oli tarkvaratoode "Pikendus taskuarvutitele". 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 lahkumine mobiiliturult selgelt sellele tarkvaratootele populaarsust ei lisanud. iOS-i ja Androidi seadmed on hõivanud peaaegu kogu mobiilseadmete turu ning on saanud selgeks, et nende operatsioonisüsteemide tugi on üks võtmepunkte süsteemi jaoks, mida tänapäeva mobiilimaailmas tuleb kasutada. Samuti tundus ilmselge, et olemasoleva 1C:Enterprise platvormi peamist lähenemist tuleks kasutada ka mobiilseadmetes: rakenduslik arendaja peaks ennekõike mõtlema rakendusprobleemide lahendamisele ja teiseks sellele, milliseid OS-i funktsioone ta nende lahendamiseks kasutab. probleeme. Teisisõnu vajate tööriista, mis isoleerib rakenduse arendaja konkreetse mobiilse OS-i ja arendustööriista spetsiifikast.

Mobiilne platvorm

Taskuarvutite laienduse 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 töötavaid 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 (selle sõna otseses mõttes).
  • süsteem peaks pakkuma ühtset programmeerimisliidest erinevate spetsiifiliste mehhanismide rakendamiseks, olenemata kasutatavast mobiili OS-ist.
  • arendaja peab kasutama sama tööriista ja samu arendusviise, mis "tavalisele" arvutile rakendusi arendades.
  • rakenduste arendaja peaks välja töötama rakenduslahenduse tuttavas arenduskeskkonnas, kasutades võimalusel ühtset koodi laua- ja mobiilisüsteemide jaoks.
  • mobiilseadmes töötava rakenduslahenduse liides peaks olema erinevatel platvormidel sarnane ja üldiselt üheselt ä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 luua rakendusi iOS, Android, Windows Phone / 8.1 / 10 mobiilsetele operatsioonisüsteemidele, kasutades sama arenduskeskkonda (Configurator) ja samu arendusmeetodeid, mis tavarakenduste jaoks. platvormil 1C:Enterprise. Tulemuseks on autonoomsed, võrguühenduseta rakendused, kuid 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 hästi vastu, sellel teemal hakkasid ilmuma erinevad artiklid (näiteks ja). Täisfunktsionaalse rakenduse väljatöötamiseks, mis töötab samaaegselt valdavas enamikus mobiilseadmetes, nõudis see nüüd minimaalselt aega ja teadmisi, mis ei erine põhimõtteliselt 1C:Enterprise platvormi "tavalise" rakenduste arendaja teadmistest. Muidugi meelitab selline madal sisenemislävi arendajaid, kes peavad pakkuma mõningaid põhifunktsioone teedel töötavatele töötajatele, ülemustele ja teistele mobiilsetele töötajatele, kes peavad ettevõtte süsteemiga töötama.
Mobiilirakenduse arendamisega 1C:Enterprise platvormil on lihtne alustada. Konfiguraatoris peate määrama konfiguratsiooni atribuudi "Kasutusotstarve" väärtuseks "Mobiilseade". Sel juhul muutuvad mõned rakenduse konfiguratsiooniobjektid kättesaamatuks (tunnuste tüübiplaanid, kontoplaanid jne), kuid mobiilirakenduse spetsiifilised omadused muutuvad kättesaadavaks (näiteks mobiilseadme sisseehitatud multimeedia ja geograafilise asukoha määramise tööriistad , jne.).


Samal ajal saate peamisi rakendusalgoritme (pole otseselt seotud mobiilispetsiifikaga) siluda otse arendaja arvuti konfiguraatoris. Samal ajal on soovitatav raamida koodi osad, milles "mobiilne" funktsioon kutsutakse, koos vastavate juhistega eeltöötlejale, et vältida tõrkeid koodi täitmisel personaalarvutis:
#If MobileApplicationClient Then Data = GeolocationServer.GetProviderName(); #EndIf
Alates mobiiliplatvormi versioonist 8.3.7 on muutunud kättesaadavaks rakenduse silumine otse mobiilseadmes (sellest lähemalt allpool).

Mobiilplatvormil arendamisel võib järgida erinevaid lähenemisviise, kuid on mõned põhipunktid, mis silma paistavad. Tegeliku mobiilirakenduse loomise, selle funktsionaalse rikkuse ja rolli ettevõtte IT-taristus seisukohalt:

  • mobiilirakendus võib olla olemasoleva ettevõtte infosüsteemi lahutamatu ja lahutamatu osa. Mobiilirakendus pakub liidest ja muid funktsioone (sh andmevahetust), mis on kohandatud olemasoleva infosüsteemi võimalustele. Antud juhul on mobiilirakendus väga tihedalt seotud "tavalise" infosüsteemiga ja seda ei saa sellest eraldatult kasutada.
  • mobiilirakendus täidab spetsiifilisi ülesandeid, mis ei ole praktiliselt seotud ettevõtte infosüsteemiga. Mobiilirakenduse ja infosüsteemi vahel vahetatakse vaid minimaalselt andmeid. Sel juhul vahetab mobiilirakendus suure tõenäosusega mingit standardiseeritud protokolli, mis võimaldab seda mobiilirakendust kasutada täiesti erinevatel juhtudel ja olukordades.
Ülalkirjeldatud kahte olukorda võib pidada äärmuslikuks võimaluseks. Kuid need pole ainsad arendusvõimalused. Rakenduse arendaja saab iseseisvalt valida integreerimisvõimalused mobiilirakenduse ja selle tagakontori rollis toimiva infosüsteemi vahel.
Mobiilirakendus on välja töötatud täiesti eraldiseisva konfiguratsioonina, kuid see võib jagada osa lähtekoodist "vanema" konfiguratsiooniga. Muide, "vanema" konfiguratsioon ei pruugi füüsiliselt eksisteerida (näiteks kui töötate välja mingit universaalset rakendust, mis töötab universaalse protokolli abil erinevate süsteemidega).

Mobiilplatvormi seade

Mis on mobiiliplatvorm ja mida see teha saab?
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 on saadaval tavalise (mida kasutatakse rakenduse koostamisel rakenduste poes avaldamiseks) ja mobiiliarendaja platvormina, mida kasutatakse (üllatus) mobiilirakenduse arendamise ajal.
  2. Mobiilikonfiguratsioon on tarkvarasüsteemi 1C:Enterprise konfiguratsioon, mis on kirjutatud XML-failina.
  3. Mobiiliplatvormi ja mobiilikonfiguratsiooni kombinatsioon annab tulemuseks mobiilirakenduse.
  4. Mobiilirakenduste monteerija on spetsialiseerunud rakenduslahendus, millega saab teha mobiiliplatvormi, konfiguratsiooni, pritsekraanid, ikoonid ja muud komponendid valmis mobiilirakenduse failiks, mida saab üles laadida Apple AppStore’i, Google Play, Windows Phone Appsi / Windows Appsi poodi.
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 keelab litsentsipiirangute seadmise rakendustele, mida levitatakse rakenduste kaupluste kaudu. Näiteks kui teie rakendus laadib täitmiskoodi (skriptina) alla Interneti kaudu, ei kuvata seda kunagi Apple'i rakenduste poes. Siiski tuleb mõista, et arendaja mobiiliplatvormil oleva konfiguratsiooni allalaadimise võimalus ei ole mõeldud mobiilirakenduste levitamiseks isegi ühe ettevõtte sees, 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 platvormilt mobiiliplatvormile. See on piisavalt kompaktne ja kiire, kuid peamine on see, et see tagab täpselt sama käitumise, millega rakenduste arendajad on harjunud personaalarvutite platvormil töötades.
Samuti väärib märkimist, et mobiilirakenduse sees on üles ehitatud sama skeemi järgi nagu tavaplatvormi töö koos infobaasi failiversiooniga: on kliendiosa, on serveriosa, on andmebaas ja seal on on kliendi ja 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 funktsioonidega (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 määratakse mobiilirakenduse arendamisel ja neid kasutab mobiilirakenduse koostaja, kuid ehitajast pikemalt hiljem.

Natuke arendajaplatvormist

Mobiilirakenduse väljatöötamise ajal ei ole me seotud rakenduspoodide kaudu levitatavatele mobiilirakendustele kehtestatud litsentsimispiirangutega. See tähendab, et 1C mobiiliplatvormi saame kasutada samamoodi nagu personaalarvutis “suurt” platvormi - installige mobiiliplatvorm ise nutitelefoni / tahvelarvutisse ja laadige sellesse 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. Sellisel juhul asetatakse XML-fail koos rakenduse konfiguratsiooniga arendaja arvutis asuvasse veebiserverisse (vastavalt sellele peab sellel arvutil olema veebiserver – IIS või Apache).

Kui määrate rakendusele valiku "Taaskäivita konfiguraatorist", uuendatakse mobiilseadme rakendust automaatselt arendaja arvutist iga kord, kui arendaja värskendab veebiserveris majutatud XML-konfiguratsioonifaili.
Kui valik "Silumine lubatud" on lubatud, on võimalik rakendust samm-sammult siluda mobiilseadmes arendaja arvuti konfiguraatorist (konfiguraatoris "Tööriistad \ Valikud" valik "Silumine HTTP-protokolli kaudu" menüü tuleb valida). Kui määrate konfiguraatoris koodi murdepunktid ja valite käsu "Mobiilirakendus - alusta silumist", siis seadme mobiilirakendus peatub, kui käivitatav kood jõuab murdepunkti, ja saate vaadata muutujate väärtusi, kõne pinu jne Configuratoris.

Mida saab?

Mida siis mobiiliplatvorm teeb? Piisav:)
Kui te ei kasuta 1C:Enterprise'i spetsiifilisi tingimusi, pakub mobiiliplatvorm võimalust töötada regulatiivse ja viiteteabega, koostada dokumente, mis kirjeldavad mõnda välistegevust, vaadata aruandeid, suhelda välismaailmaga Interneti-teenuste abil ja palju muud. rohkem. Need. see annab rakenduste arendajale võimaluse kirjutada üsna toimiv rakendus, näiteks kodurahanduse raamatupidamisprogramm, mobiilne müügiprogramm jms.
Kuid lisaks tavapärastele personaalarvuti platvormil olevatele funktsioonidele peab mobiilne platvorm pakkuma tööd spetsiifiliste funktsioonidega, mis on mobiilseadmetele ainulaadsed:
  • töötada kõnede ja kõnelogiga;
  • töötada lühisõnumite (SMS) ja nende loendiga;
  • kontaktid;
  • kalendrid;
  • geopositsioneerimine (ilma marsruutide paigaldamiseta);
  • võimaldab teha pilte, samuti video- ja helisalvestust;
  • reageerida ekraani orientatsiooni muutustele;
  • teavitustega töötamine (kohalik ja PUSH, nii otse kui ka spetsiaalse vahendusteenuse kaudu);
  • skannige kaameraga vöötkoode ja QR-koode
  • Mobiilirakenduste monetiseerimine (st võimalus anda mobiilirakenduse arendajale lisasissetulekuvõimalusi):
    • Apple In-App Purchase (iOS OS jaoks) ja Google Play In-App Billing (Android OS) ostuteenustega töötamine, millega saab mobiilirakenduses korraldada erinevaid tellimusi, funktsionaalsuse oste jms.
    • Kuvage reklaame mobiilirakendustes (iAd iOS-ile ja AdMob Androidile on praegu toetatud).
  • jne.
On selge, et mõned funktsioonid ei pruugi igas konkreetses seadmes saadaval olla, nii et selleks, et teha kindlaks, 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 mingit võimalust on võimalik kasutada või mitte ning võimalusel kasutame:
Kui TelephonyTools.SupportedDial() then TelephonyTools.DialNumber(Telefoninumber, helista kohe); EndIf;
Meie jaoks on oluline ülesanne peita rakenduse arendaja eest üksikasju kasutatava mobiili OS-i kohta, pakkuda talle ühtseid mehhanisme mobiilsete funktsioonide kasutamiseks. Usume, et oleme probleemi edukalt lahendanud. Rakendatud mehhanismide erinevused kas puuduvad või on minimeeritud. Välja arvatud muidugi juhud, kui ühes operatsioonisüsteemis pole üldse funktsionaalsust.
Näiteks tõukemärguannetega töötamise tehnika on Google'i ja Apple'i puhul väga erinev. Oleme palju pingutanud, 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 tuli meil välja töötada spetsiaalne puhverserver 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 seadistustes 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), GCM-iga töötamiseks peate määrama unikaalse rakenduse identifikaatori.
Ilmselgelt ei ole võimalik mobiilirakenduses kohe rakendada kõiki funktsioone, mida soovite. Ja alati tuleb leida kompromiss mitme väga kasuliku asja vahel. Ja kui sinu jaoks on midagi puudu, siis kirjuta meile, millistest äriülesannetest (platvorm on ju ennekõike äriülesannete elluviimise tööriist!) Sa ei oska lahendada ja milline mehhanism sind selleks aitaks.

Kuidas see välja näeb?

Mobiiliplatvormi graafiline liides on omaette teema. Nagu teate, kirjeldatakse 1C: Enterprise'is liidest deklaratiivselt. Ühest küljest seab see kasutajaliidese arendamisele teatud piirangud (näiteks puudub pikslite kaupa positsioneerimine), kuid teisest küljest võimaldab see platvormil liidest ekraanidel ühtlaselt renderdada. erineva suurusega õhukestes ja veebiklientides. Samast põhimõttest püüdsime kinni pidada ka mobiiliplatvormil. Kui hästi me sellega hakkama saime? 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 seisukohast, kes 1C-ga varem tuttav polnud, nägi liides mõnevõrra arhailine.
Võttes arvesse kommentaare ja ettepanekuid, oleme oma lähenemisviisi mobiililiidesele versioonis 8.3.6 põhjalikult üle vaadanud. 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 on mobiililiides täielikult kooskõlas mobiilirakendustes ja . 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 sellel varem (versioonis 8.3.6) kui arvutiplatvormil (aastal versioon 8.3.7), mille jaoks see oli peamiselt mõeldud.
Pildil on näha, kuidas meie liides on muutunud.
Rakendus "Väikeettevõtte juhtimine" mobiiliplatvormi versioonis 8.3.5:


See on versioonis 8.3.6:

Ja mobiiliplatvormi liides näeb otse välja selline:

Kollektsionäär – ja mis loom see on?

Nagu varem mainitud, koosneb mobiilirakendus mitmest komponendist (tegelik mobiiliplatvorm, konfiguratsioon, erinevad ressursid), mis peavad olema ühtne tervik, et rakendus poodi paigutada. Komponentide rakenduseks muutmise hõlbustamiseks on välja töötatud mobiilirakenduste komplekteerija. See on 1C:Enterprise platvormil loodud konfiguratsioon (rakendus), mis salvestab oma andmebaasi kõik mobiilirakenduse moodustamiseks vajalikud komponendid. Selleks, et monteerija 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 assembleri seadetes nende pakettide teed ja määrata mõned täiendavad parameetrid (arendaja võtmed jne).


Pärast seadistamist on kollektor töövalmis. Üldiselt näeb töö kollektsionääriga välja selline:
  1. Laadime alla mobiiliplatvormi 1C versiooni, millele rakenduse ehitame
  2. Konfiguratsiooni laadimine, millest me mobiilirakenduse ehitame
  3. Loome mobiilirakenduse, milles näitame, millistele platvormidele (Android, iOS, Windows) peame ehitama, millist konfiguratsiooni ja platvormi kasutama (eelkõige täpsustame, millist sertifikaati iOS-i jaoks ehitada, kui rakendus töötab PUSH-iga - teated).
  4. Kõigile valitud platvormidele teostame mobiilirakenduse “ühe klõpsuga” kokkupaneku
  5. Teise klõpsuga saadame kogutud mobiilirakendused rakenduste kauplustesse (kui tegemist on iOS-i või Androidi rakendusega). Windowsi rakenduste / Windows Phone'i rakenduste poodides tuleb rakendus käsitsi üles laadida, kuna Microsoft ei paku veel poes rakenduse majutamiseks API-d.
Eraldi tuleb märkida, et monteerijat pole mobiilirakenduse arendamiseks ja silumiseks vaja. Selleks saab konfiguratsiooni mobiilseadmesse ülekandmiseks kasutada arendaja mobiiliplatvormi ja Configurator tööriistu. Mobiilirakenduse levitamiseks on aga vaja monteerijat.

Rakendused mobiiliplatvormil

Ettevõte 1C ise annab mobiiliplatvormil välja mitmeid rakendusi, mis on 1C serverirakenduste mobiilikliendid (1C: Document Management, 1C: Small Company Management jne). Need rakendused rakendavad mõnda "tavaliste" klientide funktsioonide alamhulka. 1C: Small Business Managementi mobiiliversiooni puhul on funktsionaalsus programmi täiskasutuseks piisav ning sageli oleme näinud olukorda, kus klientidele äri ajamiseks piisab rakenduse mobiiliversioonist.
Meie partnerid kasutavad mobiiliplatvormi nii äpipoodide kaudu levitatavate masstoodetud mobiilirakenduste arendamiseks kui ka konkreetsete klientide soovil loodud kohandatud rakenduste jaoks. Ringlusrakenduste hulgas on rakendusi, mis kasutavad keskse andmehoidlana mitte-1C-taustaprogrammi.
Klientide tellimusel loodud mobiilirakenduste hulgas võib mainida mobiilikliendi "1C: Manufacturing Enterprise Management", mis on loodud suure inseneriettevõtte tellimusel. Umbes sada ettevõtte töötajat kasutavad mobiilirakendust kuumades poodides, kuhu ohutuse huvides ei ole võimalik statsionaarseid arvuteid paigaldada. Mobiilseadme sisseehitatud kaamerat kasutatakse toodete vöötkoodide lugemiseks ja nende otsimiseks laonimekirjade kataloogist, mobiilirakendus võimaldab teil mõista, millises tehnoloogilise ahela etapis see toode asub, märkida läbipääsu järgmine toiming toote poolt jne.

Järeldus

Püüdsime väga pealiskaudselt kirjeldada mobiiliplatvormi, mida see võimaldab teha ja miks see just selliseks kujunes. Selles artiklis ei räägita mobiilse Windowsi kohta peaaegu midagi. Sellel on mitu põhjust: esiteks, Windowsi mobiiliplatvormi versioon ilmus suhteliselt hiljuti (“1C:Enterprise” versioon 8.3.7) ja teiseks ei ole sellel mobiiliplatvormi versioonil olulisi erinevusi juurutamine muude mobiilsete operatsioonisüsteemide jaoks. Loomulikult suurendame Windowsi OS-i funktsionaalsust. Nagu ka mobiiliplatvormi funktsionaalsuse suurendamine tervikuna. Nii et lähitulevikus on meil - mobiilplatvormi väliskomponentide tugi; see mehhanism (mis on olnud "suurel" platvormil juba ammu saadaval) võimaldab arendajatel rakendada funktsioone, mis pole mobiiliplatvormil mingil põhjusel saadaval.
Traditsiooniliselt on 1C:Enterprise tehnoloogiaplatvormi tugevused arendaja jaoks kasutusmugavus ning ärirakenduste loomise ja muutmise kiirus. 1C mobiiliplatvorm on need mõlemad trumbid mobiilimaailma üle kandnud. 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). Ja 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, failivahetus jne).

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