1c mobil alkalmazás androidra. Automatizálási tippek

Idén szeptember 28 -án az 1C nagy zaj és pátosz nélkül kiadta a tesztelésre szánt 8.3.2.163 platform értékelési verzióját. Bárki elolvashatja a módosítások és fejlesztések teljes listáját, vagy ha van előfizetése ,.
A fenti fejlesztések közül szerintem az "1C: Enterprise 8 Mobile Platform" meglehetősen "ízletes", amely lehetővé teszi egy alkalmazás létrehozását Android vagy iOS mobil operációs rendszerekhez a szokásos 1C eszközök használatával.

A mobil platform, ahogy maguk a fejlesztők írják, "Ez egy olyan technológia általános neve, amely lehetővé teszi olyan alkalmazások létrehozását, amelyek Android vagy iOS operációs rendszert futtató mobileszközökön futnak."
„Az eszközre telepített mobilalkalmazás egy mobil platform és a információs bázis.».

Vagyis egyszerűbben fogalmazva összeállíthatja az írott konfigurációt egy Android (.apk) vagy iOS (.zip) alkalmazásba. Akkor mindezt a jóságot le lehet rakni A Google Play vagy az AppStore. Igaz, ha egy Android -programot az 1C -ben azonnal alá lehet írni ugyanazon a helyen létrehozott kulccsal, és azonnal készen áll a közzétételre, akkor az alkalmazás AppStore -ban való közzétételéhez először össze kell állítani a Xcode program egy operációs rendszerrel rendelkező számítógépen. Mac rendszer OS X. És természetesen szüksége van fejlesztői licencre ahhoz, hogy bármelyik üzletben közzétehesse.
Minden jól hangzik, és természetesen szerettem volna kipróbálni az új funkciókat.

Teremtés mobilos alkalmazás az 1C -n

Ehhez szükségünk van egy új verzió platformok (), a rögzített fájl, android SDK és JDK.
Rögtön figyelmeztetlek: most nem azt a feladatot tűztem ki magam elé, hogy az 1C -n mutassam valami konkrét fejlesztési folyamatát, hanem csak ellenőrizni és megmutatni szeretném, hogy - igen, a világ megőrült, és az 1C -n tényleg lehet programot írni Androidra.
Nos, próbáljunk egyfajta "helloWorld" -t írni egy Googlephone -hoz. Készítsünk programot tesztelési célokra - egy konfigurációt egy közös formával, amelyet az "asztalon" helyezünk el.
Tehát létrehozunk egy új konfigurációt vezérelt mód, és az első dolog, amit meg kell tennünk, ha a mobil platformra írunk, akkor a konfiguráció tulajdonságaiban meg kell adnunk a "Használat célját".

És itt azonnal észrevesszük, hogy sok konfigurációs objektum elérhetetlenné vált. Többé nem használhatunk alrendszereket, ütemezett feladatokat, XDTO csomagokat, webszolgáltatásokat, jelentéseket, üzleti folyamatokat és még sok mást. Emellett egyes eljárások és módszerek bizonyos objektumokhoz nem érhetők el. Ezt figyelembe kell venni a fejlesztés során.
Készítünk egy "űrlapot", létrehozunk egy string attribútumot a következő címmel: "Hello, Habr!" - és dobja a nyomtatványra. Hozzunk létre egy gombot is. A sajtó feldolgozásakor például az üzenet kimenetét írjuk le.

& OnClient eljárásparancs1 (parancs) Figyelmeztetés ("Működik!"); Az eljárás vége

Ez elég ahhoz, hogy ellenőrizhessük a teljesítményt, ezért térjünk le a legérdekesebb dologra. Mentsük a konfigurációt a mobilalkalmazás fájljába (Konfiguráció-> Mobilalkalmazás-> Írás fájlba), futtassuk szabályozott módban, és kezdjük el a MobileAppWizard.epf feldolgozását. Ez a fájl a mobile.zip archívumban található, amelyet a legelején töltöttünk le.
Most felajánljuk, hogy kitöltjük a kezdeti beállításokat, ahol az összes kötelező mező piros színnel alá van húzva.

A mobilplatform helye - az a könyvtár, ahol az android.zip és az ios.zip fájlok találhatók, amelyek a mobilalkalmazás kézbesítéséhez szükségesek. Ezek mind ugyanabban a mobile.zip archívumban vannak.
Jelöljük a mappát, ahová telepítettük Android SDK(letöltheti). Az 1C a következő követelményeket írja elő:
Android SDK Tools verzió - legalább 20.0.3;
Android SDK Platform -tools verzió - legalább 14;
SDK Platform verzió - API 8 (nem alacsonyabb, mint a 8.3 verzió).
És szükségünk van egy Java SDK -ra is (ezen a címen szerezheti be) Sőt, az 1C figyelmeztet minket arra, hogy a JDK7 nem működik együtt az Android SDK -val.
Megjelöljük azokat a mappákat, ahová a .apk fájlunk kerül, az aláírás kulcsának helyét és a jelszóval ellátott álnevet. Ha először csinálja ezt, és nincs kulcsa, akkor töltse ki a "kulcsparamétereket", és generáljon kulcsot magának (ebben az esetben a "kulcsfájl" mezőben meg kell adnia a mappát, ahol ez a kulcs létrejön).
Kattintson az "OK" gombra, és lépjen a második ablakba.

Ebben először is a "Mobilalkalmazás konfigurálása" -t jelöljük meg - ugyanazt a fájlt, amelyet mentettünk. Aztán a nyelv, és csak akkor kattintunk a "nagyítóval" ellátott gombra, és belépünk az ottani ábrázolásba. Megjelöljük az "Alkalmazásazonosítót" - a Java osztály egyedi nevét, amelyet a jövőben használni fognak a frissítés végrehajtásához. Az azonosítót latin ábécében kell írni, és az 1C azt javasolja, hogy a nevét "com.e1c" -vel kezdje. Töltse ki a verziót és a buildszámot, majd kattintson a "Létrehozás" gombra. Ha minden jól megy, a rendszer értesíti Önt a .apk fájl sikeres létrehozásáról.
A kapott fájlt a telefonra dobjuk, és telepítjük a kedvenc kezelőjével, miután engedélyeztük a telepítést a rendszerbeállításokban harmadik féltől származó alkalmazások... Vagy telepítse a programot az emulátorra az adb -n keresztül. Rögtön azt mondom: minden rettenetesen lelassul az emulátoron, de a telefonon (én csak ezen ellenőriztem Htc futótűz S) a dolgok sokkal jobbak, de még mindig vannak problémák. Például kaptam egy 34 Mb -os fájlt, így a telepítés sokáig tartott. Indítás után egy splash képernyő fogad minket, majd egy idő után maga a konfiguráció is elindul. (elnézést a fotóért: fotkal a számológépen)

Eddig az új funkciók nagyon "nyersnek" tűnnek: az 1C korlátozott funkcionalitása, az SDK közvetlen használatának lehetetlensége, valamint nagy méret és néhány "fék" ... De maga a képesség, hogy programot írjon egy mobil platformra az 1C -n kicsit meglepő! Személy szerint kettős véleményem van erről. Egyrészt ez a "funkció" még mindig inkább játékhoz hasonlít, mert nincs lehetőség igazán érdemleges dologra. De másrészt ez egyértelműen nagy lépés az 1C által a mobilitás felé, és ha ezt az irányt aktívan fejlődni fog, sok előnnyel járhat. Például felszerelheti a raktárosokat tablettákkal. Ha lehetőség lesz "fedélzeti" kamerák használatára, akkor megszabadulhat az olvasóktól, és beolvashatja a kódokat közvetlenül a táblagépről, elküldheti őket az autóvezetőknek, küldhet szállítási feladatokat, vagy nyomon követheti az autó útvonalát és mozgásban lévő idő. Általában sok lehetőség van, és az a tény, hogy mindez egyetlen információs rendszerben lesz, nagy örömet fog okozni az ügyfeleknek / menedzsereknek, mert valamilyen oknál fogva mindig pánikszerűen félnek használni egy nagy szám különböző rendszerekben, egyetlen platformon szeretnék használni az összes funkciót.

1C mobil platform: Az Enterprise eszköz- és technológiakészlet az iOS, Android, mobil operációs rendszerhez készült alkalmazások gyors fejlesztéséhez Windows Phone/ 8.1 / 10, ugyanazokkal a fejlesztői környezetekkel (Configurator vagy 1C: Entrprise Development Tools) és ugyanazokkal a fejlesztési technikákkal, amelyeket a "szokásos" 1C alkalmazásokhoz használnak. Az eredmény önálló, offline alkalmazások, de képesek a külvilággal való információcserére a platform által biztosított integrációs eszközök széles skálájával: webes és HTTP-szolgáltatások, e-mail stb. Mivel a csereprotokollok platformfüggetlenek, az 1C mobil platform többek között eszköz gyors alkotás mobil kezelőfelület szinte bármilyen szervermegoldáshoz.

Háttér

Az 1C: Enterprise 8.0 (és későbbi verziók) napjaiban volt egy Extension for nevű szoftver kézi számítógépek". A bővítmény lehetővé tette, hogy csak az operációs rendszerhez hozzon létre termékeket Windows Mobile, Windows CE, stb. A termék saját konfigurátorral és szerverrel rendelkezett, és az 1C: Enterprise 8.3 verzió kiadásáig támogatott volt. Legújabb verzió A kiterjesztés (8.2.9) 2013 októberében jelent meg, és a teljes támogatás 2015. január 1 -jén megszűnt.
A kiterjesztés még a Windows Mobile kommunikátorainak fénykorában is korlátozottan használható volt, és az ilyen eszközök távozása a mobilpiacról nyilvánvalóan nem növelte ennek népszerűségét. szoftver termék... Az IOS és az Android készülékek a mobil eszközök szinte teljes piacát elfoglalták, és nyilvánvalóvá vált, hogy ezen operációs rendszerek támogatása az egyik kulcsfontosságú pont a modern mobil világban működtetett rendszer számára. Az is nyilvánvalónak tűnt, hogy a meglévő 1C: Enterprise platform fő megközelítését mobileszközökön is alkalmazni kell: egy alkalmazott fejlesztőnek mindenekelőtt az alkalmazott problémák megoldására kell gondolnia, másodsorban pedig arra, hogy az operációs rendszer milyen képességeit használja a megoldáshoz. ezeket a problémákat .... Más szóval, szüksége van egy eszközre, amely elkülöníti az alkalmazásfejlesztőt az adott mobil operációs rendszer és fejlesztőeszköz sajátosságaitól.

Mobil platform

A kézi számítógépek bővítményének fejlesztésében és üzemeltetésében szerzett tapasztalatok alapján úgy döntöttek, hogy kifejlesztenek egy speciális rendszert, amely több követelménynek is megfelel:
  • támogatnia kell a modern népszerű mobiltelefont OSés az irányításuk alatt álló eszközöket. Először is, ezek az Apple iOS és a Google Android.
  • ennek a rendszernek lehetővé kell tennie a fejlesztett alkalmazások használatát a modern mobil eszközökön elfogadott stílusban. Különösen az interfésznek kell támaszkodnia manuális irányítás(szó szerint) érintőképernyők használatával.
  • a rendszernek egységes programozási felületet kell biztosítania a különféle specifikus mechanizmusok megvalósításához, függetlenül a használt mobil operációs rendszertől.
  • a fejlesztőnek ugyanazt az eszközt és fejlesztési megközelítéseket kell használnia, mint a "rendes" számítógéphez való alkalmazások fejlesztésekor.
  • egy alkalmazásfejlesztőnek fejlesztenie kell alkalmazott oldat ismerős fejlesztői környezetben, amikor csak lehetséges, ugyanazt a kódot használja asztali és mobil rendszerekhez.
  • a mobileszközön futó alkalmazásmegoldás felületének hasonlónak kell lennie a különböző platformokhoz, és összességében egyértelműen felismerhetőnek kell lennie.
A fejlesztés eredménye az úgynevezett mobil platform volt, amely 2013. május 29-én jelent meg iOS és Android verzióban. Az 1C: Enterprise mobilplatform olyan eszközök és technológiák összessége, amelyek lehetővé teszik alkalmazások létrehozását iOS, Android, Windows Phone / 8.1 / 10 mobil operációs rendszerekhez ugyanazzal a fejlesztői környezettel (Configurator) és ugyanazokkal a fejlesztési módszerekkel, mint a hagyományos alkalmazások az 1C: Enterprise platformon. Az eredmény önálló, offline alkalmazások, de képesek a külvilággal való információcserére a platform által biztosított integrációs eszközök széles skálájával: webes és HTTP -szolgáltatások, Email stb.
A mobil platformot a közösség meglehetősen jól fogadta, különböző cikkek jelentek meg ebben a témában (például és). Annak érdekében, hogy kifejlesszünk egy teljesen működőképes alkalmazást, amely egyszerre működik a mobileszközök túlnyomó részén, most minimális időre és tudásra volt szükség, ami alapvetően nem különbözött az 1C: Enterprise platform „rendes” alkalmazásfejlesztőjének tudásától. . Kétségtelen, hogy az ilyen alacsony belépési küszöb vonzza a fejlesztőket, akiknek alapvető funkciókat kell biztosítaniuk a terepi dolgozók, főnökök és más mobil alkalmazottak számára, akiknek együtt kell dolgozniuk a vállalati rendszerrel.
Könnyű elkezdeni egy mobilalkalmazás fejlesztését az 1C: Enterprise platformon. A Konfigurátorban állítsa a "Használat célja" tulajdonságot a "Mobileszköz" értékre a konfigurációban. Ebben az esetben az alkalmazott konfigurációs objektumok egy része elérhetetlenné válik (jellemző típusok diagramjai, számlatérképek stb.), De elérhetővé válnak a mobilalkalmazásokra jellemző tulajdonságok (például beépített multimédia és földrajzi helymeghatározás) mobil eszköz stb.).


Ugyanakkor a fő alkalmazásalgoritmusokat (amelyek nem kapcsolódnak közvetlenül a mobil specifikációkhoz) közvetlenül a fejlesztő számítógépén található Configurator programban hibakeresheti. Ugyanakkor ajánlott a kódrészeket, amelyekben a "mobil" funkciót meghívják, megfelelő keretekkel keretezni az előfeldolgozónak, hogy elkerüljék a hibákat a kód személyi számítógépen történő végrehajtásakor:
#If MobileApplicationClient then Data = GeolocationServer.GetProviderName (); # EndIf
A mobil platform 8.3.7 verziójától kezdve elérhetővé vált az alkalmazás hibakeresése közvetlenül a mobileszközön (erről bővebben alább).

A mobil platformon történő fejlesztés különböző megközelítéseket követhet, de néhány kulcsfontosságú pontot ki lehet emelni. A tényleges mobilalkalmazás felépítése, funkcionális gazdagsága és a vállalat informatikai infrastruktúrájában betöltött szerepe szempontjából:

  • egy mobil alkalmazás szerves és szerves része lehet egy meglévő vállalati információs rendszernek. A mobilalkalmazás a meglévő információs rendszer képességeihez igazított felületet és egyéb képességeket biztosít (beleértve az adatcserét is). Ebben az esetben a mobilalkalmazás nagyon szorosan kapcsolódik a "rendes" tájékoztatási rendszerés nem lehet attól elszigetelten működtetni.
  • a mobilalkalmazás speciális feladatokat lát el, amelyek gyakorlatilag nem kapcsolódnak a vállalati információs rendszerhez. A mobilalkalmazás és az információs rendszer között csak minimális adatcsere történik. Ebben az esetben nagy valószínűséggel a mobilalkalmazás valamilyen szabványosított protokoll szerint hajtja végre a cserét, ami lehetővé teszi ennek a mobilalkalmazásnak a használatát egészen más esetekben és helyzetekben.
A fent leírt két helyzet extrém opciónak tekinthető. De nem csak ezek a fejlesztési lehetőségek. Egy alkalmazásfejlesztő önállóan választhatja az integrációs lehetőségeket a mobilalkalmazás és az információs rendszer között, amely háttérként működik.
A mobilalkalmazást teljesen önálló konfigurációként fejlesztették ki, de megoszthatja a forráskód egy részét a "szülő" konfigurációval. Egyébként előfordulhat, hogy a "szülő" konfiguráció fizikailag nem létezik (például, ha fejleszt valamit univerzális alkalmazás amelyekkel együtt tud működni különböző rendszerek az univerzális protokoll szerint).

Mobil platform eszköz

Mi az a mobil platform és mire jó?
Az igazat megvallva, a mobilplatform csak egy része az egész komplexumnak, ennek köszönhetően az 1C: Enterprise 8 mobil eszközökön is működik. Tehát egy alkalmazott fejlesztő a következő összetevőkkel működik:
  1. A mobil platform maga az 1C: Enterprise keretrendszer mobil része. Ez lehet rendszeres (amelyet egy alkalmazás létrehozásakor használnak az alkalmazásboltban való közzétételhez) és mobil fejlesztői platform, amelyet (meglepetés) használnak egy mobil alkalmazás fejlesztése során.
  2. A mobilkonfiguráció az 1C: Enterprise szoftverrendszer konfigurációja, amely XML fájl formájában van írva.
  3. A mobil platform és a mobil konfiguráció kombinációja egy mobil alkalmazást eredményez.
  4. A mobilalkalmazás -készítő egy speciális alkalmazásmegoldás, amelyet mobil platformról, konfigurációból, nyitóképernyőkből, ikonokból és egyéb összetevőkből készíthet, kész fájl mobil alkalmazás, amely letölthető az Apple AppStore, a Google Play, a Windows Phone Apps / Windows Apps webhelyekre.
Miért olyan nehéz minden? Miért nem lehet megtenni mobileszközön pontosan úgy, mint egy nagy platformon? Azok. telepítsen egy mobil platformot az eszközre, és töltsön be tetszőleges számú konfigurációt / alkalmazást? Ezt tiltják az alkalmazások tárolásán keresztül terjesztett alkalmazások engedélyezési korlátozásai. Például, ha az alkalmazás letölt egy végrehajtható kódot (szkript formájában) az interneten keresztül, akkor soha nem jelenik meg az Apple App Store -ban. Meg kell azonban érteni, hogy a fejlesztői mobilplatformon található bármely konfiguráció letöltésének lehetősége nem célja a mobilalkalmazások terjesztésének még ugyanazon a vállalaton belül, nemhogy a fejlesztői ügyfeleknek való terjesztésről.
Miután a mobilalkalmazás a célmobil eszközön van, szükségessé válik valamilyen adatbázis használata (az adatokat valahol tárolni kell). Adatbázis -motorként a mobilplatform saját adatbázis -motorját használja, amely a platformról a platformra kerül személyi számítógép... Kompakt és elég gyors, de a lényeg az, hogy pontosan ugyanazt a viselkedést biztosítja, mint amit az alkalmazásfejlesztők megszoktak, amikor személyi számítógépek platformján dolgoznak.
Érdemes megjegyezni azt is, hogy a belső mobilalkalmazás ugyanazon séma szerint épül fel, mint egy hagyományos, fájl alapú infobázissal rendelkező platform munkája: van ügyfélrész, van szerverrész, van adatbázis, és kliens-szerver interakció van.
Maga a mobil platform natív alkalmazásként van írva, bináris kódba állítva össze a mobil világban jelenleg használt fő processzor architektúrákhoz: ezek az ARM v5 és újabb, valamint az x86 architektúrák.
Ezenkívül speciális engedélyekre lehet szükség a mobil eszközök bizonyos lehetőségeivel való kapcsolattartáshoz (telefonálás, GPS, beépített kamerával végzett munka stb.). Az iOS esetében ezek közvetlenül az alkalmazás működése során kerülnek beállításra, Android esetén pedig az engedélyek az alkalmazás létrehozásakor vannak megadva. A szükséges engedélyeket egy mobilalkalmazás fejlesztésekor határozzák meg, és ezeket a mobilalkalmazás -készítő használja, de az építőről később.

Egy kicsit a fejlesztői platformról

Miközben mobilalkalmazást fejlesztünk, nem vagyunk kötve az alkalmazásboltokban terjesztett mobilalkalmazásokra vonatkozó licenckorlátozásokhoz. Ez azt jelenti, hogy az 1C mobilplatformot ugyanúgy használhatjuk, mint a személyi számítógép "nagy" platformját - telepítse magát a mobilplatformot egy okostelefonra / táblagépre, és töltse be a mobilalkalmazások konfigurációit. Az indítás után a platform megmutatja a benne regisztrált alkalmazások listáját:

Ha új alkalmazást szeretne hozzáadni a platformhoz, el kell helyeznie egy XML -fájlt a leírásával egy olyan erőforrásba, amely a HTTP -protokollon keresztül elérhető mobileszközről. Ennek legkényelmesebb módja a Configurator, a "Configuration \ Mobile application \ Publish" menü. Ebben az esetben az alkalmazáskonfigurációval rendelkező XML -fájl a fejlesztő számítógépének webszerverére kerül (ennek megfelelően ennek a számítógépnek webszerverrel kell rendelkeznie - IIS vagy Apache).

Ha az "Újraindítás a konfigurátorból" opciót adja meg az alkalmazáshoz, akkor a mobileszközön lévő alkalmazás automatikusan frissül a fejlesztő számítógépéről minden alkalommal, amikor a fejlesztő frissíti a webszerveren tárolt szolgáltatást XML fájl konfiguráció.
Ha a "Hibakeresés engedélyezve" opció engedélyezve van, az alkalmazás lépésről lépésre történő hibakeresése a mobileszközön a fejlesztő számítógépén található konfigurátorból lehetséges (a konfigurátorban a "Hibakeresés HTTP-n keresztül" lehetőség a "Szolgáltatás \ Options "menüpontot kell kiválasztani). Ha töréspontokat helyez be a kódba a Configurator programban, és kiválasztja a "Mobilalkalmazás - hibakeresés indítása" parancsot, az eszköz mobilalkalmazása leáll, amikor a végrehajtható kód eléri a töréspontot, és a Configurator programban megtekintheti a változók, hívásköteg stb.

Mit tehet?

Tehát mire képes a mobil platform? Elég:)
Ha nem használja az "1C: Enterprise" kifejezéseket, akkor a mobil platform lehetőséget biztosít a szabályozási és referenciaadatok kezelésére, dokumentumok készítésére, amelyek leírnak néhány külső tevékenységet, jelentések megtekintésére, kommunikációra a külvilággal internetszolgáltatások használatával és sok más több. Azok. lehetőséget biztosít egy alkalmazásfejlesztőnek egy kellően funkcionális alkalmazás megírására, például egy lakásfinanszírozási számviteli programot, egy kereskedelemlátogató programot és hasonlókat.
De a személyi számítógép platformján szokásos funkciókon kívül a mobil platformnak olyan speciális képességekkel kell rendelkeznie, amelyek csak a mobileszközökre jellemzőek:
  • munka a hívásokkal és a hívásnaplóval;
  • rövid üzenetekkel (SMS) és azok listájával való munka;
  • kapcsolatok;
  • naptárak;
  • földrajzi helymeghatározás (útválasztás nélkül);
  • lehetővé teszi fényképek készítését, valamint video- és hangfelvétel készítését;
  • reagáljon a képernyő tájolásának változására;
  • dolgozzon az értesítésekkel (helyi és PUSH, közvetlenül és egy speciális közvetítő szolgáltatáson keresztül);
  • kamerával olvassa be a vonalkódokat és a QR -kódokat
  • Mobilalkalmazásokból származó bevételszerzés (azaz egy lehetőség arra, hogy a mobilalkalmazás -fejlesztőknek további bevételt biztosítsanak):
    • Dolgozzon az Apple alkalmazáson belüli vásárlással (iOS operációs rendszer esetén) és a Google Play alkalmazáson belüli számlázással (Android operációs rendszer esetén), amelyekkel különböző típusú előfizetéseket, funkcióvásárlásokat stb. Szervezhet a mobilalkalmazásban
    • Hirdetések megjelenítése mobilalkalmazásokban (az iAd iOS -hez és az AdMob for Android továbbra is támogatott).
  • stb.
Nyilvánvaló, hogy bizonyos funkciók nem minden esetben érhetők el adott eszköz ezért annak meghatározásához, hogy mit lehet tenni azon az eszközön, amelyen a mobilalkalmazás fut, speciális módszerek amely tájékoztatja Önt arról, hogy elérhető ez az eszköz mint például a tárcsázási képesség, vagy sem. Így megközelítőleg a következő használati séma valósul meg: ellenőrizzük, hogy lehet -e valamilyen lehetőséget használni, vagy sem, és ha lehetséges, használjuk:
Ha a telefonálás eszközei. EndIf;
Fontos feladat számunkra, hogy elrejtsük a használt mobil operációs rendszer részleteit az alkalmazásfejlesztő elől, hogy egységes mechanizmusokat biztosítsunk számára a mobil funkciók használatához. Hisszük, hogy sikeresen megoldjuk a problémát. A megvalósított mechanizmusok közötti különbségek vagy hiányoznak, vagy minimálisra csökkennek. Kivéve persze, ha az egyik operációs rendszerben egyáltalán nincs funkció.
Például a PUSH értesítésekkel való munka technikája nagyon eltérő a Google és az Apple esetében. Sok erőfeszítést tettünk annak érdekében, hogy egységesítsük a PUSH értesítésekkel való munka mechanizmusát az alkalmazáskódból. Egy mobilalkalmazás esetében majdnem 100%-ban sikerült: ugyanaz az alkalmazáskód mobileszközön kezeli a PUSH -értesítések fogadását iOS -en és Androidon is. És a PUSH értesítések küldésének kódja a szerver alkalmazásban is ugyanúgy néz ki. De az ilyen egyesítés eléréséhez egy speciális proxy szervert kellett kifejlesztenünk https://pushnotifications.1c.com/, amely elrejti a fejlesztő elől az Apple Push Notification Service (APNS) és a Google Cloud Messaging (GCM) használatának különböző technikáit. Az egész különbség az különböző beállításokat közvetlenül a proxy webhelyen https://pushnotifications.1c.com/; az APNS -sel való együttműködéshez fel kell töltenie egy SSL -tanúsítványt a webhelyre (amelyet az Apple a fejlesztő kérésére ad ki az alkalmazás számára), a GCM használatához meg kell adnia az alkalmazás egyedi azonosítóját.
Nyilvánvaló, hogy lehetetlen azonnal megvalósítani az összes olyan funkciót, amelyet szeretne egy mobilalkalmazásban. És mindig meg kell találni a kompromisszumot számos nagyon hasznos dolog között. És ha valami hiányzik - írjon nekünk arról, hogy milyen üzleti feladatokat (elvégre a platform elsősorban az üzleti feladatok végrehajtásának eszköze!) Nem tudja megoldani, és milyen mechanizmus segítene ebben.

Hogy néz ki?

A mobil platform grafikus felülete külön téma. Az 1C: Enterprise -ban, mint tudod, az interfész deklaratív módon van leírva. Ez egyrészt korlátozza a felhasználói felület fejlesztését (például nincs lehetőség pixelenkénti pozicionálásra), másrészt lehetővé teszi a platform számára, hogy egységesen megjelenítse a felületet a képernyőkön különböző méretű, a vékony és webes kliensben. Igyekeztünk ugyanazt az elvet betartani a mobil platformon is. Milyen jól csináltuk? Próbáljuk meg kitalálni.
A mobil platform első verzióiban (legfeljebb 8.3.5) grafikus felület az alkalmazások nagyon ismerősnek tűntek a kifinomult 1C felhasználók számára; valójában az 1C "asztali" verzióiból ismerős felületet helyezte át a mobilvilágba. De azoknak a felhasználóknak a szemszögéből, akik korábban nem ismerték az 1C -t, a felület kissé archaikusnak tűnt.
Figyelembe véve a megjegyzéseket és javaslatokat, gyökeresen felülvizsgáltuk a mobilfelületre vonatkozó megközelítésünket a 8.3.6 verzióban. Elmondhatjuk, hogy teljesen új mobil felületet készítettünk alkalmazásainkhoz. Sok közös vonása van a Taxi felületünkkel. A mobil alkalmazások fejlesztőinek fejlesztési modellje megfelel a Taxi fejlesztési modelljének. Ugyanakkor a mobil interfész teljes mértékben megfelel a tervezési és a mobil alkalmazásokban elfogadott megközelítéseknek. Az interfész teljes mértékben figyelembe veszi a mobilvilág sajátosságait: kis képernyőméret (ami azt jelenti, hogy a grafikus elemek kialakításának aszkétabbá kell válnia - árnyékok, színátmenetek nélkül), támogatják az ujjmozdulatokat stb. Érdekes tény: az új platformmechanizmus, amely felelős az elemek űrlapba helyezéséért (elrendezés), annyira sikeresnek és időszerűnek bizonyult a mobil platform számára, hogy korábban (8.3.6 verzióban) megjelent, mint a PC platformján (8.3 verzióban) .7), amelyre elsősorban szánták.
A képen láthatja, hogyan változott a felületünk.
"Egy kis cég menedzsmentje" alkalmazás a mobil platform 8.3.5 verzióján:


Ugyanez a 8.3.6 verzióban:

És így néz ki a mobil platform élő kezelőfelülete:

Gyűjtő - és miféle vadállat ez?

Amint azt korábban említettük, a mobilalkalmazás több összetevőből áll (a tényleges mobilplatform, konfiguráció, különböző erőforrások), amelyeknek egyetlen egésznek kell lenniük az alkalmazás tárolásához. Annak érdekében, hogy könnyebb legyen az alkatrészek alkalmazássá alakítása, kifejlesztettek egy mobilalkalmazás -készítőt. Ez az 1C: Enterprise platformon létrehozott konfiguráció (alkalmazás), amely adatbázisában tárolja a mobil alkalmazás létrehozásához szükséges összes összetevőt. Annak érdekében, hogy az építtető elvégezze munkáját, le kell töltenie és telepítenie kell a különféle változatokat szoftvercsomagok amelyek működéséhez szükségesek (Java és Android SDK, stb.), majd a gyűjtő beállításaiban adja meg a csomagokhoz vezető útvonalakat, és állítson be néhányat Extra lehetőségek(fejlesztői kulcsok stb.).


A konfigurálás után a kollektor használatra kész. Általában a gyűjtővel való munka így néz ki:
  1. Töltse le az 1C mobil platform verzióját, amelyre felépítjük az alkalmazást
  2. Betöltjük azt a konfigurációt, amelyből felépítjük a mobilalkalmazást
  3. Létrehozunk egy mobilalkalmazást, amelyben megjelöljük, hogy mely platformokra (Android, iOS, Windows) kell elvégezni az összeszerelést, milyen konfigurációt és platformot kell használni (különösen, ha az alkalmazás működik, jelölje meg, hogy melyik szerelési tanúsítványt kell használni az iOS -hez. PUSH) értesítésekkel).
  4. A mobilalkalmazás "egy kattintásos" összeszerelését elvégezzük az összes kiválasztott platformon
  5. "Egy másik kattintással" elküldjük az összegyűjtött mobilalkalmazásokat az alkalmazásboltokba (ha ez iOS vagy Android alkalmazás). V Windows áruházak Alkalmazások / Windows Phone Alkalmazások alkalmazás manuálisan kell letöltenie, mert A Microsoft még nem biztosít API -t egy alkalmazás elhelyezéséhez az üzletben.
Külön meg kell jegyezni, hogy a gyűjtő nem szükséges egy mobil alkalmazás fejlesztéséhez és hibakereséséhez. Ehhez a mobil fejlesztői platformot és a Configurator eszközöket használva vigye át a konfigurációt a mobileszközre. A mobilalkalmazás terjesztéséhez azonban gyűjtőre van szükség.

Alkalmazások a mobil platformon

Az 1C cég maga számos olyan alkalmazást bocsát ki egy mobil platformon, amelyek az 1C szerveralkalmazások mobil ügyfelei (1C: Dokumentumkezelés, 1C: Kisvállalati menedzsment stb.). Ezek az alkalmazások megvalósítják a "rendszeres" ügyfelek funkcionalitásának egy részhalmazát. Amikor mobil verzió Az "1C: Egy kisvállalat kezelése" funkció elegendő a program teljes körű használatához, és gyakran láttunk olyan helyzetet, amikor az alkalmazás mobil verziója elegendő az ügyfelek üzleti tevékenységéhez.
Partnereink a mobilplatformot mind tömegesen gyártott mobilalkalmazások fejlesztésére használják az alkalmazásboltokban, mind egyedi alkalmazásokra, amelyeket meghatározott ügyfelek kérésére hoztak létre. A keringő alkalmazások között vannak olyan alkalmazások, amelyek nem 1C háttértárat használnak központi adattárolóként.
Az ügyfelek megrendelése alapján létrehozott mobilalkalmazások közül megemlíthetünk egy mobil klienst az "1C: Manufacturing Enterprise Management" számára, amelyet egy nagy gépgyártó gazdaság megrendelése hozott létre. A gazdaság mintegy száz alkalmazottja használ mobilalkalmazást a forró üzletekben, ahol biztonsági okokból helyhez kötött számítógépek lehetetlen. A mobilkészülék beépített kamerája a termék vonalkódjainak olvasására és a nómenklatúra referenciakönyvben való keresésére szolgál, a mobilalkalmazás lehetővé teszi, hogy megértse az adott termék technológiai láncának melyik szakaszát, és jelölje meg a a termék következő művelete stb.

Következtetés

Megpróbáltuk nagyon felületesen leírni a mobil platformot, mit tesz lehetővé, és miért alakult úgy, ahogy. Ebben a cikkben gyakorlatilag semmit nem mondanak róla mobil Windows... Ennek több oka is van: először is, a Windows platformra készült mobil platform verziója viszonylag nemrég jelent meg ("1C: Enterprise" 8.3.7. Verzió), másrészt a mobil platform ezen verziója nem különbözik jelentősen a implementáció más mobil operációs rendszerekhez ... Természetesen növeljük a Windows operációs rendszer funkcionalitását. Valamint a mobil platform egészének funkcionalitásának növelése. Tehát a közeljövőben támogatást kapunk a mobil platformon külső alkatrészek; ez a mechanizmus (régóta elérhető a "nagy" platformon) lehetővé teszi a fejlesztők számára, hogy olyan funkciókat valósítsanak meg, amelyek semmilyen okból nem állnak rendelkezésre a mobil platformon.
Hagyományosan erősségeit Az "1C: Enterprise" technológiai platform a fejlesztő könnyű fejleszthetősége, valamint az üzleti alkalmazások létrehozásának és módosításának gyorsasága. Az 1C mobilplatform mindkét ütőkártyát elhozta a mobilvilágba. Az 1C mobilplatform lehetőséget kínál egy olyan alkalmazás gyors fejlesztésére, amely a három legnépszerűbb mobilplatformon (iOS, Android, Windows Phone / 8.1 / 10) működik. Az elérhető platformfüggetlen integrációs eszközök (webes és HTTP-szolgáltatások stb.) Széles választékának köszönhetően az 1C mobilplatform lehetővé teszi, hogy gyorsan hozzon létre egy mobil klienst három mobil platformhoz szinte minden olyan kiszolgálóalkalmazáshoz, amely támogatja a az 1C platformon elérhető integrációs módszerek (webes és HTTP -szolgáltatások, fájlcsere stb.).

A felmérésben csak regisztrált felhasználók vehetnek részt. Gyere be kérlek.

A mobilalkalmazások fejlesztése mindig azzal jár, hogy további technológiákat kell megtanulni. De mi van, ha újra megvizsgálja a kérdést, és használja a már ismert eszközöket?

Először próbált belépni az 1C piac mobil fejlesztés 2006 -ban. Abban az időben valódi izgalom övezte a távoli alkalmazottak PDA segítségével történő automatizálását. Az ilyen problémák megoldására új programok jelentek meg, mint a gombák, és egy olyan eladó, mint az 1C, sikeres termékekkel a különböző üzleti területek automatizálására, nem hagyhatta ki a lehetőséget, hogy belépjen a jövedelmező piacra.

2006 közepére a vállalat bemutatta az új termék ígéretes "1C: Enterprise 8. Extension for Pocket Computers" nevet. Az 1C fejlesztői, akik látták a 8. platform kilátásait, abban reménykedtek, hogy most lehetővé vált, hogy minden nehézség nélkül egy eszközön fejleszthessenek az akkoriban népszerű „Windows Mobile” mobil operációs rendszer számára.

A gyakorlatban minden sokkal rosszabbnak tűnt. Megtestesült eredeti ötletek ez az eszköz nem tette lehetővé. Nejlonzacskó " Pocket PC kiterjesztés„Inkább kiegészítő volt bizonyos tipikus konfigurációkhoz, mint komplett fejlesztési megoldás. Nem tervezték a konfigurációs funkció bővítését új metaadat -objektumok hozzáadásával. Elég egyszerű dolgok maradtak a külső programozók kegyében: új formák létrehozása a felhasználóval való interakcióhoz, a felhasználói események kezelése.

Igen, mindenféle kijátszása volt a korlátozásoknak, de még azok sem engedték igazán kibontakozni. A technikai korlátok mellett a fogyasztók jelentős pénzügyi akadályokat tapasztaltak. Azoknak a vállalatoknak, amelyek úgy döntöttek, hogy 1C -ről hajtanak végre megoldást, termelékeny PDA -kat kellett vásárolniuk, licenceket kellett vásárolniuk a Windows Mobile számára, valamint fizetniük kellett az 1C -ért a megoldás szállításáért és a végső alkalmazásért.

Az 1C -s megoldás túl drága volt. A pénztakarékossághoz szokott vállalatok továbbra is alternatív megoldásokat alkalmaztak. Ezenkívül az alternatívák fejlesztőinek sikerült funkcionalitást biztosítaniuk termékeiknek a szabványos 1C megoldásokkal való interakcióhoz.

A technikai korlátok és a magas költségek nem tették lehetővé, hogy a termék megismételje az asztali platform hatalmas sikerét. Az ötlet, hogy meghódítsa a corp. Mobilpiacát.

az alkalmazások csúnyán megbuktak.

Lépjen elő

A sikertelen projekt veszteségei és veszteségei nem vetettek véget az ígéretes irány fejlődésének. 2013 -ban az 1C cég bemutatta az új 8.3 platform első stabil verzióját, amelynek célja mobil alkalmazások fejlesztése.

Az 1C teljesen újragondolta a mobil "tétel" megoldásának megközelítését, és figyelembe vette az előző sikertelen termék hibáit. Az eredmény egy teljesen új eszköz, amelynek semmi köze elődjéhez, és a legújabb mobilplatformokra összpontosít - Androidra és iOS -re.

Mobil alkalmazások 1C stílusban

A mobil platformok fejlesztési lehetőségeinek teljes körű megismerése érdekében megpróbálunk egy kis konfigurációt kidolgozni. A végpontok közötti példa segítségével jobban ki tudja értékelni a rendelkezésre álló funkciókat, és dönthet az 1C platform használatának lehetőségéről a problémák megoldására.

A munkához szüksége van az 1C: Enterprise 8.3 platform legújabb kiadására. A disztribúció oktató verziója elérhető az 1C hivatalos weboldalán. Több mint elegendő egy példát létrehozni képességeire.

Az 1C: Enterprise 8.3 platformon kívül számos további eszközre van szükségünk. A cikk egy példát fog vizsgálni egy Android -alkalmazás fejlesztésére. Ebben a tekintetben le kell töltenie: Android SDK és Apache WEB szerver. Az első összetevő mindent tartalmaz, amire szükség van az alkalmazás létrehozásához, és egy emulátort a teszteléshez, és a WEB szerver hasznos gyors betöltés alkalmazások mobil operációs rendszerhez.

Szükségünk van a „Mobil Fejlesztői Platform” szállítására is. Konfigurációt tartalmaz, amely leegyszerűsíti a létrehozott mobilalkalmazás építési folyamatát, valamint egy mobil fejlesztői platformot. Telepíteni kell egy mobileszközre vagy emulátorra.

A Google Playen keresztül történő terjesztésre kész alkalmazás létrehozásához le kell töltenie Apacheantés JavaJDK... Ez a téma kívül esik a cikk keretein, így az ezekkel az eszközökkel való munkavégzésről és az alkalmazás felépítéséről a megfelelő szakaszban olvashat.

Eszközök konfigurálása

Felület " 1C: Vállalati 8.3»És az Apache webszervert telepítőkkel szállítjuk, és szabványos módon telepítjük. Android SDK csak ki kell csomagolnia egy külön könyvtárba, és futtatnia kell " sdk manager.exe”. Egy ablak jelenik meg a telepítéshez rendelkezésre álló csomagok kiválasztásával. A teszteléshez, amelyet a példacikk keretein belül vizsgálunk, ki kell választania és telepítenie kell: Android SDK eszközök, A ndroid Platform Tools, SDK Platform API 17.

Az utolsó lépés egy új információs bázis létrehozása. Azok számára, akik nem kapcsolódnak a fejlesztéshez " 1C: Vállalat»Elmagyarázom, hogy ennek a platformnak a megoldása infobázisból és konfigurációból áll. Új adatbázis hozzáadása a gombra kattintva történik " Hozzáadás»Start ablak. Az alap hozzáadása után nyissa meg a " Konfigurátor».

Az első mobil konfiguráció

A konfigurátor főmenüjében megtaláljuk a „ Konfiguráció"És válassza a" Konfiguráció megnyitása "elemet. A konfigurációs fa (azon objektumok közül, amelyekből a jövőbeli alkalmazás fog állni) megjelenik az ablak bal oldalán. Válassza ki a konfigurációs gyökeret, és nyomja meg a billentyűkombinációt " Alt + Enter". A tulajdonságszerkesztő megnyílik a konfigurátor ablak jobb oldalán.

Hívjuk a konfigurációt " CSINÁLNI"A" Használat célja "ingatlanban pedig feltüntetjük" Mobil eszköz". Futással figyeljen utolsó akció, a konfigurációs fa egyes csomópontjai inaktívvá válnak. Sajnos nem fogja tudni használni a mobil platform összes metaadat -objektumát.

Problémánk megoldásához a konfigurációs fában több metaadat objektumot kell létrehoznunk:


Eljárás AddTask (Feladat) ExportRecordManager = CreateRecordManager (); RecordManager.Period = AktuálisDátum (); Rekordkezelő.Task = Feladat; ManagerRecords.Status = Task.Status; ManagerRecord.Record (); Az eljárás vége

Lista 2. A "GetList of Unclosed Tasks () függvény kódja

Funkció GetList of UnclosedTasks () Export Request = Új kérés; Query.Text = "SELECT | TasksStatusLast Slice. Task AS Task, | TasksStatusLast Slice.<>VALUE (Enumeration.Tasks.Finished)) AS TasksStatusSliceLast | | RENDELÉS | ExecutionDate DESCENT "; Request.SetParameter (" CurrentDate ", CurrentDate ()); Return Request.Run (). Unload (); EndFunction

Kitaláltuk az információnyilvántartásból származó adatok beérkezését és rögzítését, most megtanítjuk referenciakönyvünket a nyilvántartással való együttműködésre. Ehhez adjon hozzá egy közös modult „ Munka a feladatokkal". Megteheti anélkül is, de azonnal a kód modulokra bontásának lehetőségére szeretnék összpontosítani. Sok 1C fejlesztő továbbra is figyelmen kívül hagyja ezt az ajánlást, és egy helyen leírja az összes logikát, ami megnehezíti a kód későbbi karbantartását. Hozzunk létre egy új eljárást a modulban " Hozzon létre egy új feladatot"(Lásd a 3. listát).

Lista 3. Az "Új feladat létrehozása" eljárás kódja

Eljárás CreateNewTask (Link) Export If Link.This csoport majd visszatér; EndIf; Kérés = Új kérés; Query.Text = "SELECT | TasksStatusLastSlice.Status | FROM | InformationRegister.TasksStatus.Last Slice (& CurrentDate, Task = & Task) AS TasksStatusLast Slice"; Request.SetParameter ("AktuálisDátum", AktuálisDátum ()); Request.SetParameter ("Feladat", Link); Eredmény = Query.Run (). Válassza a (); If Result.Next () Akkor If Result.Status<>Ref. Állapot Ezután Információk Registers.TasksStatus.AddTask (Link); EndIf; Ellenkező esetben az Information Registers.TasksState.AddTask (link); EndIf; Az eljárás vége

Új rekord létrehozása előtt ellenőrzi a feladathoz tartozó meglévő rekordok jelenlétét. Ha a rekord már létezik, akkor össze kell hasonlítani a feladatok állapotát. Ha a nyilvántartásból származó állapot nem különbözik az írandó tétel állapotától, nincs szükség további rekord létrehozására.

Az utolsó érintéssel nyissa meg a "Feladatok" katalógus elem űrlapját, és hozzon létre egy eseménykezelőt a " AfterRecordOnServer". Ebben hívást írunk a harmadik listában leírt eljáráshoz:

WorkWithTasks.Create a New Task (CurrentObject.Link);

Munka a felületen

Az alkalmazás fő funkciói készen állnak - a felhasználó létrehozhat feladatokat, és minden új feladat bejegyzést képez az időszakos információregiszterben. Most térjünk rá a felületre. Tegyük előtérbe a feladatokkal járó munkát. Végül is logikus a lista megjelenítése közvetlenül az alkalmazás elindítása után. zárt feladatokés az új létrehozásának képessége?

Keresse meg a konfigurációs fában a csomópontot " Gyakori formák"És tegye hozzá új forma Névvel " Asztal". Nyissuk meg a létrehozott űrlapot a felületkonstruktorban, és adjunk hozzá olyan kellékeket, mint a „ Értéktábla". Nevezzük "OpenZachi" -nak. A táblázat két oszlopot tartalmaz - " Feladat"(ReferenceLink.Tasks) és" A végrehajtás dátuma"(Dátum).

A következő lépés a hozzáadott kellékek húzása az űrlapra. Kell egy interfész a legegyszerűbb táblázat... Nem adunk meg méretet, az interfész méretezésével kapcsolatos aggodalmat a platformra bízzuk.

A létrehozott táblázathoz a vagyonfelügyelőben jelölje be a „ Csak megtekintésre", És az ingatlan" Parancspanel pozíciója"Megjelenítjük a" Nem "értéket. A táblázatot dinamikus információkkal töltjük fel, így nincs értelme a felhasználó általi szerkesztésnek.

Most írja le az űrlap "OnCreateAtServer" eseménykezelőjét. Adjunk hozzá egy sor kódot:

OpenTasks.Load (Information Registers.TasksStatus.Get a List of Not ClosedTasks ());

A kódban az általunk leírt eljárásra hivatkozunk " GetList of UnclosedTasks»És a végrehajtás eredménye kerül a táblázatba.

Térjünk vissza az űrlapkonstruktorhoz, és adjunk hozzá egy "Normál csoport kijelző nélkül" típusú csoportot két gombbal: " Teremt"és" Frissítés". A tulajdon " Csoportosítás"A hozzáadott csoporthoz állítsa be a" Vízszintes "értéket. A gombok kifejezőbb kialakítása érdekében adjunk hozzá képeket és módosítsuk az alapértelmezett betűtípust.

Most válasszuk ki a gombot " Teremt"És kérdezd meg tőle globális csapat « Feladatok: alkotás". Ez lehetővé teszi feladatok létrehozását anélkül, hogy be kellene írnia magát a könyvtárat. A második gomb megnyomásával frissítjük a táblázat tartalmát feladatokkal. Ehhez létre kell hoznia kiegészítő parancs formák.

Minden új űrlapparancs az azonos nevű lapon jön létre " Parancsok". Az elv egyszerű - hozzáadunk egy új parancsot, leírjuk benne a műveleti kódot, majd társítjuk a parancsot az interfésszel, esetünkben a gombbal.

Ne felejtsük el, hogy egy felügyelt alkalmazást fejlesztünk, ezért egyértelműen meg kell különböztetnünk az ügyfél- és a szerverkódot. Amikor a gombra kattint, megjelenik egy kontextus " A kliensen", És adatokat fogunk kapni az adatbázisból a szerverről. A kódban ez így néz ki:

& OnClient eljárás UpdateTasksList (parancs) UpdateList (); EndProcedure & AtServer eljárás OnCreateAtServer (hiba, StandardProcessing) OpenTasks.Load (Information Registers.TaskStatus.GetList of Not ClosedTasks ()); Az eljárás vége

Most határozzuk meg az asztal alakját területként Kezdőlap... Nyissa meg a konfigurációs tulajdonságokat (válassza ki a legfelső csomópontot, és kattintson a " Alt + Enter") És állítsa be az értéket" Egy oszlop", Miután hozzáadtuk a listához az űrlapunkat" Asztal».

Az alkalmazás teljesen készen áll, és ideje tesztelni a működését. Próbálja meg futtatni a példát, és hozzon létre több feladatot, amelyek állapota nem " Befejezve". Az információnyilvántartás új bejegyzésekkel frissült (ez megtekinthető a „ Minden funkció") És néhány közülük megjelenik az asztalon.

Leszállás Androidon

A konfiguráció remekül működik asztali számítógépen, és itt az ideje, hogy tesztelje azt egy mobil operációs rendszer emulátorán. Új emulátor előkészítéséhez indítsa el a parancsértelmezőt ( cmd.exe), és lépjen a terjesztés "toos" könyvtárába az Android SDK -val. Futtassa a parancsot " android.bat avd", Amely elindítja a virtuális Android -eszközök... Ebben kattintson a "Létrehozás" gombra, és a megjelenő ablakban adja meg a virtuális eszköz paramétereit. Munkakörnyezetemben úgy döntöttem, hogy utánozom Nexus S androiddal 4.2.2 verzió. (API 17. szint).

Az eszköz létrehozása után azonnal elindítjuk. Amíg az Android betöltődik, térjünk vissza a konfigurátorhoz, és tegyük közzé alkalmazásunkat a webszerveren. A konfigurátor főmenüjében válassza ki a " Konfiguráció» -> « Mobil alkalmazás» -> « Közzététel". A közzétételi beállítások ablakban adja meg az alkalmazás nevét (bármi lehet), a webszervert (környezetünkben csak egy legyen) és a beállítások tárolásának könyvtárát.

Névként megadva " todo-mobile", Az alkalmazás elérhető lesz -" http: // host / todo-mobile". Kattintson az "OK" gombra, és próbálja meg elérni a közzétett alkalmazást böngésző segítségével. Ha sikeres, a szerver visszaadja a létrehozott konfigurációs XML kódot.

Menjen vissza az emulátorhoz, és töltse be az alkalmazást a mobil fejlesztői platformmal. Maga az alkalmazásfájl a mobil fejlesztői platform szállításával együtt érhető el, és az "1cem-arm.apk" nevet viseli. Az alkalmazás emulátorba történő telepítéséhez a „ adb.exe"A könyvtárból" platform-eszközök»: adb.exe telepítése –r 1cem-arm.apk.

A sikeres telepítés után nyissa meg az alkalmazások listáját az emulátorban, és indítsa el a mobil fejlesztői platformot. A megnyíló ablakban kattintson a " Alkalmazás hozzáadása"És a" cím "mezőben adja meg a webszerver URL -jét. megvan http://192.0.168.106/todo-mobile... Kattintson a " Hozzáadás”A konfigurációnkat sikeresen áttelepítettük a mobil platformra. Az alkalmazás használatra kész. Tesztelje az eredményt, és térjen vissza a konfigurátorhoz, itt az ideje, hogy az alkalmazásokat "mobilfunkciókkal" lássuk el.

SMS / MMS üzenetek küldése

Funkciók SMS / MMS -sel való munkavégzéshez az üzenetküldő mobil platformok különböző módon támogatottak. Például, amikor az alkalmazás Androidon fut, a fejlesztőnek lehetősége van előfizetni egy SMS -re, és az új üzenetekhez azonnal hozzájutni az átvétel után. Sajnos ez a funkció nem érhető el az iOS rendszeren, ezért a dokumentációnak kéznél kell lennie a fejlesztés során.

For SMS küldéseüzenetek objektumot SMS üzenet... Vegyünk egy példát:

& OnClient eljárás SendSMSMessage (Címzett, MessageText) NewMessage = Új SMSMessage (); NewMessage.Text = MessageText; NewMessage.Recipients.Add (Címzett); MeansTelephony.SendSMS (NewMessage); Az eljárás vége

A kód elég egyszerű, és alig igényel megjegyzéseket. Most nézzük meg a beérkező üzenetek előfizetését:

& OnClient eljárás ConnectMessageReceivingHandler () SubscribeOnMessages = NewNotificationDescription ("ProcessNewMessages", ThisObject); MeansTelephony.ConnectSMSMessage handler (SubscribeMessages); EndProcedure & AtClient Procedue NewMessages Handling (Message, AdditionalParameters) // Új üzenet kezelése //Message.Send, Message.Text; Az eljárás vége

Eljárás " Új üzenetek feldolgozása»Minden alkalommal hívni fog, amikor új SMS érkezik. A "paraméteren keresztül Üzenet"Típusú objektum" SMS üzenet»És könnyen megkaphatjuk az üzenet szövegét és a feladó adatait.

Az MMS -üzenetekkel való munka hasonló módon történik. Először létrehozunk egy SMS -t, majd csatolunk egy mellékletet (például képeket). Egy ilyen egyszerű művelettel az SMS MMS -vé alakul:

NewMessage = Új SMSMessage (); Melléklet = Új MMS melléklet; Attachment.Data = Kép; Attachment.ContentType = "image / jpeg"; MMS -üzenet. Mellékletek. Hozzáadás (melléklet);

Hívások kezdeményezése mobilalkalmazásból

A programozott hívás a "Telephony Tools" globális objektum "DialNumber" módszerével történik. A módszer hívása előtt nagyon tanácsos ellenőrizni a hívás lehetőségét:

Ha a telefonálás eszközei. EndIf;

Paraméter " Hívjon azonnal»Befolyásolja a tárcsázási teljesítményt. Amikor egyenlő " Igaz», A szám automatikusan tárcsázódik szabványos alkalmazás hívások kezdeményezése. Ha hamis értékre van állítva, a felhasználó is látni fogja szabványos interfész tárcsázó alkalmazást, de nyomja meg a " Idézés».

Hívásnapló

A mobil platform lehetővé teszi a fejlesztő számára, hogy kölcsönhatásba lépjen a hívásnaplóval. Például könnyen megkaphatja a kimenő, nem fogadott vagy bejövő hívások listáját. A funkció csak Android rendszeren támogatott:

CallLog = Telephony Means.GetCallLog (); Selection = Új SelectionDataComposition; SelectionElement = Selection.Elements.Add (Típus ("DataCompositionOptionSelection")); SelectionElement.LeftValue = NewDataCompositionField ("RingType"); SelectionItem.ComparisonType = LayoutComparisonTypeData.Equal; SelectionElement.RightValue = CallLogCallType.Missed; SelectionItem.Usage = Igaz; Hívásnapló -rekordok listája = Hívásnapló. Rekordok keresése (kiválasztás); // A CallLog rekordok listája rekordok gyűjteményét tartalmazza

Földrajzi helymeghatározás

Szinte bármelyik modern okostelefon feladata a földrajzi hely meghatározása. Ezt a funkciót a beépített 1C nyelvből használhatja. Az eszköz aktuális koordinátáinak megszerzése feltételesen két szakaszra osztható: földrajzi helyszolgáltató kiválasztása és a kapott koordináták feldolgozása:

// Legyen a szolgáltató választása az IdealProvider = Geo Positioning Tools platformhoz. Szerezd meg a legpontosabb Provider -t (); Koordináták = Pozicionálás eszközei.GetLastLocation (IdealProvider); // Ha a koordinátákat már régen megkapta, akkor frissítse az If Coordinates = Undefined OR CurrentDate () - Coordinates.Date> 3600 Majd Geolocation Tools.UpdateLocation (IdealProvider, 60); Koordináták = A pozicionálás eszközei.GetLastLocation (IdealProvider); EndIf;

Multimédiás funkciók használata

A fejlesztő képes a beépített nyelv használatával képeket, videókat és hangfelvételeket készíteni: Fotózni(), MakeVideo felvétel(), Hangfelvétel készítése().

Melyik mobil operációs rendszerhez jobb az 1C -n fejleszteni?

Annak ellenére, hogy szeretem Apple technológia, a legjobb, ha mobilalkalmazásokat hoz létre az Android 1C platform használatával. Ennek több oka is van, de a legfontosabb a támogatott funkciók. Sajnos iOS alatt sok szükséges dolog nem támogatott. Például, ha képtelen szoftver -előfizetést beállítani az SMS -üzenetekre, vagy nem tud együttműködni a hívásnaplóval, lehetetlenné teheti egyes ötletek megvalósítását. Az Android ebben a tekintetben barátságosabb. Ne felejtsük el maguknak az eszközöknek a költségeit. Nem minden vállalat lesz hajlandó az Apple mobileszközein töprengeni.

Befejezés helyett

Felület " 1C: Vállalat 8»A gyakorlatban bebizonyosodott, hogy készen áll arra, hogy egyszerű eszközzé váljon a vállalat fejlesztésében. Alkalmazások mobil platformokhoz. A cikkben tárgyalt példák ezt felesleges megerősítésnek tekintik. Egyáltalán nem szükséges erőforrásokat költeni natív eszközök elsajátítására, ha az alkalmazás funkcionalitása illeszkedik a mobil platform képességeihez, és a céget az 1C termékek uralják.

A közelmúltban az 1C Enterprise 8.3 mobilplatformot az 1C csak fizetett előfizetők között terjesztette. De nem is olyan régen az 1C cég felülvizsgálta politikáját ez a problémaés most a mobil platform elektronikus verzióját ingyenesen terjesztik együtt.

Mi az 1C 8.3 mobil platform?

Talán már tudja, hogy maga az 1C Enterprise 8.3 platform lehetővé teszi a mobil alkalmazások fejlesztését. Ugyanakkor egy mobil alkalmazás fejlesztése ugyanúgy történik, mint a "normál" konfiguráció fejlesztése. De hogyan futtatható egy ilyen módon kialakított konfiguráció okostelefonon vagy táblagépen? Ehhez szükségünk van egy 1C Enterprise 8.3 mobil platformra.

Mobil platform 1C Enterprise 8.3 olyan programkészlet, amely lehetővé teszi konfigurációk (alkalmazások) telepítését és futtatását futó okostelefonokon és táblagépeken Google android vagy Apple iOS.

Az 1C mobil platform legfontosabb előnye, hogy az alkalmazást (konfigurációt) egyszerre mindkét mobil operációs rendszerre fejlesztik, majd egyszerűen telepítik a mobileszközre. Így miután 1C -ben írtunk egy mobilalkalmazást, azonnal telepíthetjük azt a vállalat minden alkalmazottjára, függetlenül attól, hogy melyik operációs rendszeren (Android vagy iOS) fut a telefonja vagy táblagépe.

Fontos! A mobil alkalmazások fejlesztéséhez erősen javasoljuk az 1C platform verziójának használatát, amely nem alacsonyabb, mint 8.3.4.482. Az 1C Enterprise platform 8.3.4.482 oktató verziója szerepel az 1C mobil platform ezen terjesztésében. Megismerheti a platform oktatási verziójának korlátait

1C mobil platform: Az Enterprise eszköz- és technológiakészlet az iOS, Android, Windows Phone / 8.1 / 10 mobil operációs rendszerekhez tartozó alkalmazások gyors fejlesztéséhez, ugyanazon fejlesztői környezetek (Configurator vagy 1C: Entrprise Development Tools) és ugyanazon fejlesztés használatával "normál" 1C alkalmazásokhoz használt módszerek. Az eredmény önálló, offline alkalmazások, de képesek a külvilággal való információcserére a platform által biztosított integrációs eszközök széles skálájával: webes és HTTP-szolgáltatások, e-mail stb. Mivel a csereprotokollok platformfüggetlenek, az 1C mobil platform többek között egy eszköz arra, hogy gyorsan létrehozzunk egy mobil kezelőfelületet szinte minden szervermegoldáshoz.

Háttér

Az 1C: Enterprise 8.0 (és újabb verziók) napjaiban volt egy "Extension for Pocket Computers" nevű szoftver. A kiterjesztés csak Windows Mobile, Windows CE stb. Termékek létrehozását tette lehetővé. A termék saját konfigurátorral és szerverrel rendelkezett, és az 1C: Enterprise 8.3 verzió kiadásáig támogatott volt. A bővítmény legújabb verziója (8.2.9) 2013 októberében jelent meg, és a teljes támogatás 2015. január 1 -jén megszűnt.
A bővítmény korlátozottan használható volt még a Windows Mobile kommunikátorainak fénykorában is, és az ilyen eszközök távozása a mobilpiacról nyilvánvalóan nem növelte e szoftvertermék népszerűségét. Az IOS és az Android készülékek a mobil eszközök szinte teljes piacát elfoglalták, és nyilvánvalóvá vált, hogy ezen operációs rendszerek támogatása az egyik kulcsfontosságú pont a modern mobil világban működtetett rendszer számára. Az is nyilvánvalónak tűnt, hogy a meglévő 1C: Enterprise platform fő megközelítését mobileszközökön is alkalmazni kell: egy alkalmazott fejlesztőnek mindenekelőtt az alkalmazott problémák megoldására kell gondolnia, másodsorban pedig arra, hogy az operációs rendszer milyen képességeit használja a megoldáshoz. ezeket a problémákat .... Más szóval, szüksége van egy eszközre, amely elkülöníti az alkalmazásfejlesztőt az adott mobil operációs rendszer és fejlesztőeszköz sajátosságaitól.

Mobil platform

A kézi számítógépek bővítményének fejlesztésében és üzemeltetésében szerzett tapasztalatok alapján úgy döntöttek, hogy kifejlesztenek egy speciális rendszert, amely több követelménynek is megfelel:
  • támogatnia kell a modern népszerű mobil operációs rendszereket és az irányításuk alatt álló eszközöket. Először is, ezek az Apple iOS és a Google Android.
  • ennek a rendszernek lehetővé kell tennie a fejlesztett alkalmazások használatát a modern mobil eszközökön elfogadott stílusban. Az interfésznek különösen az érintőképernyőkkel történő kézi vezérlésre (a szó szó szerinti értelmében) kell támaszkodnia.
  • a rendszernek egységes programozási felületet kell biztosítania a különféle specifikus mechanizmusok megvalósításához, függetlenül a használt mobil operációs rendszertől.
  • a fejlesztőnek ugyanazt az eszközt és fejlesztési megközelítéseket kell használnia, mint a "rendes" számítógéphez való alkalmazások fejlesztésekor.
  • egy alkalmazásfejlesztőnek egy ismerős fejlesztői környezetben kell alkalmazási megoldást kifejlesztenie, lehetőleg ugyanazt a kódot használva az asztali és mobil rendszerekhez.
  • a mobileszközön futó alkalmazásmegoldás felületének hasonlónak kell lennie a különböző platformokhoz, és összességében egyértelműen felismerhetőnek kell lennie.
A fejlesztés eredménye az úgynevezett mobil platform volt, amely 2013. május 29-én jelent meg iOS és Android verzióban. Az 1C: Enterprise mobilplatform olyan eszközök és technológiák összessége, amelyek lehetővé teszik alkalmazások létrehozását iOS, Android, Windows Phone / 8.1 / 10 mobil operációs rendszerekhez ugyanazzal a fejlesztői környezettel (Configurator) és ugyanazokkal a fejlesztési módszerekkel, mint a hagyományos alkalmazások az 1C: Enterprise platformon. Az eredmény önálló, offline alkalmazások, de képesek a külvilággal való információcserére a platform által biztosított integrációs eszközök széles skálájával: webes és HTTP -szolgáltatások, e -mail stb.
A mobil platformot a közösség meglehetősen jól fogadta, különböző cikkek jelentek meg ebben a témában (például és). Annak érdekében, hogy kifejlesszünk egy teljesen működőképes alkalmazást, amely egyszerre működik a mobileszközök túlnyomó részén, most minimális időre és tudásra volt szükség, ami alapvetően nem különbözött az 1C: Enterprise platform „rendes” alkalmazásfejlesztőjének tudásától. . Kétségtelen, hogy az ilyen alacsony belépési küszöb vonzza a fejlesztőket, akiknek alapvető funkciókat kell biztosítaniuk a terepi dolgozók, főnökök és más mobil alkalmazottak számára, akiknek együtt kell dolgozniuk a vállalati rendszerrel.
Könnyű elkezdeni egy mobilalkalmazás fejlesztését az 1C: Enterprise platformon. A Konfigurátorban állítsa a "Használat célja" tulajdonságot a "Mobileszköz" értékre a konfigurációban. Ebben az esetben az alkalmazáskonfigurációs objektumok egy része elérhetetlenné válik (a jellemző típusok diagramjai, a fiókok diagramjai stb.), De a mobilalkalmazásokra jellemző tulajdonságok (például a beépített multimédia és a mobil eszköz földrajzi elhelyezkedése stb.). ) elérhetővé válik.


Ugyanakkor a fő alkalmazásalgoritmusokat (amelyek nem kapcsolódnak közvetlenül a mobil specifikációkhoz) közvetlenül a fejlesztő számítógépén található Configurator programban hibakeresheti. Ugyanakkor ajánlott a kódrészeket, amelyekben a "mobil" funkciót meghívják, megfelelő keretekkel keretezni az előfeldolgozónak, hogy elkerüljék a hibákat a kód személyi számítógépen történő végrehajtásakor:
#If MobileApplicationClient then Data = GeolocationServer.GetProviderName (); # EndIf
A mobil platform 8.3.7 verziójától kezdve elérhetővé vált az alkalmazás hibakeresése közvetlenül a mobileszközön (erről bővebben alább).

A mobil platformon történő fejlesztés különböző megközelítéseket követhet, de néhány kulcsfontosságú pontot ki lehet emelni. A tényleges mobilalkalmazás felépítése, funkcionális gazdagsága és a vállalat informatikai infrastruktúrájában betöltött szerepe szempontjából:

  • egy mobil alkalmazás szerves és szerves része lehet egy meglévő vállalati információs rendszernek. A mobilalkalmazás a meglévő információs rendszer képességeihez igazított felületet és egyéb képességeket biztosít (beleértve az adatcserét is). Ebben az esetben a mobilalkalmazás nagyon szorosan össze van kötve a "szokásos" információs rendszerrel, és nem lehet attól elkülönítve működtetni.
  • a mobilalkalmazás speciális feladatokat lát el, amelyek gyakorlatilag nem kapcsolódnak a vállalati információs rendszerhez. A mobilalkalmazás és az információs rendszer között csak minimális adatcsere történik. Ebben az esetben nagy valószínűséggel a mobilalkalmazás valamilyen szabványosított protokoll szerint hajtja végre a cserét, ami lehetővé teszi ennek a mobilalkalmazásnak a használatát egészen más esetekben és helyzetekben.
A fent leírt két helyzet extrém opciónak tekinthető. De nem csak ezek a fejlesztési lehetőségek. Egy alkalmazásfejlesztő önállóan választhatja az integrációs lehetőségeket a mobilalkalmazás és az információs rendszer között, amely háttérként működik.
A mobilalkalmazást teljesen önálló konfigurációként fejlesztették ki, de megoszthatja a forráskód egy részét a "szülő" konfigurációval. Egyébként előfordulhat, hogy a "szülő" konfiguráció fizikailag nem létezik (például ha valamilyen univerzális alkalmazást fejleszt, amely univerzális protokoll használatával képes különböző rendszerekkel együttműködni).

Mobil platform eszköz

Mi az a mobil platform és mire jó?
Az igazat megvallva, a mobilplatform csak egy része az egész komplexumnak, ennek köszönhetően az 1C: Enterprise 8 mobil eszközökön is működik. Tehát egy alkalmazott fejlesztő a következő összetevőkkel működik:
  1. A mobil platform maga az 1C: Enterprise keretrendszer mobil része. Ez lehet rendszeres (amelyet egy alkalmazás létrehozásakor használnak az alkalmazásboltban való közzétételhez) és mobil fejlesztői platform, amelyet (meglepetés) használnak egy mobil alkalmazás fejlesztése során.
  2. A mobilkonfiguráció az 1C: Enterprise szoftverrendszer konfigurációja, amely XML fájl formájában van írva.
  3. A mobil platform és a mobil konfiguráció kombinációja egy mobil alkalmazást eredményez.
  4. A mobilalkalmazás-gyűjtő egy speciális alkalmazásmegoldás, amely egy mobil platformot, konfigurációt, nyitóképernyőket, ikonokat és egyéb összetevőket kész mobilalkalmazás-fájlgá alakíthat, amely letölthető az Apple AppStore, a Google Play, a Windows Phone Apps / Windows Apps webhelyekre .
Miért olyan nehéz minden? Miért nem lehet megtenni mobileszközön pontosan úgy, mint egy nagy platformon? Azok. telepítsen egy mobil platformot az eszközre, és töltsön be tetszőleges számú konfigurációt / alkalmazást? Ezt tiltják az alkalmazások tárolásán keresztül terjesztett alkalmazások engedélyezési korlátozásai. Például, ha az alkalmazás letölt egy végrehajtható kódot (szkript formájában) az interneten keresztül, akkor soha nem jelenik meg az Apple App Store -ban. Meg kell azonban érteni, hogy a fejlesztői mobilplatformon található bármely konfiguráció letöltésének lehetősége nem célja a mobilalkalmazások terjesztésének még ugyanazon a vállalaton belül, nemhogy a fejlesztői ügyfeleknek való terjesztésről.
Miután a mobilalkalmazás a célmobil eszközön van, szükségessé válik valamilyen adatbázis használata (az adatokat valahol tárolni kell). Adatbázis -motorként a mobilplatform saját adatbázis -motorját használja, amelyet a PC -platformról portálnak a mobil platformra. Kompakt és elég gyors, de a lényeg az, hogy pontosan ugyanazt a viselkedést biztosítja, mint amit az alkalmazásfejlesztők megszoktak, amikor személyi számítógépek platformján dolgoznak.
Érdemes megjegyezni azt is, hogy a belső mobilalkalmazás ugyanazon séma szerint épül fel, mint egy hagyományos, fájl alapú infobázissal rendelkező platform munkája: van ügyfélrész, van szerverrész, van adatbázis, és kliens-szerver interakció van.
Maga a mobil platform natív alkalmazásként van írva, bináris kódba állítva össze a mobil világban jelenleg használt fő processzor architektúrákhoz: ezek az ARM v5 és újabb, valamint az x86 architektúrák.
Ezenkívül speciális engedélyekre lehet szükség a mobil eszközök bizonyos lehetőségeivel való kapcsolattartáshoz (telefonálás, GPS, beépített kamerával végzett munka stb.). Az iOS esetében ezek közvetlenül az alkalmazás működése során kerülnek beállításra, Android esetén pedig az engedélyek az alkalmazás létrehozásakor vannak megadva. A szükséges engedélyeket egy mobilalkalmazás fejlesztésekor határozzák meg, és ezeket a mobilalkalmazás -készítő használja, de az építőről később.

Egy kicsit a fejlesztői platformról

Miközben mobilalkalmazást fejlesztünk, nem vagyunk kötve az alkalmazásboltokban terjesztett mobilalkalmazásokra vonatkozó licenckorlátozásokhoz. Ez azt jelenti, hogy az 1C mobilplatformot ugyanúgy használhatjuk, mint a személyi számítógép "nagy" platformját - telepítse magát a mobilplatformot egy okostelefonra / táblagépre, és töltse be a mobilalkalmazások konfigurációit. Az indítás után a platform megmutatja a benne regisztrált alkalmazások listáját:

Ha új alkalmazást szeretne hozzáadni a platformhoz, el kell helyeznie egy XML -fájlt a leírásával egy olyan erőforrásba, amely a HTTP -protokollon keresztül elérhető mobileszközről. Ennek legkényelmesebb módja a Configurator, a "Configuration \ Mobile application \ Publish" menü. Ebben az esetben az alkalmazáskonfigurációval rendelkező XML -fájl a fejlesztő számítógépének webszerverére kerül (ennek megfelelően ennek a számítógépnek webszerverrel kell rendelkeznie - IIS vagy Apache).

Ha az "Újraindítás a konfigurátorból" opció meg van adva az alkalmazáshoz, a mobileszközön lévő alkalmazás automatikusan frissül a fejlesztő számítógépéről minden alkalommal, amikor a fejlesztő frissíti a webszerveren található XML konfigurációs fájlt.
Ha a "Hibakeresés engedélyezve" opció engedélyezve van, az alkalmazás lépésről lépésre történő hibakeresése a mobileszközön a fejlesztő számítógépén található konfigurátorból lehetséges (a konfigurátorban a "Hibakeresés HTTP-n keresztül" lehetőség a "Szolgáltatás \ Options "menüpontot kell kiválasztani). Ha töréspontokat helyez be a kódba a Configurator programban, és kiválasztja a "Mobilalkalmazás - hibakeresés indítása" parancsot, az eszköz mobilalkalmazása leáll, amikor a végrehajtható kód eléri a töréspontot, és a Configurator programban megtekintheti a változók, hívásköteg stb.

Mit tehet?

Tehát mire képes a mobil platform? Elég:)
Ha nem használja az "1C: Enterprise" kifejezéseket, akkor a mobil platform lehetőséget biztosít a szabályozási és referenciaadatok kezelésére, dokumentumok készítésére, amelyek leírnak néhány külső tevékenységet, jelentések megtekintésére, kommunikációra a külvilággal internetszolgáltatások használatával és sok más több. Azok. lehetőséget biztosít egy alkalmazásfejlesztőnek egy kellően funkcionális alkalmazás megírására, például egy lakásfinanszírozási számviteli programot, egy kereskedelemlátogató programot és hasonlókat.
De a személyi számítógép platformján szokásos funkciókon kívül a mobil platformnak olyan speciális képességekkel kell rendelkeznie, amelyek csak a mobileszközökre jellemzőek:
  • munka a hívásokkal és a hívásnaplóval;
  • rövid üzenetekkel (SMS) és azok listájával való munka;
  • kapcsolatok;
  • naptárak;
  • földrajzi helymeghatározás (útválasztás nélkül);
  • lehetővé teszi fényképek készítését, valamint video- és hangfelvétel készítését;
  • reagáljon a képernyő tájolásának változására;
  • dolgozzon az értesítésekkel (helyi és PUSH, közvetlenül és egy speciális közvetítő szolgáltatáson keresztül);
  • kamerával olvassa be a vonalkódokat és a QR -kódokat
  • Mobilalkalmazásokból származó bevételszerzés (azaz egy lehetőség arra, hogy a mobilalkalmazás -fejlesztőknek további bevételt biztosítsanak):
    • Dolgozzon az Apple alkalmazáson belüli vásárlással (iOS operációs rendszer esetén) és a Google Play alkalmazáson belüli számlázással (Android operációs rendszer esetén), amelyekkel különböző típusú előfizetéseket, funkcióvásárlásokat stb. Szervezhet a mobilalkalmazásban
    • Hirdetések megjelenítése mobilalkalmazásokban (az iAd iOS -hez és az AdMob for Android továbbra is támogatott).
  • stb.
Nyilvánvaló, hogy egyes funkciók nem minden eszközön érhetők el, ezért annak meghatározásához, hogy mit lehet tenni azon az eszközön, amelyen a mobilalkalmazás fut, speciális módszerek állnak rendelkezésre, amelyek lehetővé teszik, hogy megtudja, mi áll rendelkezésre ezen az eszközön például a számok tárcsázásának képessége vagy sem. Így megközelítőleg a következő használati séma valósul meg: ellenőrizzük, hogy lehet -e valamilyen lehetőséget használni, vagy sem, és ha lehetséges, használjuk:
Ha a telefonálás eszközei. EndIf;
Fontos feladat számunkra, hogy elrejtsük a használt mobil operációs rendszer részleteit az alkalmazásfejlesztő elől, hogy egységes mechanizmusokat biztosítsunk számára a mobil funkciók használatához. Hisszük, hogy sikeresen megoldjuk a problémát. A megvalósított mechanizmusok közötti különbségek vagy hiányoznak, vagy minimálisra csökkennek. Kivéve persze, ha az egyik operációs rendszerben egyáltalán nincs funkció.
Például a PUSH értesítésekkel való munka technikája nagyon eltérő a Google és az Apple esetében. Sok erőfeszítést tettünk annak érdekében, hogy egységesítsük a PUSH értesítésekkel való munka mechanizmusát az alkalmazáskódból. Egy mobilalkalmazás esetében majdnem 100%-ban sikerült: ugyanaz az alkalmazáskód mobileszközön kezeli a PUSH -értesítések fogadását iOS -en és Androidon is. És a PUSH értesítések küldésének kódja a szerver alkalmazásban is ugyanúgy néz ki. De az ilyen egyesítés eléréséhez egy speciális proxy szervert kellett kifejlesztenünk https://pushnotifications.1c.com/, amely elrejti a fejlesztő elől az Apple Push Notification Service (APNS) és a Google Cloud Messaging (GCM) használatának különböző technikáit. A teljes különbség a különböző beállításokban rejlik közvetlenül a proxy webhelyen https://pushnotifications.1c.com/; az APNS -sel való együttműködéshez fel kell töltenie egy SSL -tanúsítványt a webhelyre (amelyet az Apple a fejlesztő kérésére ad ki az alkalmazás számára), a GCM használatához meg kell adnia az alkalmazás egyedi azonosítóját.
Nyilvánvaló, hogy lehetetlen azonnal megvalósítani az összes olyan funkciót, amelyet szeretne egy mobilalkalmazásban. És mindig meg kell találni a kompromisszumot számos nagyon hasznos dolog között. És ha valami hiányzik - írjon nekünk arról, hogy milyen üzleti feladatokat (elvégre a platform elsősorban az üzleti feladatok végrehajtásának eszköze!) Nem tudja megoldani, és milyen mechanizmus segítene ebben.

Hogy néz ki?

A mobil platform grafikus felülete külön téma. Az 1C: Enterprise -ban, mint tudod, az interfész deklaratív módon van leírva. Ez egyrészt korlátozza a felhasználói felület fejlesztését (például nincs lehetőség pixelenkénti pozicionálásra), másrészt lehetővé teszi a platform számára, hogy egységesen megjelenítse a felületet a képernyőkön különböző méretű, a vékony és webes kliensben. Igyekeztünk ugyanazt az elvet betartani a mobil platformon is. Milyen jól csináltuk? Próbáljuk meg kitalálni.
A mobil platform első verzióiban (legfeljebb 8.3.5) az alkalmazások grafikus kezelőfelülete nagyon ismerősnek tűnt a kifinomult 1C felhasználók számára; valójában az 1C "asztali" verzióiból ismerős felületet helyezte át a mobilvilágba. De azoknak a felhasználóknak a szemszögéből, akik korábban nem ismerték az 1C -t, a felület kissé archaikusnak tűnt.
Figyelembe véve a megjegyzéseket és javaslatokat, gyökeresen felülvizsgáltuk a mobilfelületre vonatkozó megközelítésünket a 8.3.6 verzióban. Elmondhatjuk, hogy teljesen új mobil felületet készítettünk alkalmazásainkhoz. Sok közös vonása van a Taxi felületünkkel. A mobil alkalmazások fejlesztőinek fejlesztési modellje megfelel a Taxi fejlesztési modelljének. Ugyanakkor a mobil interfész teljes mértékben megfelel a tervezési és a mobil alkalmazásokban elfogadott megközelítéseknek. Az interfész teljes mértékben figyelembe veszi a mobilvilág sajátosságait: kis képernyőméret (ami azt jelenti, hogy a grafikus elemek kialakításának aszkétabbá kell válnia - árnyékok, színátmenetek nélkül), támogatják az ujjmozdulatokat stb. Érdekes tény: az új platformmechanizmus, amely felelős az elemek űrlapba helyezéséért (elrendezés), annyira sikeresnek és időszerűnek bizonyult a mobil platform számára, hogy korábban (8.3.6 -os verzióban) megjelent, mint a PC -platformon (verzióban) 8.3.7), amelyre elsősorban szánták.
A képen láthatja, hogyan változott a felületünk.
"Egy kis cég menedzsmentje" alkalmazás a mobil platform 8.3.5 verzióján:


Ugyanez a 8.3.6 verzióban:

És így néz ki a mobil platform élő kezelőfelülete:

Gyűjtő - és miféle vadállat ez?

Amint azt korábban említettük, a mobilalkalmazás több összetevőből áll (a tényleges mobilplatform, konfiguráció, különböző erőforrások), amelyeknek egyetlen egésznek kell lenniük az alkalmazás tárolásához. Annak érdekében, hogy könnyebb legyen az alkatrészek alkalmazássá alakítása, kifejlesztettek egy mobilalkalmazás -készítőt. Ez az 1C: Enterprise platformon létrehozott konfiguráció (alkalmazás), amely adatbázisában tárolja a mobil alkalmazás létrehozásához szükséges összes összetevőt. Ahhoz, hogy a gyűjtő elvégezze a feladatát, le kell töltenie és telepítenie kell a munkához szükséges különféle szoftvercsomagokat (Java és Android SDK, stb.), Majd a gyűjtő beállításaiban meg kell adnia ezekhez a csomagokhoz vezető útvonalakat, és további paramétereket (fejlesztői kulcsok stb.).


A konfigurálás után a kollektor használatra kész. Általában a gyűjtővel való munka így néz ki:
  1. Töltse le az 1C mobil platform verzióját, amelyre felépítjük az alkalmazást
  2. Betöltjük azt a konfigurációt, amelyből felépítjük a mobilalkalmazást
  3. Létrehozunk egy mobilalkalmazást, amelyben megjelöljük, hogy mely platformokra (Android, iOS, Windows) kell elvégezni az összeszerelést, milyen konfigurációt és platformot kell használni (különösen, ha az alkalmazás működik, jelölje meg, hogy melyik szerelési tanúsítványt kell használni az iOS -hez. PUSH) értesítésekkel).
  4. A mobilalkalmazás "egy kattintásos" összeszerelését elvégezzük az összes kiválasztott platformon
  5. "Egy másik kattintással" elküldjük az összegyűjtött mobilalkalmazásokat az alkalmazásboltokba (ha ez iOS vagy Android alkalmazás). A Windows Apps / Windows Phone Apps áruházakban az alkalmazást manuálisan kell letölteni, mert A Microsoft még nem biztosít API -t egy alkalmazás elhelyezéséhez az üzletben.
Külön meg kell jegyezni, hogy a gyűjtő nem szükséges egy mobil alkalmazás fejlesztéséhez és hibakereséséhez. Ehhez a mobil fejlesztői platformot és a Configurator eszközöket használva vigye át a konfigurációt a mobileszközre. A mobilalkalmazás terjesztéséhez azonban gyűjtőre van szükség.

Alkalmazások a mobil platformon

Az 1C cég maga számos olyan alkalmazást bocsát ki egy mobil platformon, amelyek az 1C szerveralkalmazások mobil ügyfelei (1C: Dokumentumkezelés, 1C: Kisvállalati menedzsment stb.). Ezek az alkalmazások megvalósítják a "rendszeres" ügyfelek funkcionalitásának egy részhalmazát. Az "1C: Egy kisvállalat kezelése" mobil verziója esetén a funkcionalitás elegendő a program teljes használatához, és gyakran láttunk olyan helyzetet, amikor az alkalmazás mobil verziója elegendő az ügyfelek üzleti tevékenységéhez .
Partnereink a mobilplatformot mind tömegesen gyártott mobilalkalmazások fejlesztésére használják az alkalmazásboltokban, mind egyedi alkalmazásokra, amelyeket meghatározott ügyfelek kérésére hoztak létre. A keringő alkalmazások között vannak olyan alkalmazások, amelyek nem 1C háttértárat használnak központi adattárolóként.
Az ügyfelek megrendelése alapján létrehozott mobilalkalmazások közül megemlíthetünk egy mobil klienst az "1C: Manufacturing Enterprise Management" számára, amelyet egy nagy gépgyártó gazdaság megrendelése hozott létre. A gazdaság mintegy száz alkalmazottja mobil alkalmazást használ a forró üzletekben, ahol biztonsági okokból lehetetlen helyhez kötött számítógépeket szállítani. A mobilkészülék beépített kamerája a termék vonalkódjainak olvasására és a nómenklatúra referenciakönyvben való keresésére szolgál, a mobilalkalmazás lehetővé teszi, hogy megértse az adott termék technológiai láncának melyik szakaszát, és jelölje meg a a termék következő művelete stb.

Következtetés

Megpróbáltuk nagyon felületesen leírni a mobil platformot, mit tesz lehetővé, és miért alakult úgy, ahogy. Ez a cikk szinte semmit nem mond a mobil Windows -ról. Ennek több oka is van: először is, a Windows platformra készült mobil platform verziója viszonylag nemrég jelent meg ("1C: Enterprise" 8.3.7. Verzió), másrészt a mobil platform ezen verziója nem különbözik jelentősen a implementáció más mobil operációs rendszerekhez ... Természetesen növeljük a Windows operációs rendszer funkcionalitását. Valamint a mobil platform egészének funkcionalitásának növelése. Tehát a közeljövőben rendelkezünk - a mobil platform külső összetevőinek támogatásával; ez a mechanizmus (régóta elérhető a "nagy" platformon) lehetővé teszi a fejlesztők számára, hogy olyan funkciókat valósítsanak meg, amelyek semmilyen okból nem állnak rendelkezésre a mobil platformon.
Hagyományosan az 1C: Enterprise technológiai platform erősségei a fejlesztő egyszerű fejlesztése, valamint az üzleti alkalmazások létrehozásának és módosításának gyorsasága. Az 1C mobilplatform mindkét ütőkártyát elhozta a mobilvilágba. Az 1C mobilplatform lehetőséget kínál egy olyan alkalmazás gyors fejlesztésére, amely a három legnépszerűbb mobilplatformon (iOS, Android, Windows Phone / 8.1 / 10) működik. Az elérhető platformfüggetlen integrációs eszközök (webes és HTTP-szolgáltatások stb.) Széles választékának köszönhetően az 1C mobilplatform lehetővé teszi, hogy gyorsan hozzon létre egy mobil klienst három mobil platformhoz szinte minden olyan kiszolgálóalkalmazáshoz, amely támogatja a az 1C platformon elérhető integrációs módszerek (webes és HTTP -szolgáltatások, fájlcsere stb.).

A felmérésben csak regisztrált felhasználók vehetnek részt. , kérem.