Mobilā lietojumprogramma 1c Android ierīcēm. Automatizācijas padomi

Šī gada 28. septembrī 1C izlaida 8.3.2.163 platformas izmēģinājuma versiju, kas bija paredzēta testēšanai, bez liela trokšņa un patosa. Interesenti var izlasīt pilnu izmaiņu un uzlabojumu sarakstu vai, ja ir abonements, .
No šiem uzlabojumiem man šķiet, ka “Mobilā platforma 1C: Enterprise 8” ir diezgan “garšīga”, kas ļauj izveidot aplikāciju Android vai iOS mobilajām operētājsistēmām, izmantojot parastos 1C rīkus.

Mobilā platforma, kā raksta paši izstrādātāji, "Šis ir vispārīgs nosaukums tehnoloģijai, kas ļauj izveidot lietojumprogrammas, kas darbojas mobilajās ierīcēs, kurās darbojas Android vai iOS operētājsistēmas."
“Ierīcē instalētā mobilā aplikācija ir mobilās platformas un informācijas bāze.».

Tas ir, vienkārši sakot, varat apkopot savu rakstīto konfigurāciju Android (.apk) vai iOS (.zip) lietojumprogrammā. Tad visu šo labo var izlikt Google Play vai AppStore. Tiesa, ja programmu Android var parakstīt ar tur izveidoto atslēgu uzreiz 1C, un tā uzreiz būs gatava publicēšanai, tad, lai publicētu aplikāciju AppStore, tā vispirms būs jāsamontē, izmantojot Xcode programmu. datorā ar operētājsistēmu. Mac sistēma OS X. Un, protams, publicēšanai jebkurā no šiem veikaliem ir nepieciešama izstrādātāja licence.
Viss izklausās labi, un es, protams, vēlējos izmēģināt jaunas funkcijas darbībā.

Radīšana mobilā aplikācija uz 1C

Šim nolūkam mums ir nepieciešams jauna versija platforma (), uzņemtais fails, android SDK un JDK.
Tūlīt brīdināšu: tagad es neuzlieku sev uzdevumu parādīt kaut kā konkrēta izstrādes procesu uz 1C, bet es tikai gribu pārbaudīt un parādīt, ka - jā, pasaule ir kļuvusi traka un jūs patiešām varat uzrakstiet programmu Android operētājsistēmā 1C.
Nu, mēģināsim uzrakstīt sava veida "helloWorld" Googlephone. Taisīsim programmu testa nolūkiem - konfigurāciju ar vienu kopīgu formu, kuru liksim uz "darbvirsmas".
Tātad, mēs izveidojam jaunu konfigurāciju kontrolētais režīms, un pirmais, kas mums jādara, ja rakstām mobilajai platformai, ir pašas konfigurācijas rekvizītos jānorāda "Lietošanas galamērķis".

Un šeit mēs uzreiz pamanām, ka daudzi konfigurācijas objekti ir kļuvuši nepieejami lietošanai. Mēs vairs nevarēsim izmantot apakšsistēmas, ieplānotos uzdevumus, XDTO pakotnes, tīmekļa pakalpojumus, atskaites, biznesa procesus un daudz ko citu. Tāpat nav pieejamas daudzas procedūras un metodes dažiem objektiem. Tas jāņem vērā izstrādes laikā.
Mēs izveidojam "veidlapu", izveidojam stīgu butaforiju ar nosaukumu: "Sveiks, Habr!" - un iemet to uz formas. Mēs arī izveidosim pogu. Apstrādājot presēšanu, mēs rakstīsim, piemēram, ziņojuma izvadi.

&AtClient procedure Command1(Command) Warning("Tas darbojas!"); Beigās Procedūra

Lai pārbaudītu veiktspēju, mums ar to pietiek, tāpēc mēs pārejam pie interesantākā. Mēs saglabājam konfigurāciju mobilās lietojumprogrammas failā (Konfigurācija->Mobilā lietojumprogramma-> Rakstīt failā), palaižam pārvaldītajā režīmā un sākam apstrādi MobileAppWizard.epf. Šis fails atrodas mobile.zip arhīvā, kuru mēs lejupielādējām pašā sākumā.
Un tagad mums tiek piedāvāts aizpildīt primāros iestatījumus, kur visi nepieciešamie lauki ir pasvītroti ar sarkanu krāsu.

Mobilās platformas atrašanās vieta - direktorijs, kurā atrodas android.zip un ios.zip faili, kas nepieciešami mobilās aplikācijas piegādes ģenerēšanai. Tie visi atrodas vienā mobile.zip arhīvā.
Norādiet mapi, kurā instalējām Android SDK(varat lejupielādēt). 1C nosaka šādas prasības:
Android SDK Tools versija - vismaz 20.0.3;
Android SDK platformas rīku versija - vismaz 14;
SDK platformas versija — API 8 (ne zemāka par versiju 8.3).
Un mums ir nepieciešams arī Java SDK (var iegūt šajā adresē) Turklāt 1C mūs brīdina, ka JDK7 nedarbojas ar Android SDK.
Mēs norādām mapes, kurās tiks ievietots mūsu .apk fails, paraksta atslēgas atrašanās vieta un aizstājvārds ar paroli. Ja to darāt pirmo reizi un jums nav atslēgas, varat aizpildīt “atslēgas parametrus” un ģenerēt sev atslēgu (šajā gadījumā laukā “atslēgas fails” jānorāda mape, kurā tiks izveidota šī atslēga).
Noklikšķiniet uz "OK" un dodieties uz otro logu.

Tajā, pirmkārt, mēs norādām "Mobilās lietojumprogrammas konfigurāciju" - to pašu failu, kuru saglabājām. Pēc tam valoda, un tikai tad mēs noklikšķinām uz pogas ar “lupu” un ievadām tur attēlojumu. Norādiet "Application ID" - unikālo Java klases nosaukumu, kas vēlāk tiks izmantots atjaunināšanas veikšanai. Identifikators jāraksta latīņu valodā, un 1C iesaka tā nosaukumu sākt ar "com.e1c". Ievadiet versijas un būvējuma numuru un noklikšķiniet uz pogas "Izveidot". Ja viss noritēs labi, sistēma jums paziņos par veiksmīgu .apk faila izveidi.
Mēs augšupielādējam iegūto failu tālrunī un instalējam to ar mūsu iecienītāko pārvaldnieku, iepriekš atļāvot instalēšanu sistēmas iestatījumos trešo pušu lietojumprogrammas. Vai arī instalējiet programmu emulatorā, izmantojot adb. Teikšu uzreiz: uz emulatora viss ir šausmīgi lēni, bet telefonā (tikai pārbaudīju HTC Wildfire S) lietas ir daudz labākas, bet joprojām ir problēmas. Piemēram, izrādījās, ka mans fails sver pat 34 Mb, tāpēc instalēšana aizņēma ilgu laiku. Pēc palaišanas mūs sagaida uzplaiksnījuma ekrāns, un pēc kāda laika sākas pati konfigurācija. (atvainojos par fotogrāfiju: ņēmu ar kalkulatoru)

Līdz šim jaunās funkcijas izskatās ļoti “neapstrādātas”: ierobežota 1C funkcionalitāte, nespēja tieši izmantot SDK, kā arī liels izmērs un dažas “bremzes” ... Bet pati iespēja uzrakstīt programmu mobilajai platformai 1C ir nedaudz pārsteidzošs! Personīgi man par to ir divas domas. No vienas puses, šī "funkcija" tomēr vairāk līdzinās rotaļlietai, jo nav iespējas izdarīt kaut ko patiešām vērtīgu. Bet, no otras puses, tas nepārprotami ir liels solis 1C ceļā uz mobilitāti, un ja šis virziens tiks aktīvi attīstīts, tas var dot daudz priekšrocību. Piemēram, jūs varat aprīkot noliktavas darbiniekus ar planšetdatoriem. Ja ir iespēja izmantot "on-borta" kameras, tad varat atbrīvoties no lasīšanas ierīcēm un skenēt kodus tieši no planšetdatora, varat tos piegādāt automašīnu vadītājiem un nosūtīt uzdevumus transportēšanai vai izsekot maršrutu automašīna un laiks kustībā. Kopumā ir daudz iespēju, un tas, ka tas viss būs vienā informācijas sistēmā, ļoti iepriecinās klientus / vadītājus, jo viņiem nez kāpēc vienmēr ir paniskas bailes izmantot liels skaits dažādas sistēmas, viņi vēlas izmantot visu funkcionalitāti vienā platformā.

1C:Enterprise mobilā platforma ir rīku un tehnoloģiju kopums ātrai lietojumprogrammu attīstībai mobilajām operētājsistēmām iOS, Android, Windows tālrunis/ 8.1 / 10, izmantojot tās pašas izstrādes vides (Configurator vai 1C:Entrprise Development Tools) un tās pašas izstrādes metodes, kas tiek izmantotas "parastajām" 1C lietojumprogrammām. Rezultāts ir autonomas, bezsaistes aplikācijas, bet ar iespēju apmainīties ar informāciju ar ārpasauli, izmantojot plašu platformas nodrošināto integrācijas rīku klāstu: Web un HTTP servisus, e-pastu u.c. Tā kā apmaiņas protokoli ir neatkarīgi no platformas, 1C mobilā platforma, cita starpā, ir līdzeklis ātra radīšana mobilā saskarne gandrīz jebkuram servera risinājumam.

fons

1C:Enterprise versijas 8.0 (un turpmāko versiju) laikos bija programmatūras produkts "Paplašinājums kabatas datori". Paplašinājums ļāva jums izveidot produktus tikai operētājsistēmai Windows Mobile, Windows CE utt. Produktam bija savs konfigurators un serveris, un tas tika atbalstīts līdz 1C:Enterprise versijas 8.3 izlaišanai. jaunākā versija Paplašinājums (8.2.9) tika izlaists 2013. gada oktobrī, un pilns atbalsts beidzās 2015. gada 1. janvārī.
Paplašinājums bija ierobežots lietojums pat Windows Mobile komunikatoru ziedu laikos, un šādu ierīču aiziešana no mobilo sakaru tirgus acīmredzami nepalielināja popularitāti. programmatūras produkts. iOS un Android ierīces ir aizņēmušas gandrīz visu mobilo ierīču tirgu, un ir kļuvis skaidrs, ka atbalsts šīm operētājsistēmām ir viens no galvenajiem punktiem sistēmai, kas jādarbina mūsdienu mobilajā pasaulē. Likās arī pašsaprotami, ka esošās 1C:Enterprise platformas galvenā pieeja būtu jāizmanto arī mobilajās ierīcēs: lietišķajam izstrādātājam, pirmkārt, jādomā par lietišķo problēmu risināšanu, otrkārt, par to, kādas OS funkcijas viņš izmanto šo problēmu risināšanai. problēmas. Citiem vārdiem sakot, jums ir nepieciešams rīks, kas izolē lietojumprogrammu izstrādātāju no konkrētas mobilās OS un izstrādes rīka specifikas.

Mobilā platforma

Pamatojoties uz kabatas datoru paplašinājuma izstrādes un darbības pieredzi, tika nolemts izstrādāt specializētu sistēmu, kas atbilstu vairākām prasībām:
  • tam vajadzētu atbalstīt mūsdienu populāros mobilos tālruņus Operētājsistēmas un viņu kontrolē esošās ierīces. Pirmkārt, tie ir Apple iOS un Google Android.
  • šai sistēmai būtu jāļauj izmantot izstrādātās lietojumprogrammas tādā stilā, kāds pieņemts mūsdienu mobilajās ierīcēs. Jo īpaši saskarnei ir jābalstās uz manuāla vadība(vārda tiešajā nozīmē), izmantojot skārienekrānus.
  • sistēmai ir jānodrošina vienots programmēšanas interfeiss dažādu specifisku mehānismu ieviešanai neatkarīgi no izmantotās mobilās OS.
  • izstrādātājam ir jāizmanto tas pats rīks un tās pašas izstrādes pieejas, kādas ir, izstrādājot lietojumprogrammas "parastam" datoram.
  • lietojumprogrammu izstrādātājam ir jāizstrādā aplikācijas risinājums pazīstamā izstrādes vidē, izmantojot vienu un to pašu kodu galddatoriem un mobilajām ierīcēm, kad vien iespējams.
  • lietotā risinājuma saskarnei, kas darbojas mobilajā ierīcē, jābūt līdzīgai dažādām platformām un kopumā nepārprotami atpazīstamai.
Izstrādes rezultāts bija tā sauktā mobilā platforma, kas tika izlaista 2013. gada 29. maijā iOS un Android versijās. 1C:Enterprise mobilā platforma ir rīku un tehnoloģiju kopums, kas ļauj izveidot lietojumprogrammas iOS, Android, Windows Phone / 8.1 / 10 mobilajām operētājsistēmām, izmantojot to pašu izstrādes vidi (Configurator) un tās pašas izstrādes metodes kā parastajām lietojumprogrammām. platformā 1C:Enterprise. Rezultāts ir autonomas, bezsaistes lietojumprogrammas, bet ar iespēju apmainīties ar informāciju ar ārpasauli, izmantojot plašu platformas nodrošināto integrācijas rīku klāstu: Web un HTTP pakalpojumus, E-pasts utt.
Mobilo platformu sabiedrība uzņēma labi, sāka parādīties dažādi raksti par šo tēmu (piemēram, un). Lai izstrādātu pilnvērtīgu lietojumprogrammu, kas vienlaikus darbojas lielākajā daļā mobilo ierīču, tagad tas prasīja minimālu laiku un zināšanas, kas būtiski neatšķiras no “parastā” aplikāciju izstrādātāja zināšanām platformā 1C:Enterprise. Protams, tik zems ienākšanas slieksnis piesaista izstrādātājus, kuriem ir jānodrošina kāda pamata funkcionalitāte darbiniekiem, kuri strādā uz ceļa, priekšniekiem un citiem mobilajiem darbiniekiem, kuriem jāstrādā ar korporatīvo sistēmu.
Mobilās lietojumprogrammas izstrādi platformā 1C:Enterprise ir viegli sākt. Programmā Konfigurators konfigurācijas rekvizītam "Lietošanas mērķis" ir jāiestata vērtība "Mobilā ierīce". Šajā gadījumā daži aplikāciju konfigurācijas objekti kļūs nepieejami (raksturojuma veidu plāni, kontu diagrammas u.c.), bet mobilajām lietojumprogrammām raksturīgie rekvizīti kļūs pieejami (piemēram, iebūvētie multivides un ģeopozicionēšanas rīki). mobila ierīce utt.).


Tajā pašā laikā jūs varat atkļūdot galvenos lietojumprogrammu algoritmus (kas nav tieši saistīti ar mobilo ierīču specifiku) tieši izstrādātāja datora konfiguratorā. Tajā pašā laikā ieteicams ierāmēt koda sadaļas, kurās tiek izsaukta "mobilā" funkcionalitāte, ar atbilstošiem norādījumiem priekšapstrādātājam, lai izvairītos no kļūdām, izpildot kodu personālajā datorā:
#If MobileApplicationClient then Data = GeolocationServer.GetProviderName(); #EndJa
Sākot ar mobilās platformas versiju 8.3.7, ir kļuvusi pieejama lietojumprogrammas atkļūdošana tieši mobilajā ierīcē (vairāk par to tālāk).

Izstrādē mobilajā platformā var izmantot dažādas pieejas, taču ir daži galvenie punkti, kas izceļas. No faktiskās mobilās lietojumprogrammas izveides viedokļa, tās funkcionālā bagātība un loma uzņēmuma IT infrastruktūrā:

  • mobilā aplikācija var būt esošas uzņēmuma informācijas sistēmas neatņemama un neatņemama sastāvdaļa. Mobilā aplikācija nodrošinās esošās informācijas sistēmas iespējām pielāgotu saskarni un citas iespējas (t.sk. datu apmaiņu). Šajā gadījumā mobilā aplikācija ir ļoti cieši saistīta ar "parasto" informācijas sistēma un to nevar izmantot atsevišķi no tā.
  • mobilā aplikācija veic specifiskus uzdevumus, kas praktiski nav saistīti ar uzņēmuma informācijas sistēmu. Ir tikai minimāls datu kopums, ar ko notiek apmaiņa starp mobilo aplikāciju un informācijas sistēmu. Šajā gadījumā, visticamāk, mobilā aplikācija apmainās, izmantojot kādu standartizētu protokolu, kas dod iespēju šo mobilo aplikāciju izmantot pavisam citos gadījumos un situācijās.
Abas iepriekš aprakstītās situācijas var uzskatīt par galējām iespējām. Taču šīs nav vienīgās attīstības iespējas. Lietojumprogrammu izstrādātājs var patstāvīgi izvēlēties integrācijas iespējas starp mobilo aplikāciju un informācijas sistēmu, kas darbojas kā tās aizmugures birojs.
Mobilā lietojumprogramma ir izstrādāta kā pilnīgi atsevišķa konfigurācija, taču tā var koplietot daļu avota koda ar “vecāku” konfigurāciju. Starp citu, “vecāku” konfigurācija var fiziski nepastāvēt (piemēram, ja jūs izstrādājat dažus universāls pielietojums, kas var strādāt ar dažādas sistēmas saskaņā ar universālo protokolu).

Mobilās platformas ierīce

Kas ir mobilā platforma un ko tā var darīt?
Taisnības labad jāsaka, ka mobilā platforma ir tikai viena no visa kompleksa sastāvdaļām, pateicoties kurai 1C:Enterprise 8 darbojas mobilajās ierīcēs. Tātad lietojumprogrammu izstrādātājs darbojas ar šādiem komponentiem:
  1. Pati mobilā platforma ir 1C:Enterprise sistēmas mobilā daļa. Tā ir parasta (kas tiek izmantota lietotņu izveides laikā, lai publicētu lietotņu veikalā) un mobilo izstrādātāju platforma, kas tiek izmantota (pārsteigums) mobilo lietotņu izstrādes laikā.
  2. Mobilā konfigurācija ir programmatūras sistēmas 1C:Enterprise konfigurācija, kas rakstīta kā XML fails.
  3. Mobilās platformas un mobilās konfigurācijas kombinācija rada mobilo lietojumprogrammu.
  4. Mobilo aplikāciju komplektētājs ir specializēts lietojumprogrammu risinājums, ko var izveidot no mobilās platformas, konfigurācijas, uzplaiksnījumiem, ikonām un citiem komponentiem, pabeigts fails mobilā aplikācija, ko var lejupielādēt no Apple AppStore, Google Play, Windows Phone Apps / Windows Apps.
Kāpēc viss ir tik grūti? Kāpēc to nevar izdarīt mobilajā ierīcē tieši tāpat, kā to dara uz lielas platformas? Tie. instalēt ierīcē vienu mobilo platformu un ielādēt tajā jebkādu skaitu konfigurāciju/lietojumprogrammu? Tas aizliedz noteikt licencēšanas ierobežojumus lietotnēm, kas tiek izplatītas, izmantojot lietotņu veikalus. Piemēram, ja jūsu lietojumprogramma lejupielādē izpildāmo kodu (skripta veidā) internetā, tas nekad neparādīsies Apple lietotņu veikalā. Taču jāsaprot, ka iespēja lejupielādēt jebkuru konfigurāciju, kas ir izstrādātāja mobilajā platformā, nav paredzēta mobilo aplikāciju izplatīšanai pat viena uzņēmuma ietvaros, nemaz nerunājot par izplatīšanu izstrādātāja klientiem.
Pēc tam, kad mobilā lietojumprogramma atrodas mērķa mobilajā ierīcē, kļūst nepieciešams izmantot kādu datu bāzi (dati ir kaut kur jāsaglabā). Kā datu bāzes dzinējs mobilā platforma izmanto savu datu bāzes dzinēju, kas tiek pārnesta uz mobilo platformu no platformas personālais dators. Tas ir pietiekami kompakts un ātrs, bet galvenais ir tas, ka tas nodrošina tieši tādu pašu uzvedību, pie kuras ir pieraduši aplikāciju izstrādātāji, strādājot pie personālajiem datoriem paredzētās platformas.
Ir arī vērts atzīmēt, ka mobilā lietojumprogramma ir veidota pēc tādas pašas shēmas kā parastās platformas darbs ar informācijas bāzes faila versiju: ​​ir klienta daļa, ir servera daļa, ir datubāze un tur ir klienta un servera mijiedarbība.
Pati mobilā platforma ir rakstīta kā vietējā lietojumprogramma, kas apkopota binārā kodā galvenajām procesoru arhitektūrām, kuras pašlaik tiek izmantotas mobilajā pasaulē: šī ir ARM v5 un augstāka arhitektūra un x86.
Turklāt mijiedarbībai ar noteiktām mobilās ierīces funkcijām (telefonija, GPS, darbs ar iebūvēto kameru utt.) var būt nepieciešamas īpašas atļaujas. Operētājsistēmā iOS tās tiek iestatītas tieši pašas aplikācijas darbības laikā, savukārt Android gadījumā atļaujas tiek norādītas aplikācijas izveides laikā. Nepieciešamās atļaujas tiek norādītas, izstrādājot mobilo lietojumprogrammu, un tās izmanto mobilo ierīču lietojumprogrammu veidotājs, bet vairāk par veidotāju vēlāk.

Mazliet par izstrādātāju platformu

Kamēr mēs izstrādājam mobilo aplikāciju, mums nav saistoši licencēšanas ierobežojumi, kas noteikti mobilajām lietojumprogrammām, kuras tiek izplatītas lietojumprogrammu veikalos. Tas nozīmē, ka 1C mobilo platformu varam izmantot tāpat kā “lielo” platformu personālajā datorā - viedtālrunī/planšetdatorā instalējiet pašu mobilo platformu un ielādējiet tajā mobilo aplikāciju konfigurācijas. Pēc palaišanas platforma mums parādīs tajā reģistrēto lietojumprogrammu sarakstu:

Lai platformai pievienotu jaunu lietojumprogrammu, resursā, kas pieejams no mobilās ierīces, izmantojot HTTP protokolu, ir jāievieto XML fails ar tā aprakstu. Ērtākais veids, kā to izdarīt, ir konfiguratorā, izmantojot izvēlni "Konfigurācija \ Mobilā lietojumprogramma \ Publicēšana". Šajā gadījumā XML fails ar lietojumprogrammas konfigurāciju tiek ievietots tīmekļa serverī izstrādātāja datorā (attiecīgi šim datoram ir jābūt tīmekļa serverim - IIS vai Apache).

Ja lietojumprogrammai norādāt opciju "Restartēt no konfiguratora", lietojumprogramma mobilajā ierīcē tiks automātiski atjaunināta no izstrādātāja datora katru reizi, kad izstrādātājs atjauninās tīmekļa serverī mitināto. XML fails konfigurācija.
Ja ir iespējota opcija "Atkļūdošana iespējota", lietojumprogrammu soli pa solim var atkļūdot mobilajā ierīcē, izmantojot izstrādātāja datora konfiguratoru (konfiguratorā sadaļā "Rīki \ Opcijas" ir opcija "Atkļūdošana, izmantojot HTTP protokolu". " ir jāizvēlas izvēlne). Ja konfiguratorā iestatāt pārtraukuma punktus kodā un atlasāt komandu "Mobilā lietojumprogramma - sāciet atkļūdošanu", mobilā lietojumprogramma ierīcē apstāsies, kad izpildāmais kods sasniegs pārtraukuma punktu, un jūs varat skatīt mainīgo vērtības, zvanu steku utt. konfiguratorā.

Kas var?

Tātad, ko dara mobilā platforma? Pietiekami:)
Ja neizmantojat īpašos 1C:Enterprise nosacījumus, mobilā platforma sniedz iespēju strādāt ar normatīvo un atsauces informāciju, noformēt dokumentus, kas apraksta dažas ārējās darbības, skatīt pārskatus, sazināties ar ārpasauli, izmantojot interneta pakalpojumus, un daudz ko citu. vairāk. Tie. tas nodrošina aplikāciju izstrādātājam iespēju uzrakstīt diezgan funkcionālu aplikāciju, piemēram, mājas finanšu uzskaites programmu, mobilo pārdošanas programmu un tamlīdzīgi.
Bet papildus parastajai funkcionalitātei, kas ir personālā datora platformā, mobilajai platformai ir jānodrošina darbs ar īpašām funkcijām, kas ir unikālas mobilajām ierīcēm:
  • darbs ar zvaniem un zvanu žurnālu;
  • strādāt ar īsziņām (SMS) un to sarakstu;
  • kontakti;
  • kalendāri;
  • ģeopozicionēšana (bez maršrutu ieklāšanas);
  • ļauj fotografēt, kā arī video un audio ierakstu;
  • reaģēt uz ekrāna orientācijas izmaiņām;
  • darbs ar paziņojumiem (vietējie un PUSH, gan tieši, gan ar speciāla starpniecības pakalpojuma starpniecību);
  • skenēt svītrkodus un QR kodus ar kameru
  • Mobilo aplikāciju monetizācija (t.i., veids, kā sniegt mobilo aplikāciju izstrādātājam iespējas gūt papildu ienākumus):
    • Darbs ar Apple In-App Purchase (operētājsistēmai iOS) un Google Play In-App Billing (Android OS) iegādes pakalpojumiem, ar kuriem mobilajā aplikācijā var organizēt dažāda veida abonementus, funkcionalitātes pirkumus u.c.
    • Rādīt reklāmas mobilajās lietotnēs (pašlaik tiek atbalstītas iAd operētājsistēmai iOS un AdMob operētājsistēmai Android).
  • utt.
Ir skaidrs, ka dažas funkcijas var nebūt pieejamas katrā konkrēta ierīce, tāpēc, lai noteiktu, ko var izdarīt ierīcē, kurā darbojas mobilā lietojumprogramma, ir īpašas metodes kas jums paziņo, ir pieejams vietnē šo ierīci, piemēram, iespēja sastādīt numuru vai nē. Tādējādi tiek realizēta aptuveni šāda izmantošanas shēma: mēs pārbaudām, vai ir iespējams izmantot kādu iespēju, un, ja iespējams, mēs to izmantojam:
Ja TelephonyTools.SupportedDial() Tad TelephonyTools.DialNumber(Tālruņa numurs, zvaniet nekavējoties); EndIf;
Mums svarīgs uzdevums ir slēpt no aplikāciju izstrādātāja informāciju par izmantoto mobilo OS, nodrošināt viņam vienotus mobilos funkcionalitātes izmantošanas mehānismus. Mēs uzskatām, ka esam veiksmīgi atrisinājuši problēmu. Atšķirības ieviestajos mehānismos vai nu nav, vai ir samazinātas līdz minimumam. Izņemot, protams, gadījumus, kad vienā no operētājsistēmām vispār nav funkcionalitātes.
Piemēram, Google un Apple darba ar push paziņojumiem tehnika ļoti atšķiras. Mēs esam ieguldījuši daudz pūļu, lai apvienotu mehānismu darbam ar PUSH paziņojumiem no lietojumprogrammas koda. Mobilās aplikācijas gadījumā mums izdevās gandrīz 100%: viens un tas pats aplikācijas kods mobilajā ierīcē apstrādā PUSH paziņojumu saņemšanu gan iOS, gan Android ierīcēs. Un kods PUSH paziņojumu nosūtīšanai servera lietojumprogrammā arī izskatās tāpat. Bet, lai panāktu šādu apvienošanu, mums bija jāizstrādā īpašs starpniekserveris https://pushnotifications.1c.com/ , kas slēpj no izstrādātāja dažādas metodes darbam ar Apple Push Notification Service (APNS) un Google Cloud Messaging (GCM) ). Visa atšķirība slēpjas tajā dažādi iestatījumi tieši starpniekservera vietnē https://pushnotifications.1c.com/ ; lai strādātu ar APNS, vietnē ir jāaugšupielādē SSL sertifikāts (ko Apple izsniedz lietojumprogrammai pēc izstrādātāja pieprasījuma), lai strādātu ar GCM, ir jānorāda unikāls lietojumprogrammas identifikators.
Acīmredzot visas funkcijas, kuras vēlaties iegūt mobilajā aplikācijā, nav iespējams uzreiz ieviest. Un vienmēr ir jāatrod kompromiss starp vairākām ļoti noderīgām lietām. Un, ja jums kaut kā pietrūkst, rakstiet mums par to, kādus biznesa uzdevumus (galu galā platforma, pirmkārt, ir rīks biznesa uzdevumu īstenošanai!) Jūs nevarat atrisināt un kāds mehānisms jums to palīdzētu.

Kā tas izskatās?

Mobilās platformas grafiskais interfeiss ir atsevišķs jautājums. Programmā 1C: Enterprise, kā jūs zināt, saskarne ir aprakstīta deklaratīvi. No vienas puses, tas uzliek dažus ierobežojumus lietotāja interfeisa attīstībai (piemēram, nav iespējama pozicionēšana pa pikseļiem), bet, no otras puses, tas ļauj platformai vienmērīgi atveidot saskarni ekrānos. dažādu izmēru plānos un tīmekļa klientiem. Mēs centāmies pieturēties pie tāda paša principa arī mobilajā platformā. Cik labi mēs to paveicām? Mēģināsim to izdomāt.
Pirmajās mobilās platformas versijās (līdz 8.3.5 ieskaitot) GUI lietojumprogrammas izskatījās ļoti pazīstamas pieredzējušiem 1C lietotājiem; patiesībā viņš no 1C "darbvirsmas" versijām pazīstamo interfeisu pārnesa uz mobilo pasauli. Bet no lietotāju viedokļa, kuri iepriekš nebija pazīstami ar 1C, interfeiss izskatījās nedaudz arhaisks.
Ņemot vērā komentārus un ieteikumus, esam radikāli pārskatījuši savu pieeju mobilajam interfeisam versijā 8.3.6. Var teikt, ka savām lietojumprogrammām esam izveidojuši pilnīgi jaunu mobilo saskarni. Tam ir daudz kopīga ar mūsu Taxi saskarni. Mobilo aplikāciju izstrādātāju izstrādes modelis atbilst Taxi izstrādes modelim. Tajā pašā laikā mobilā saskarne pilnībā atbilst dizaina pieejām, kas pieņemtas mobilajās lietojumprogrammās un . Interfeiss pilnībā ņem vērā mobilās pasaules specifiku: mazs ekrāna izmērs (kas nozīmē, ka grafisko elementu dizainam jākļūst askētiskākam - bez ēnām, gradientiem), ir atbalsts pirkstu žestiem utt. Interesants fakts: jaunais platformas mehānisms, kas atbild par elementu ievietošanu formā (izkārtojumā), izrādījās tik veiksmīgs un savlaicīgs mobilajai platformai, ka tajā tika izlaists agrāk (versijā 8.3.6) nekā personālā datora platformā (versijā 8.3). .7), kam tas galvenokārt bija paredzēts.
Attēlā var redzēt, kā ir mainījies mūsu interfeiss.
Lietojumprogramma "Maza uzņēmuma vadība" mobilās platformas 8.3.5 versijā:


Tas ir versijā 8.3.6:

Un šādi izskatās mobilās platformas interfeiss tiešraidē:

Kolekcionārs - un kas tas par dzīvnieku?

Kā jau minēts iepriekš, mobilā aplikācija sastāv no vairākiem komponentiem (faktiskā mobilā platforma, konfigurācija, dažādi resursi), kuriem ir jābūt vienotam veselumam, lai aplikāciju ievietotu veikalā. Lai atvieglotu komponentu pārveidošanu aplikācijā, ir izstrādāts mobilo aplikāciju montētājs. Šī ir 1C:Enterprise platformā izveidota konfigurācija (lietojumprogramma), kas savā datubāzē glabā visus komponentus, kas nepieciešami mobilās lietojumprogrammas izveidošanai. Lai montētājs varētu veikt savu darbu, jums ir jālejupielādē un jāinstalē dažādi programmatūras pakotnes kas ir nepieciešami tā darbībai (Java un Android SDK utt.), pēc tam norādiet ceļus uz šīm pakotnēm savācēja iestatījumos un iestatiet dažus Papildu iespējas(izstrādātāja atslēgas utt.).


Pēc uzstādīšanas kolektors ir gatavs darbam. Kopumā darbs ar kolekcionāru izskatās šādi:
  1. Mēs lejupielādējam 1C mobilās platformas versiju, uz kuras mēs veidosim lietojumprogrammu
  2. Notiek konfigurācijas ielāde, no kuras mēs veidosim mobilo aplikāciju
  3. Mēs izveidojam mobilo aplikāciju, kurā norādām, kurām platformām (Android, iOS, Windows) ir jāveido, kāda konfigurācija un platforma jāizmanto (jo īpaši norādiet, kuru sertifikātu veidot iOS izmantot, ja aplikācija darbojas ar PUSH - paziņojumi).
  4. Veicam mobilās aplikācijas montāžu ar vienu klikšķi visām izvēlētajām platformām
  5. Ar vēl vienu klikšķi apkopotās mobilās aplikācijas nosūtām uz aplikāciju veikaliem (ja šī ir iOS vai Android aplikācija). AT Windows veikali Lietotnes / Windows Phone lietotnes lietotne jāielādē manuāli, jo Microsoft vēl nenodrošina API, lai veikalā mitinātu lietotni.
Atsevišķi jāatzīmē, ka montētājs nav nepieciešams mobilās lietojumprogrammas izstrādei un atkļūdošanai. Lai to izdarītu, varat izmantot izstrādātāja mobilo platformu un Configurator rīkus, lai pārsūtītu konfigurāciju uz mobilo ierīci. Bet, lai izplatītu mobilo lietojumprogrammu, jums ir nepieciešams montētājs.

Lietojumprogrammas mobilajā platformā

Pats uzņēmums 1C mobilajā platformā izlaiž vairākas lietojumprogrammas, kas ir 1C servera lietojumprogrammu mobilie klienti (1C: dokumentu pārvaldība, 1C: mazo uzņēmumu pārvaldība utt.). Šīs lietojumprogrammas īsteno noteiktu "parasto" klientu funkcionalitātes apakškopu. Kad mobilā versija Programmas pilnvērtīgai lietošanai pietiek ar "1C: Small Business Management" funkcionalitāti, un nereti esam redzējuši situāciju, ka klientiem biznesa vadīšanai pietiek ar aplikācijas mobilo versiju.
Mūsu partneri mobilo platformu izmanto gan masveidā ražotu mobilo aplikāciju izstrādei, kas tiek izplatītas caur lietotņu veikaliem, gan arī pēc konkrētu klientu pieprasījuma veidotām pielāgotām aplikācijām. Starp aprites lietojumprogrammām ir lietojumprogrammas, kas izmanto ne-1C aizmugursistēmu kā centrālo datu krātuvi.
Starp mobilajām lietojumprogrammām, kas izveidotas pēc klientu pasūtījuma, var minēt mobilo klientu "1C: Manufacturing Enterprise Management", kas izveidots pēc lielas inženieru holdinga pasūtījuma. Apmēram simts holdinga darbinieku izmanto mobilo aplikāciju karstajos veikalos, kur drošības apsvērumu dēļ ievieto galddatori neiespējami. Mobilās ierīces iebūvētā kamera tiek izmantota, lai nolasītu preču svītrkodus un meklētu tos krājumu saraksta direktorijā, mobilā aplikācija ļauj saprast, kurā tehnoloģiskās ķēdes posmā atrodas šis produkts, atzīmēt eju nākamā produkta darbība utt.

Secinājums

Mēģinājām ļoti virspusēji aprakstīt mobilo platformu, ko tā ļauj darīt un kāpēc sanāca tā, kā sanāca. Šajā rakstā gandrīz nekas nav teikts mobilais Windows. Tam ir vairāki iemesli: pirmkārt, Windows mobilās platformas versija tika izlaista salīdzinoši nesen (“1C:Enterprise” versija 8.3.7), un, otrkārt, šai mobilās platformas versijai nav būtisku atšķirību no ieviešana citām mobilajām operētājsistēmām. Protams, mēs palielināsim Windows OS funkcionalitāti. Kā arī mobilās platformas funkcionalitātes palielināšana kopumā. Tātad tuvākajā nākotnē mums būs atbalsts mobilajā platformā ārējās sastāvdaļas; šis mehānisms (kas jau sen ir pieejams "lielajā" platformā) ļaus izstrādātājiem mobilajā platformā ieviest funkcionalitāti, kas kāda iemesla dēļ nav pieejama.
Tradicionāli stiprās puses 1C:Enterprise tehnoloģiskās platformas ir izstrādātāja mācīšanās vieglums un biznesa lietojumprogrammu izveides un modificēšanas ātrums. Mobilā platforma 1C ir pārnesusi abus šos trumpjus uz mobilo pasauli. 1C mobilā platforma ir iespēja ātri izstrādāt lietojumprogrammu, kas darbojas trīs populārākajās mobilajās platformās (iOS, Android, Windows Phone / 8.1 / 10). Pateicoties plašajam no platformas neatkarīgo integrācijas rīku klāstam (tīmekļa un HTTP pakalpojumi utt.), 1C mobilā platforma ir iespēja ātri izveidot mobilo klientu trīs mobilajām platformām gandrīz jebkurai servera lietojumprogrammai, kas atbalsta kādu no 1C platformā pieejamās integrācijas metodes (tīmekļa un HTTP pakalpojumi, failu apmaiņa utt.).

Aptaujā var piedalīties tikai reģistrēti lietotāji. Lūdzu ienāciet.

Mobilo aplikāciju izstrāde vienmēr ir saistīta ar nepieciešamību apgūt papildu tehnoloģijas. Bet ko darīt, ja mēs vēlreiz pārdomāsim jautājumu un izmantosim jau pazīstamus rīkus?

Pirmo reizi 1C mēģināja iekļūt tirgus mobilā attīstība 2006 gadā. Tolaik bija īsts uzplaukums attālināto darbinieku darba automatizēšanai, izmantojot plaukstdatoru. Jaunas programmas šādu problēmu risināšanai parādījās kā sēnes, un tāds pārdevējs kā 1C ar veiksmīgiem produktiem dažādu biznesa jomu automatizēšanai nevarēja palaist garām iespēju ienākt ienesīgajā tirgū.

Līdz 2006. gada vidum uzņēmums prezentēja jauna produkta izlaišanu ar daudzsološo nosaukumu "1C: Enterprise 8. Extension for PDA". 1C izstrādātājiem, kuri redzēja 8. platformas izredzes, bija cerība, ka tagad ar vienu rīku kļuva iespējams bez lielām grūtībām veikt izstrādi tajos gados populārajā Windows Mobile operētājsistēmā.

Praksē viss izskatījās daudz sliktāk. Iemiesots oriģinālas idejasšis rīks neļāva. pakotne " PDA paplašinājums”bija vairāk kā papildinājums noteiktām tipiskām konfigurācijām, nevis pilnīgs izstrādes risinājums. Nebija paredzēts paplašināt konfigurācijas funkcionalitāti, pievienojot jaunus metadatu objektus. Trešo pušu programmētāju žēlastībā bija ļoti vienkāršas lietas: jaunu formu izveide mijiedarbībai ar lietotāju, lietotāju notikumu apstrāde.

Jā, bija visādas ierobežojumu apiešanas, bet pat tie neļāva reāli apgriezties. Papildus tehniskajiem ierobežojumiem patērētāji ir saskārušies ar nopietnu finansiālu šķērsli. Uzņēmumiem, kuri nolēma ieviest risinājumu no 1C, bija jāiegādājas augstas veiktspējas plaukstdatori, jāiegādājas Windows Mobile licences, kā arī jāmaksā 1C par risinājuma piegādi un galīgo lietojumprogrammu.

1C risinājums bija pārāk dārgs. Uzņēmumi, kas pieraduši taupīt naudu, turpināja izmantot alternatīvus risinājumus. Turklāt alternatīvu izstrādātājiem izdevās nodrošināt savus produktus ar funkcionalitāti mijiedarbībai ar tipiskiem 1C risinājumiem.

Tehniskie ierobežojumi, augstās izmaksas neļāva produktam atkārtot milzīgos darbvirsmas platformas panākumus. Ideja iekarot mobilo sakaru tirgus korp.

pieteikumi neizdevās.

Soli uz priekšu

Zaudējumi un zaudējumi no neveiksmīga projekta nepielika punktu daudzsološa virziena attīstībai. 2013. gadā 1C iepazīstināja ar pirmo stabilo jaunās 8.3 platformas versiju, kuras funkcija ir mobilo aplikāciju izstrāde.

1C pilnībā pārdomāja pieeju mobilās "teorēmas" risināšanai un ņēma vērā iepriekšējā neveiksmīgā produkta kļūdas. Rezultāts ir pilnīgi jauns rīks, kam nav nekā kopīga ar tā priekšgājēju un kas ir orientēts uz jaunākajām mobilajām platformām – Android un iOS.

Mobilās aplikācijas 1C stilā

Pilnīgai iepazīšanai ar mobilajām platformām izstrādes iespējām, mēģināsim izstrādāt nelielu konfigurāciju. Izmantojot starpnozaru piemēru, jūs varat labāk novērtēt pieejamo funkcionalitāti un izlemt par iespēju izmantot 1C platformu problēmu risināšanai.

Lai strādātu, jums ir nepieciešams jaunākais platformas 1C:Enterprise 8.3 laidiens. Izplatīšanas komplekta izglītojošā versija ir pieejama oficiālajā 1C vietnē. Lai atjaunotu piemēru, tā iespējas ir vairāk nekā pietiekami.

Papildus 1C:Enterprise 8.3 platformai mums būs nepieciešami vairāki papildu rīki. Rakstā tiks aplūkots Android lietojumprogrammas izstrādes piemērs. Šajā sakarā jums būs jālejupielādē: Android SDK un Apache WEB serveris. Pirmajā komponentā ir viss nepieciešamais, lai izveidotu lietojumprogrammu un emulatoru testēšanai, un WEB serveris ir noderīgs ātra ielāde mobilās OS lietojumprogrammas.

Mums būs arī jānodrošina mobilo ierīču izstrādātāju platforma. Tajā ir konfigurācija, lai vienkāršotu izveidotās mobilās lietojumprogrammas izveides procesu, kā arī mobilā izstrādātāja platforma. Tam jābūt instalētam mobilajā ierīcē vai emulatorā.

Lai izveidotu lietojumprogrammu, kas ir gatava izplatīšanai pakalpojumā Google Play, jums būs jālejupielādē Apacheants un JavaJDK. Šī tēma ir ārpus šī raksta darbības jomas, tāpēc varat uzzināt vairāk par darbu ar šiem rīkiem un lietojumprogrammas izveidi attiecīgajā sadaļā mana .

Konfigurēšanas rīki

platforma " 1C: Uzņēmums 8.3' un Apache tīmekļa serverim ir pievienoti instalētāji, un tie tiek instalēti standarta veidā. Android SDK jums vienkārši nepieciešams to izsaiņot atsevišķā direktorijā un palaist " sdk manager.exe". Jūs redzēsit logu ar instalēšanai pieejamo pakotņu izvēli. Lai veiktu testēšanu, kas aplūkota raksta parauga ietvaros, jums būs jāizvēlas un jāinstalē: Android SDK rīki, A Android platformas rīki, SDK platformas API 17.

Pēdējais solis ir jaunas informācijas bāzes izveide. Tiem, kuri nav iesaistīti apakšprogrammas izstrādē 1C: uzņēmums»Paskaidrošu, ka jebkurš risinājums šai platformai sastāv no informācijas bāzes un konfigurācijas. Jaunas datu bāzes pievienošana tiek veikta, noklikšķinot uz pogas " Pievienot» sākuma logs. Pēc pamatnes pievienošanas atveriet to sadaļā " Konfigurators».

Pirmā mobilā konfigurācija

Konfiguratora galvenajā izvēlnē atrodiet sadaļu " Konfigurācija” un atlasiet vienumu “Atvērt konfigurāciju”. Konfigurācijas koks (no objektiem, no kuriem sastāvēs nākamā lietojumprogramma) tiks parādīts loga kreisajā daļā. Izvēlieties tajā konfigurācijas sakni un nospiediet taustiņu kombināciju " Alt+Enter". Rekvizītu redaktors tiks atvērts konfiguratora loga labajā pusē.

Sauksim konfigurāciju " DARĪT” un rekvizītā “Lietošanas galamērķis” norādiet “ Mobila ierīce". Pievērsiet uzmanību darot pēdējā darbība, daži konfigurācijas koka mezgli kļūs neaktīvi. Diemžēl jūs nevarēsit izmantot visus metadatu objektus mobilajā platformā.

Lai atrisinātu problēmu, konfigurācijas kokā ir jāizveido vairāki metadatu objekti:


Procedūra AddTask(Uzdevums) ExportRecordManager = CreateRecordManager(); RecordManager.Period = PašreizējaisDatums(); RecordManager.Task = Uzdevums; RecordManager.Status = Task.Status; RecordManager.Write(); Beigās Procedūra

2. saraksts. Funkcijas GetList of Unclosed Tasks() kods

Funkcija GetList of Unclosed Tasks() Export Request = jauns pieprasījums; Query.Text = "SELECT | Uzdevums<>VĒRTĪBA(Uzskaitījums.Uzdevumu statusi.Pabeigts)) AS TaskStatusSliceLast | | PASŪTĪT | DueDate DESC"; Query.SetParameter("CurrentDate", CurrentDate()); Return Query.Execute().Upload(); EndFunction

Esam nodarbojušies ar datu iegūšanu no informācijas reģistra un to ierakstīšanu, tagad mācīsim mūsu uzziņu grāmatu darbam ar reģistru. Lai to izdarītu, pievienojiet kopīgu moduli ar nosaukumu " WorkWithTasks". Bez tā var iztikt, bet es uzreiz gribu pievērsties iespējai kodu sadalīt moduļos. Daudzi 1C izstrādātāji joprojām neievēro šo ieteikumu un apraksta visu loģiku vienuviet, tādējādi apgrūtinot turpmāko koda apkopi. Izveidosim jaunu procedūru modulī " Izveidot jaunu uzdevumu» (sk. 3. sarakstu).

Saraksts 3. Procedūras "Izveidot jaunu uzdevumu" kods

Procedūra CreateNewTask(Reference) Export If Reference.ThisGroup then Return; EndIf; Pieprasījums = jauns pieprasījums; Query.Text = "SELECT | TasksLastSliceStatus.Status |FROM |Information Register.TasksLastSliceStatus(&CurrentDate, Task = &Task) AS LatestTasksSliceStatus"; Query.SetParameter("CurrentDate", CurrentDate()); Request.SetParameter("Uzdevums", Saite); Rezultāts = Query.Execute().Select(); If Result.Next() then If Result.Status<>Saite.Statuss TadReģistrsInformācija.StatussUzdevumi.PievienotUzdevumu(Saite); EndIf; Pretējā gadījumā DataRegisters.TaskState.AddTask(Reference); EndIf; Beigās Procedūra

Pirms jauna ieraksta izveides tiek pārbaudīts, vai uzdevumam nav esošu ierakstu. Ja ieraksts jau pastāv, jums ir jāsalīdzina uzdevumu statusi. Ja statuss no reģistra neatšķiras no rakstāmā elementa statusa, papildu ieraksts nav jāveido.

Ar pēdējo pieskārienu atveriet direktorijas elementa "Uzdevumi" formu un izveidojiet notikumu apdarinātāju " AfterRecordingOnServer". Tajā mēs uzrakstīsim aicinājumu uz procedūru, kas aprakstīta trešajā sarakstā:

WorkWithTasks.CreateNewTask(CurrentObject.Reference);

Darbs pie interfeisa

Aplikācijas galvenā funkcionalitāte ir gatava – lietotājs var izveidot uzdevumus, un katrs jauns uzdevums veido ierakstu periodiskās informācijas reģistrā. Tagad apskatīsim interfeisu. Izvirzīsim priekšplānā darbu ar uzdevumiem. Galu galā ir loģiski parādīt sarakstu uzreiz pēc lietojumprogrammas palaišanas. slēgti uzdevumi un iespēja izveidot jaunu?

Atradīsim mezglu" Vispārējās formas» un pievienojiet jauna forma Ar vārdu " Darbvirsma". Atvērsim izveidoto formu interfeisa konstruktorā un pievienosim atribūtu, piemēram, " Vērtību tabula". Sauksim to par "OpenZachi". Tabulā būs divas kolonnas - " Uzdevums" (Atsauces saite. Uzdevumi) un " Izpildes datums" (Datums).

Nākamā darbība ir pievienotā atribūta vilkšana uz formu. Mums vajadzētu iegūt saskarni visvienkāršākā tabula. Nekādus izmērus nenorādīsim, rūpes par saskarnes mērogošanu atstāsim uz platformu.

Izveidotajai tabulai īpašuma inspektorā atzīmējiet izvēles rūtiņu īpašumam " Tikai skatīt", un īpašums" Komandjoslas pozīcija» Norādiet vērtību «Nē». Mēs aizpildīsim tabulu ar dinamisku informāciju, tāpēc lietotājam nav jēgas rediģēt.

Tagad aprakstīsim veidlapas notikumu apstrādātāju "OnCreateOnServer". Pievienosim tai vienu koda rindiņu:

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

Kodā mēs atsaucamies uz mūsu aprakstīto procedūru " GetList of Unclosed Tasks” un tā izpildes rezultāts tiek ievietots tabulā.

Atgriezīsimies pie veidlapas konstruktora un pievienosim grupu “Normāla grupa bez displeja” ar divām pogām: Izveidot" un " atjaunot". Īpašums " grupēšana» Iestatiet pievienotās grupas vērtību uz «Horizontāli». Izteiksmīgākam pogu noformējumam pievienosim attēlus un mainīsim noklusējuma fontu.

Tagad atlasiet pogu Izveidot un pajautā viņai globālā komanda « Uzdevumi: izveidot". Tas ļaus jums izveidot uzdevumus, neieejot pašā direktorijā. Nospiežot otro pogu, mēs atjaunināsim tabulas saturu ar uzdevumiem. Šim nolūkam jums ir jāizveido papildu komanda veidlapas.

Visas jaunās formas komandas tiek izveidotas cilnē ar tādu pašu nosaukumu " Komandas". Princips ir vienkāršs – pievienojam jaunu komandu, aprakstam tajā darbības kodu un tad saistām komandu ar interfeisu, mūsu gadījumā ar pogu.

Tāpat nevajadzētu aizmirst, ka mēs izstrādājam pārvaldītu lietojumprogrammu, tāpēc mums ir skaidri jānošķir klienta un servera kods. Noklikšķinot uz pogas, konteksts būs " OnClient”, un mēs saņemsim datus no datu bāzes no servera. Kodā tas izskatās šādi:

&Klienta procedūrā UpdateTaskList(Command) UpdateList(); EndProcedure &AtServerCreateProcedureAtServer(Abandon, StandardProcessing) OpenTasks.Load(InformationRegisters.TaskState.GetList of UnclosedTasks()); Beigās Procedūra

Tagad definēsim mūsu darbvirsmas formu kā apgabalu sākuma lapa. Atveriet konfigurācijas rekvizītus (atlasiet augšējo mezglu un noklikšķiniet uz " Alt+Enter) un rekvizītam “Sākotnējā lapas darbvieta” iestatiet vērtību uz “ Viena kolonna”, pēc tam pievienojiet mūsu veidlapu sarakstam " Darbvirsma».

Lietojumprogramma ir pilnībā gatava, un ir pienācis laiks to pārbaudīt darbībā. Mēģiniet palaist piemēru un izveidot dažus uzdevumus ar statusu, kas nav " Pabeigts". Informācijas reģistrs ir papildināts ar jauniem ierakstiem (to var apskatīt caur izvēlnes punktu " Visas funkcijas”), un daži no tiem tiek parādīti darbvirsmā.

Nolaišanās operētājsistēmā Android

Konfigurācija lieliski darbojas uz darbvirsmas, un tagad ir laiks to pārbaudīt mobilajā OS emulatorā. Lai sagatavotu jaunu emulatoru, palaidiet čaulu ( cmd.exe) un dodieties uz Android SDK izplatīšanas direktoriju "toos". Izpildi komandu " android.bat avd", kas palaiž virtuālo Android ierīces. Tajā noklikšķiniet uz pogas "Izveidot" un parādītajā logā norādiet virtuālās ierīces parametrus. Savā darba vidē es nolēmu līdzināties Nexus S ar Android versija 4.2.2. (API 17. līmenis).

Pēc ierīces izveides mēs to nekavējoties palaidīsim. Kamēr Android tiek ielādēts, atgriezīsimies konfiguratorā un publicēsim savu lietojumprogrammu tīmekļa serverī. Konfiguratora galvenajā izvēlnē atlasiet vienumu " Konfigurācija» -> « Mobilā lietotne» -> « Publicēt". Publicēšanas iestatījumu logā norādiet lietojumprogrammas nosaukumu (tas var būt jebkas), tīmekļa serveri (mūsu vidē tam vajadzētu būt vienam) un iestatījumu glabāšanas direktoriju.

Norādot " todo-mobile", pieteikums būs pieejams adresē - " http://host/todo-mobile". Noklikšķiniet uz "OK" un mēģiniet piekļūt publicētajai lietojumprogrammai, izmantojot pārlūkprogrammu. Ja tas izdosies, serveris atgriezīs izveidotās konfigurācijas XML kodu.

Mēs atgriežamies pie emulatora un ielādējam tajā lietojumprogrammu ar izstrādātāja mobilo platformu. Pats lietojumprogrammas fails ir pieejams kopā ar izstrādātāja mobilās platformas piegādi, un to sauc par "1cem-arm.apk". Lai instalētu šo lietojumprogrammu emulatorā, mēs izmantosim utilītu " adb.exe» no kataloga « platformas rīki»: adb.exe install –r 1cem-arm.apk.

Pēc veiksmīgas instalēšanas emulatorā atveriet lietojumprogrammu sarakstu un palaidiet izstrādātāja mobilo platformu. Atvērtajā logā noklikšķiniet uz " Pievienot lietojumprogrammu” un laukā “adrese” norādiet mūsu tīmekļa servera URL. Man tas ir http://192.0.168.106/todo-mobile. nospiediet " Pievienot” un mūsu konfigurācija ir veiksmīgi pārvietota uz mobilo platformu. Lietojumprogramma ir gatava lietošanai. Pārbaudiet rezultātu un atgriezieties konfiguratorā, ir pienācis laiks nodrošināt lietojumprogrammas ar "mobilo funkcionalitāti".

SMS/MMS ziņu sūtīšana

Funkcijas darbam ar SMS/MMS Mobilās platformas ziņojumus atbalsta atšķirīgi. Piemēram, palaižot aplikāciju operētājsistēmā Android, izstrādātājam ir iespēja abonēt SMS un piekļūt jaunām ziņām uzreiz pēc to saņemšanas. Diemžēl šī pati funkcija nav pieejama operētājsistēmā iOS, tāpēc izstrādes laikā dokumentācijai jābūt pieejamai.

Priekš sūtot SMS ziņojumos sniegtais objekts SMSZiņa. Apsveriet piemēru:

&OnClient procedūra SendSMSMessage(Recipient,MessageText) NewMessage = Jauna SMSZiņa(); NewMessage.Text = MessageText; JaunsZiņojums.Saņēmēji.Pievienot(Adresāts); Telefonijas rīki. Sūtīt SMS(NewMessage); Beigās Procedūra

Kods ir diezgan vienkāršs, un tam gandrīz nav nepieciešami komentāri. Tagad apskatīsim ienākošo ziņojumu abonēšanas reģistrāciju:

&OnClient procedūra ConnectMessageReceiveHandler() MessageSubscription = NewNotificationDescription("Jaunu ziņojumu apstrāde", ThisObject); Telephony Tools.ConnectSMSMessageHandler(MessageSubscription); EndProcedure &AtClient procedūra NewMessageProcess(Ziņojums, papildu parametri) //Apstrādāt jaunu ziņojumu //Ziņojums.Sūtītājs, Ziņa.Teksts; Beigās Procedūra

Procedūra" Jaunu ziņojumu apstrāde” tiks izsaukts katru reizi, kad tiks saņemta jauna SMS. Izmantojot parametru " Ziņa"tipa objekts" SMSZiņa” un mēs varam viegli iegūt ziņas tekstu un informāciju par sūtītāju.

Darbs ar MMS ziņām tiek veikts līdzīgi. Vispirms izveidojam SMSZiņojumu un pēc tam pievienojam tai pielikumu (piemēram, attēlus). Ar šo vienkāršo darbību SMS pārvēršas par MMS:

NewMessage= Jauna SMSZiņa(); Pielikums = jauns MMS pielikums; Attachment.Data = attēls; Attachment.ContentType = "attēls/jpeg"; MMSZiņojums.Pielikumi.Pievienot(Pielikums);

Zvanu veikšana no mobilās lietotnes

Zvans tiek veikts programmatiski, izmantojot globālā objekta "Telephony Tools" metodi "DialNumber". Pirms metodes izsaukšanas ir ļoti vēlams pārbaudīt iespēju veikt zvanu:

Ja TelephonyTools.SupportedDial() Tad TelephonyTools.DialNumber(Tālruņa numurs, zvaniet nekavējoties); EndIf;

Parametrs " Nekavējoties zvanīt” ietekmē numura sastādīšanas veiktspēju. Kad tas ir vienāds Taisnība”, numurs tiek izsaukts automātiski, izmantojot standarta pielietojums zvanu veikšana. Ja iestatīts uz False, lietotājs arī redzēs standarta interfeiss numura sastādīšanas programmā, bet, lai piezvanītu, jānospiež " izsaukt».

Zvanu žurnāls

Mobilā platforma ļauj izstrādātājam mijiedarboties ar zvanu žurnālu. Piemēram, varat viegli iegūt izejošo, neatbildēto vai ienākošo zvanu sarakstu. Šī funkcija tiek atbalstīta tikai operētājsistēmā Android:

CallLog = TelephonyTools.GetCallLog(); Selection = New DataComposition Selection; Atlases elements = Selection.Elements.Add(Type("Datukompozīcijas atlases elements")); Atlases elements.LeftValue = New DataCompositionField("Zvana veids"); Atlases elements.ComparisonType = DataCompositionComparisonTypeData.Equal; Atlases elements.RightValue = CallLogCallType.Missed; SelectionItem.Use = true; Zvanu žurnāla ierakstu saraksts = zvanu žurnāls. Atrast ierakstus (atlase); //Zvanu žurnāla ierakstu sarakstā būs ierakstu kolekcija

Ģeopozicionēšana

Gandrīz jebkura moderns viedtālrunis ir ģeolokācijas noteikšanas funkcijas. Varat izmantot šo funkcionalitāti no iebūvētās 1C valodas. Ierīces pašreizējo koordinātu iegūšanu nosacīti var iedalīt 2 posmos: ģeopozicionēšanas nodrošinātāja izvēle un saņemto koordinātu apstrāde:

//Ļaujiet platformai izvēlēties pakalpojumu sniedzēju IdealProvider = Geolocation Tools.GetMost AccurateProvider(); Koordinātas = Geolocation Tools.GetLastLocation(IdealProvider); //Ja koordinātas saņemtas sen, tad atjauniniet If Coordinates = Undefined VAI CurrentDate() - Coordinates.Date > 3600 Then GeopositioningTools.UpdateLocation(IdealProvider, 60); Koordinātas = Geolocation Tools.GetLastLocation(IdealProvider); EndIf;

Darbs ar multivides funkcijām

Izstrādātājam ir iespēja uzņemt attēlus, video ierakstus, audio ierakstus, izmantojot iebūvēto valodu: Uzņemt fotogrāfiju(), Veiciet video ierakstu(), Veiciet audio ierakstu().

Kurā mobilajā operētājsistēmā ir labāk izstrādāt 1C?

Neskatoties uz manu mīlestību pret Apple tehnoloģija, vislabāk ir izveidot mobilās lietojumprogrammas, izmantojot Android 1C platformu. Tam ir vairāki iemesli, taču vissvarīgākais no tiem ir atbalstītās funkcijas. Diemžēl operētājsistēmā iOS daudzas nepieciešamās lietas netiek atbalstītas. Piemēram, ja nav iespējams programmatiski abonēt īsziņas vai mijiedarboties ar zvanu žurnālu, dažas idejas var kļūt neiespējamas. Android šajā ziņā ir draudzīgāks. Neaizmirstiet par pašu ierīču izmaksām. Ne katrs uzņēmums būs gatavs plātīties ar mobilo ierīču iegādi no Apple.

Tā vietā, lai pabeigtu

platforma " 1C: 8. uzņēmums"Praksē ir pierādījusi savu vēlmi kļūt par vienkāršu instrumentu korporācijas attīstībai. Lietojumprogrammas mobilajām platformām. Rakstā aplūkotie piemēri ir papildu apstiprinājums tam. Nemaz nav nepieciešams tērēt resursus vietējo rīku apguvei, ja aplikācijas funkcionalitāte iekļaujas mobilās platformas iespējām un uzņēmumā dominē 1C produkti.

Pavisam nesen mobilo platformu 1C Enterprise 8.3 izplatīja 1C tikai starp maksas abonentiem. Bet ne tik sen 1C pārskatīja savu politiku attiecībā uz šo jautājumu un tagad mobilās platformas elektroniskā versija tiek izplatīta bez maksas kopā ar .

Kas ir mobilā platforma 1C 8.3?

Iespējams, jūs jau zināt, ka pati 1C Enterprise 8.3 platforma ļauj izstrādāt mobilās aplikācijas. Tajā pašā laikā mobilās aplikācijas izstrāde tiek veikta tāpat kā "parastās" konfigurācijas izstrāde. Bet kā šādā veidā izstrādāto konfigurāciju var palaist viedtālrunī vai planšetdatorā? Šiem nolūkiem mums ir nepieciešama 1C Enterprise 8.3 mobilā platforma.

Mobilā platforma 1C Enterprise 8.3 ir programmu kopums, kas ļauj instalēt un palaist konfigurācijas (lietojumprogrammas) viedtālruņos un planšetdatoros, kas darbojas Google Android vai Apple iOS.

1C mobilās platformas svarīgākā priekšrocība ir tā, ka aplikācija (konfigurācija) tiek izstrādāta abām mobilajām operētājsistēmām uzreiz un pēc tam vienkārši instalēta mobilajā ierīcē. Tādējādi, uzrakstot mobilo aplikāciju 1C formātā, varam to uzreiz instalēt visiem uzņēmuma darbiniekiem neatkarīgi no tā, kura operētājsistēma (Android vai iOS) darbojas viņu telefonā vai planšetdatorā.

Svarīgs! Mobilo lietojumprogrammu izstrādei mēs ļoti iesakām izmantot 1C platformu, kuras versija ir 8.3.4.482 vai jaunāka. 1C Enterprise 8.3.4.482 platformas izglītojošā versija ir iekļauta šajā mobilās platformas 1C izplatīšanas komplektā. Jūs varat iepazīties ar platformas izglītojošās versijas ierobežojumiem

Mobilā platforma 1C:Enterprise ir rīku un tehnoloģiju kopums ātrai lietojumprogrammu izstrādei mobilajām operētājsistēmām iOS, Android, Windows Phone / 8.1 / 10, izmantojot tās pašas izstrādes vides (Configurator vai 1C:Entrprise Development Tools) un tās pašas izstrādes metodes. , ko izmanto "parastām" 1C lietojumprogrammām. Rezultāts ir autonomas, bezsaistes aplikācijas, bet ar iespēju apmainīties ar informāciju ar ārpasauli, izmantojot plašu platformas nodrošināto integrācijas rīku klāstu: Web un HTTP servisus, e-pastu u.c. Tā kā apmaiņas protokoli ir neatkarīgi no platformas, 1C mobilā platforma, cita starpā, ir līdzeklis, kā ātri izveidot mobilo priekšgalu gandrīz jebkuram servera risinājumam.

fons

1C:Enterprise versijas 8.0 (un turpmāko versiju) laikos bija programmatūras produkts "Paplašinājums kabatas datoriem". Paplašinājums ļāva izveidot produktus tikai operētājsistēmai Windows Mobile, Windows CE utt. Produktam bija savs konfigurators un serveris, un tas tika atbalstīts līdz 1C:Enterprise versijas 8.3 izlaišanai. Paplašinājuma jaunākā versija (8.2.9) tika izlaista 2013. gada oktobrī, un pilnais atbalsts beidzās 2015. gada 1. janvārī.
Paplašinājums bija ierobežots lietojums pat Windows Mobile komunikatoru ziedu laikos, un šādu ierīču aiziešana no mobilo sakaru tirgus acīmredzami nepievienoja šim programmatūras produktam popularitāti. iOS un Android ierīces ir aizņēmušas gandrīz visu mobilo ierīču tirgu, un ir kļuvis skaidrs, ka atbalsts šīm operētājsistēmām ir viens no galvenajiem punktiem sistēmai, kas jādarbina mūsdienu mobilajā pasaulē. Likās arī pašsaprotami, ka esošās 1C:Enterprise platformas galvenā pieeja būtu jāizmanto arī mobilajās ierīcēs: lietišķajam izstrādātājam, pirmkārt, jādomā par lietišķo problēmu risināšanu, otrkārt, par to, kādas OS funkcijas viņš izmanto šo problēmu risināšanai. problēmas. Citiem vārdiem sakot, jums ir nepieciešams rīks, kas izolē lietojumprogrammu izstrādātāju no konkrētas mobilās OS un izstrādes rīka specifikas.

Mobilā platforma

Pamatojoties uz kabatas datoru paplašinājuma izstrādes un darbības pieredzi, tika nolemts izstrādāt specializētu sistēmu, kas atbilstu vairākām prasībām:
  • tai ir jāatbalsta mūsdienu populārās mobilās operētājsistēmas un ierīces, kurās tās darbojas. Pirmkārt, tie ir Apple iOS un Google Android.
  • šai sistēmai būtu jāļauj izmantot izstrādātās lietojumprogrammas tādā stilā, kāds pieņemts mūsdienu mobilajās ierīcēs. Jo īpaši saskarnei vajadzētu paļauties uz manuālu vadību (vārda tiešajā nozīmē), izmantojot skārienekrānus.
  • sistēmai ir jānodrošina vienots programmēšanas interfeiss dažādu specifisku mehānismu ieviešanai neatkarīgi no izmantotās mobilās OS.
  • izstrādātājam ir jāizmanto tas pats rīks un tās pašas izstrādes pieejas, kādas ir, izstrādājot lietojumprogrammas "parastam" datoram.
  • lietojumprogrammu izstrādātājam ir jāizstrādā lietojumprogrammu risinājums pazīstamā izstrādes vidē, izmantojot vienu kodu galddatoriem un mobilajām sistēmām, ja iespējams.
  • lietotā risinājuma saskarnei, kas darbojas mobilajā ierīcē, jābūt līdzīgai dažādām platformām un kopumā nepārprotami atpazīstamai.
Izstrādes rezultāts bija tā sauktā mobilā platforma, kas tika izlaista 2013. gada 29. maijā iOS un Android versijās. 1C:Enterprise mobilā platforma ir rīku un tehnoloģiju kopums, kas ļauj izveidot lietojumprogrammas iOS, Android, Windows Phone / 8.1 / 10 mobilajām operētājsistēmām, izmantojot to pašu izstrādes vidi (Configurator) un tās pašas izstrādes metodes kā parastajām lietojumprogrammām. platformā 1C:Enterprise. Rezultāts ir autonomas, bezsaistes lietojumprogrammas, bet ar iespēju apmainīties ar informāciju ar ārpasauli, izmantojot plašu platformas nodrošināto integrācijas rīku klāstu: Web un HTTP pakalpojumus, e-pastu utt.
Mobilo platformu sabiedrība uzņēma labi, sāka parādīties dažādi raksti par šo tēmu (piemēram, un). Lai izstrādātu pilnvērtīgu lietojumprogrammu, kas vienlaikus darbojas lielākajā daļā mobilo ierīču, tagad tas prasīja minimālu laiku un zināšanas, kas būtiski neatšķiras no “parastā” aplikāciju izstrādātāja zināšanām platformā 1C:Enterprise. Protams, tik zems ienākšanas slieksnis piesaista izstrādātājus, kuriem ir jānodrošina kāda pamata funkcionalitāte darbiniekiem, kuri strādā uz ceļa, priekšniekiem un citiem mobilajiem darbiniekiem, kuriem jāstrādā ar korporatīvo sistēmu.
Mobilās lietojumprogrammas izstrādi platformā 1C:Enterprise ir viegli sākt. Programmā Konfigurators konfigurācijas rekvizītam "Lietošanas mērķis" ir jāiestata vērtība "Mobilā ierīce". Šajā gadījumā daži lietojumprogrammu konfigurācijas objekti kļūs nepieejami (raksturakstu tipa plāni, kontu plāni u.c.), bet būs pieejami mobilajām lietojumprogrammām raksturīgie rekvizīti (piemēram, iebūvētie multivides un ģeolokācijas rīki mobilajai ierīcei utt.).


Tajā pašā laikā jūs varat atkļūdot galvenos lietojumprogrammu algoritmus (kas nav tieši saistīti ar mobilo ierīču specifiku) tieši izstrādātāja datora konfiguratorā. Tajā pašā laikā ieteicams ierāmēt koda sadaļas, kurās tiek izsaukta "mobilā" funkcionalitāte, ar atbilstošiem norādījumiem priekšapstrādātājam, lai izvairītos no kļūdām, izpildot kodu personālajā datorā:
#If MobileApplicationClient then Data = GeolocationServer.GetProviderName(); #EndJa
Sākot ar mobilās platformas versiju 8.3.7, ir kļuvusi pieejama lietojumprogrammas atkļūdošana tieši mobilajā ierīcē (vairāk par to tālāk).

Izstrādē mobilajā platformā var izmantot dažādas pieejas, taču ir daži galvenie punkti, kas izceļas. No faktiskās mobilās lietojumprogrammas izveides viedokļa, tās funkcionālā bagātība un loma uzņēmuma IT infrastruktūrā:

  • mobilā aplikācija var būt esošas uzņēmuma informācijas sistēmas neatņemama un neatņemama sastāvdaļa. Mobilā aplikācija nodrošinās esošās informācijas sistēmas iespējām pielāgotu saskarni un citas iespējas (t.sk. datu apmaiņu). Šajā gadījumā mobilā aplikācija ir ļoti cieši saistīta ar "parasto" informācijas sistēmu un nevar darboties atrauti no tās.
  • mobilā aplikācija veic specifiskus uzdevumus, kas praktiski nav saistīti ar uzņēmuma informācijas sistēmu. Ir tikai minimāls datu kopums, ar ko notiek apmaiņa starp mobilo aplikāciju un informācijas sistēmu. Šajā gadījumā, visticamāk, mobilā aplikācija apmainās, izmantojot kādu standartizētu protokolu, kas dod iespēju šo mobilo aplikāciju izmantot pavisam citos gadījumos un situācijās.
Abas iepriekš aprakstītās situācijas var uzskatīt par galējām iespējām. Taču šīs nav vienīgās attīstības iespējas. Lietojumprogrammu izstrādātājs var patstāvīgi izvēlēties integrācijas iespējas starp mobilo aplikāciju un informācijas sistēmu, kas darbojas kā tās aizmugures birojs.
Mobilā lietojumprogramma ir izstrādāta kā pilnīgi atsevišķa konfigurācija, taču tā var koplietot daļu avota koda ar “vecāku” konfigurāciju. Starp citu, “vecāku” konfigurācija var fiziski nepastāvēt (piemēram, ja jūs izstrādājat kāda veida universālu lietojumprogrammu, kas var strādāt ar dažādām sistēmām, izmantojot universālo protokolu).

Mobilās platformas ierīce

Kas ir mobilā platforma un ko tā var darīt?
Taisnības labad jāsaka, ka mobilā platforma ir tikai viena no visa kompleksa sastāvdaļām, pateicoties kurai 1C:Enterprise 8 darbojas mobilajās ierīcēs. Tātad lietojumprogrammu izstrādātājs darbojas ar šādiem komponentiem:
  1. Pati mobilā platforma ir 1C:Enterprise sistēmas mobilā daļa. Tā ir parasta (kas tiek izmantota lietotņu izveides laikā, lai publicētu lietotņu veikalā) un mobilo izstrādātāju platforma, kas tiek izmantota (pārsteigums) mobilo lietotņu izstrādes laikā.
  2. Mobilā konfigurācija ir programmatūras sistēmas 1C:Enterprise konfigurācija, kas rakstīta kā XML fails.
  3. Mobilās platformas un mobilās konfigurācijas kombinācija rada mobilo lietojumprogrammu.
  4. Mobilo aplikāciju komplektētājs ir specializēts aplikāciju risinājums, kas var izveidot mobilo platformu, konfigurāciju, uzplaiksnījumus, ikonas un citus komponentus gatavā mobilās aplikācijas failā, ko var augšupielādēt Apple AppStore, Google Play, Windows Phone Apps/Windows Apps veikalos.
Kāpēc viss ir tik grūti? Kāpēc to nevar izdarīt mobilajā ierīcē tieši tāpat, kā to dara uz lielas platformas? Tie. instalēt ierīcē vienu mobilo platformu un ielādēt tajā jebkādu skaitu konfigurāciju/lietojumprogrammu? Tas aizliedz noteikt licencēšanas ierobežojumus lietotnēm, kas tiek izplatītas, izmantojot lietotņu veikalus. Piemēram, ja jūsu lietojumprogramma lejupielādē izpildāmo kodu (skripta veidā) internetā, tas nekad neparādīsies Apple lietotņu veikalā. Taču jāsaprot, ka iespēja lejupielādēt jebkuru konfigurāciju, kas ir izstrādātāja mobilajā platformā, nav paredzēta mobilo aplikāciju izplatīšanai pat viena uzņēmuma ietvaros, nemaz nerunājot par izplatīšanu izstrādātāja klientiem.
Pēc tam, kad mobilā lietojumprogramma atrodas mērķa mobilajā ierīcē, kļūst nepieciešams izmantot kādu datu bāzi (dati ir kaut kur jāsaglabā). Kā datu bāzes dzinējs mobilā platforma izmanto savu datu bāzes dzinēju, kas tiek pārnests uz mobilo platformu no personālā datora platformas. Tas ir pietiekami kompakts un ātrs, bet galvenais ir tas, ka tas nodrošina tieši tādu pašu uzvedību, pie kuras ir pieraduši aplikāciju izstrādātāji, strādājot pie personālajiem datoriem paredzētās platformas.
Ir arī vērts atzīmēt, ka mobilā lietojumprogramma ir veidota pēc tādas pašas shēmas kā parastās platformas darbs ar informācijas bāzes faila versiju: ​​ir klienta daļa, ir servera daļa, ir datubāze un tur ir klienta un servera mijiedarbība.
Pati mobilā platforma ir rakstīta kā vietējā lietojumprogramma, kas apkopota binārā kodā galvenajām procesoru arhitektūrām, kuras pašlaik tiek izmantotas mobilajā pasaulē: šī ir ARM v5 un augstāka arhitektūra un x86.
Turklāt mijiedarbībai ar noteiktām mobilās ierīces funkcijām (telefonija, GPS, darbs ar iebūvēto kameru utt.) var būt nepieciešamas īpašas atļaujas. Operētājsistēmā iOS tās tiek iestatītas tieši pašas aplikācijas darbības laikā, savukārt Android gadījumā atļaujas tiek norādītas aplikācijas izveides laikā. Nepieciešamās atļaujas tiek norādītas, izstrādājot mobilo lietojumprogrammu, un tās izmanto mobilo ierīču lietojumprogrammu veidotājs, bet vairāk par veidotāju vēlāk.

Mazliet par izstrādātāju platformu

Kamēr mēs izstrādājam mobilo aplikāciju, mums nav saistoši licencēšanas ierobežojumi, kas noteikti mobilajām lietojumprogrammām, kuras tiek izplatītas lietojumprogrammu veikalos. Tas nozīmē, ka 1C mobilo platformu varam izmantot tāpat kā “lielo” platformu personālajā datorā - viedtālrunī/planšetdatorā instalējiet pašu mobilo platformu un ielādējiet tajā mobilo aplikāciju konfigurācijas. Pēc palaišanas platforma mums parādīs tajā reģistrēto lietojumprogrammu sarakstu:

Lai platformai pievienotu jaunu lietojumprogrammu, resursā, kas pieejams no mobilās ierīces, izmantojot HTTP protokolu, ir jāievieto XML fails ar tā aprakstu. Ērtākais veids, kā to izdarīt, ir konfiguratorā, izmantojot izvēlni "Konfigurācija \ Mobilā lietojumprogramma \ Publicēšana". Šajā gadījumā XML fails ar lietojumprogrammas konfigurāciju tiek ievietots tīmekļa serverī izstrādātāja datorā (attiecīgi šim datoram ir jābūt tīmekļa serverim - IIS vai Apache).

Ja lietojumprogrammai norādāt opciju "Restartēt no konfiguratora", lietojumprogramma mobilajā ierīcē tiks automātiski atjaunināta no izstrādātāja datora katru reizi, kad izstrādātājs atjaunina tīmekļa serverī mitināto XML konfigurācijas failu.
Ja ir iespējota opcija "Atkļūdošana iespējota", lietojumprogrammu soli pa solim var atkļūdot mobilajā ierīcē, izmantojot izstrādātāja datora konfiguratoru (konfiguratorā sadaļā "Rīki \ Opcijas" ir opcija "Atkļūdošana, izmantojot HTTP protokolu". " ir jāizvēlas izvēlne). Ja konfiguratorā iestatāt pārtraukuma punktus kodā un atlasāt komandu "Mobilā lietojumprogramma - sāciet atkļūdošanu", mobilā lietojumprogramma ierīcē apstāsies, kad izpildāmais kods sasniegs pārtraukuma punktu, un jūs varat skatīt mainīgo vērtības, zvanu steku utt. konfiguratorā.

Kas var?

Tātad, ko dara mobilā platforma? Pietiekami:)
Ja neizmantojat īpašos 1C:Enterprise nosacījumus, mobilā platforma sniedz iespēju strādāt ar normatīvo un atsauces informāciju, noformēt dokumentus, kas apraksta dažas ārējās darbības, skatīt pārskatus, sazināties ar ārpasauli, izmantojot interneta pakalpojumus, un daudz ko citu. vairāk. Tie. tas nodrošina aplikāciju izstrādātājam iespēju uzrakstīt diezgan funkcionālu aplikāciju, piemēram, mājas finanšu uzskaites programmu, mobilo pārdošanas programmu un tamlīdzīgi.
Bet papildus parastajai funkcionalitātei, kas ir personālā datora platformā, mobilajai platformai ir jānodrošina darbs ar īpašām funkcijām, kas ir unikālas mobilajām ierīcēm:
  • darbs ar zvaniem un zvanu žurnālu;
  • strādāt ar īsziņām (SMS) un to sarakstu;
  • kontakti;
  • kalendāri;
  • ģeopozicionēšana (bez maršrutu ieklāšanas);
  • ļauj fotografēt, kā arī video un audio ierakstu;
  • reaģēt uz ekrāna orientācijas izmaiņām;
  • darbs ar paziņojumiem (vietējie un PUSH, gan tieši, gan ar speciāla starpniecības pakalpojuma starpniecību);
  • skenēt svītrkodus un QR kodus ar kameru
  • Mobilo aplikāciju monetizācija (t.i., veids, kā sniegt mobilo aplikāciju izstrādātājam iespējas gūt papildu ienākumus):
    • Darbs ar Apple In-App Purchase (operētājsistēmai iOS) un Google Play In-App Billing (Android OS) iegādes pakalpojumiem, ar kuriem mobilajā aplikācijā var organizēt dažāda veida abonementus, funkcionalitātes pirkumus u.c.
    • Rādīt reklāmas mobilajās lietotnēs (pašlaik tiek atbalstītas iAd operētājsistēmai iOS un AdMob operētājsistēmai Android).
  • utt.
Skaidrs, ka katrā konkrētajā ierīcē dažas funkcijas var nebūt pieejamas, tāpēc, lai noteiktu, ko var darīt ierīcē, kurā darbojas mobilā aplikācija, tiek nodrošinātas īpašas metodes, kas ļauj noskaidrot, kas šajā ierīcē ir pieejams, piemēram, iespēja sastādīt numurus vai nē. Tādējādi tiek realizēta aptuveni šāda izmantošanas shēma: mēs pārbaudām, vai ir iespējams izmantot kādu iespēju, un, ja iespējams, mēs to izmantojam:
Ja TelephonyTools.SupportedDial() Tad TelephonyTools.DialNumber(Tālruņa numurs, zvaniet nekavējoties); EndIf;
Mums svarīgs uzdevums ir slēpt no aplikāciju izstrādātāja informāciju par izmantoto mobilo OS, nodrošināt viņam vienotus mobilos funkcionalitātes izmantošanas mehānismus. Mēs uzskatām, ka esam veiksmīgi atrisinājuši problēmu. Atšķirības ieviestajos mehānismos vai nu nav, vai ir samazinātas līdz minimumam. Izņemot, protams, gadījumus, kad vienā no operētājsistēmām vispār nav funkcionalitātes.
Piemēram, Google un Apple darba ar push paziņojumiem tehnika ļoti atšķiras. Mēs esam ieguldījuši daudz pūļu, lai apvienotu mehānismu darbam ar PUSH paziņojumiem no lietojumprogrammas koda. Mobilās aplikācijas gadījumā mums izdevās gandrīz 100%: viens un tas pats aplikācijas kods mobilajā ierīcē apstrādā PUSH paziņojumu saņemšanu gan iOS, gan Android ierīcēs. Un kods PUSH paziņojumu nosūtīšanai servera lietojumprogrammā arī izskatās tāpat. Bet, lai panāktu šādu apvienošanu, mums bija jāizstrādā īpašs starpniekserveris https://pushnotifications.1c.com/ , kas slēpj no izstrādātāja dažādas metodes darbam ar Apple Push Notification Service (APNS) un Google Cloud Messaging (GCM) ). Visa atšķirība slēpjas dažādos iestatījumos tieši starpniekservera vietnē https://pushnotifications.1c.com/ ; lai strādātu ar APNS, vietnē ir jāaugšupielādē SSL sertifikāts (ko Apple izsniedz lietojumprogrammai pēc izstrādātāja pieprasījuma), lai strādātu ar GCM, ir jānorāda unikāls lietojumprogrammas identifikators.
Acīmredzot visas funkcijas, kuras vēlaties iegūt mobilajā aplikācijā, nav iespējams uzreiz ieviest. Un vienmēr ir jāatrod kompromiss starp vairākām ļoti noderīgām lietām. Un, ja jums kaut kā pietrūkst, rakstiet mums par to, kādus biznesa uzdevumus (galu galā platforma, pirmkārt, ir rīks biznesa uzdevumu īstenošanai!) Jūs nevarat atrisināt un kāds mehānisms jums to palīdzētu.

Kā tas izskatās?

Mobilās platformas grafiskais interfeiss ir atsevišķs jautājums. Programmā 1C: Enterprise, kā jūs zināt, saskarne ir aprakstīta deklaratīvi. No vienas puses, tas uzliek dažus ierobežojumus lietotāja interfeisa attīstībai (piemēram, nav iespējama pozicionēšana pa pikseļiem), bet, no otras puses, tas ļauj platformai vienmērīgi atveidot saskarni ekrānos. dažādu izmēru plānos un tīmekļa klientiem. Mēs centāmies pieturēties pie tāda paša principa arī mobilajā platformā. Cik labi mēs to paveicām? Mēģināsim to izdomāt.
Pirmajās mobilās platformas versijās (līdz 8.3.5 ieskaitot) lietojumprogrammu grafiskais interfeiss izskatījās ļoti pazīstams pieredzējušiem 1C lietotājiem; patiesībā viņš no 1C "darbvirsmas" versijām pazīstamo interfeisu pārnesa uz mobilo pasauli. Bet no lietotāju viedokļa, kuri iepriekš nebija pazīstami ar 1C, interfeiss izskatījās nedaudz arhaisks.
Ņemot vērā komentārus un ieteikumus, esam radikāli pārskatījuši savu pieeju mobilajam interfeisam versijā 8.3.6. Var teikt, ka savām lietojumprogrammām esam izveidojuši pilnīgi jaunu mobilo saskarni. Tam ir daudz kopīga ar mūsu Taxi saskarni. Mobilo aplikāciju izstrādātāju izstrādes modelis atbilst Taxi izstrādes modelim. Tajā pašā laikā mobilā saskarne pilnībā atbilst dizaina pieejām, kas pieņemtas mobilajās lietojumprogrammās un . Interfeiss pilnībā ņem vērā mobilās pasaules specifiku: mazs ekrāna izmērs (kas nozīmē, ka grafisko elementu dizainam jākļūst askētiskākam - bez ēnām, gradientiem), ir atbalsts pirkstu žestiem utt. Interesants fakts: jaunais platformas mehānisms, kas atbild par elementu ievietošanu formā (izkārtojumā), izrādījās tik veiksmīgs un savlaicīgs mobilajai platformai, ka tas tika izlaists tajā agrāk (versijā 8.3.6) nekā personālā datora platformā (gadā versija 8.3.7), kurai tā galvenokārt bija paredzēta.
Attēlā var redzēt, kā ir mainījies mūsu interfeiss.
Lietojumprogramma "Maza uzņēmuma vadība" mobilās platformas 8.3.5 versijā:


Tas ir versijā 8.3.6:

Un šādi izskatās mobilās platformas interfeiss tiešraidē:

Kolekcionārs - un kas tas par dzīvnieku?

Kā jau minēts iepriekš, mobilā aplikācija sastāv no vairākiem komponentiem (faktiskā mobilā platforma, konfigurācija, dažādi resursi), kuriem ir jābūt vienotam veselumam, lai aplikāciju ievietotu veikalā. Lai atvieglotu komponentu pārveidošanu aplikācijā, ir izstrādāts mobilo aplikāciju montētājs. Šī ir 1C:Enterprise platformā izveidota konfigurācija (lietojumprogramma), kas savā datubāzē glabā visus komponentus, kas nepieciešami mobilās lietojumprogrammas izveidošanai. Lai montētājs varētu veikt savu darbu, ir jālejupielādē un jāinstalē dažādas programmatūras pakotnes, kas nepieciešamas tā darbībai (Java un Android SDK u.c.), pēc tam montētāja iestatījumos jānorāda ceļi uz šīm pakotnēm un jāiestata dažas papildus. parametri (izstrādātāja atslēgas utt.).


Pēc uzstādīšanas kolektors ir gatavs darbam. Kopumā darbs ar kolekcionāru izskatās šādi:
  1. Mēs lejupielādējam 1C mobilās platformas versiju, uz kuras mēs veidosim lietojumprogrammu
  2. Notiek konfigurācijas ielāde, no kuras mēs veidosim mobilo aplikāciju
  3. Mēs izveidojam mobilo aplikāciju, kurā norādām, kurām platformām (Android, iOS, Windows) ir jāveido, kāda konfigurācija un platforma jāizmanto (jo īpaši norādiet, kuru sertifikātu veidot iOS izmantot, ja aplikācija darbojas ar PUSH - paziņojumi).
  4. Veicam mobilās aplikācijas montāžu ar vienu klikšķi visām izvēlētajām platformām
  5. Ar vēl vienu klikšķi apkopotās mobilās aplikācijas nosūtām uz aplikāciju veikaliem (ja šī ir iOS vai Android aplikācija). Windows Apps / Windows Phone Apps veikalos lietojumprogramma ir jāaugšupielādē manuāli, jo Microsoft vēl nenodrošina API, lai veikalā mitinātu lietotni.
Atsevišķi jāatzīmē, ka montētājs nav nepieciešams mobilās lietojumprogrammas izstrādei un atkļūdošanai. Lai to izdarītu, varat izmantot izstrādātāja mobilo platformu un Configurator rīkus, lai pārsūtītu konfigurāciju uz mobilo ierīci. Bet, lai izplatītu mobilo lietojumprogrammu, jums ir nepieciešams montētājs.

Lietojumprogrammas mobilajā platformā

Pats uzņēmums 1C mobilajā platformā izlaiž vairākas lietojumprogrammas, kas ir 1C servera lietojumprogrammu mobilie klienti (1C: dokumentu pārvaldība, 1C: mazo uzņēmumu pārvaldība utt.). Šīs lietojumprogrammas īsteno noteiktu "parasto" klientu funkcionalitātes apakškopu. 1C: Small Business Management mobilās versijas gadījumā funkcionalitāte ir pietiekama, lai pilnībā izmantotu programmu, un nereti esam redzējuši situāciju, kad klientiem biznesa vadīšanai pietiek ar aplikācijas mobilo versiju.
Mūsu partneri mobilo platformu izmanto gan masveidā ražotu mobilo aplikāciju izstrādei, kas tiek izplatītas caur lietotņu veikaliem, gan arī pēc konkrētu klientu pieprasījuma veidotām pielāgotām aplikācijām. Starp aprites lietojumprogrammām ir lietojumprogrammas, kas izmanto ne-1C aizmugursistēmu kā centrālo datu krātuvi.
Starp mobilajām lietojumprogrammām, kas izveidotas pēc klientu pasūtījuma, var minēt mobilo klientu "1C: Manufacturing Enterprise Management", kas izveidots pēc lielas inženieru holdinga pasūtījuma. Apmēram simts holdinga darbinieku mobilo aplikāciju izmanto karstajos veikalos, kur drošības apsvērumu dēļ nav iespējams uzstādīt stacionāros datorus. Mobilās ierīces iebūvētā kamera tiek izmantota, lai nolasītu preču svītrkodus un meklētu tos krājumu saraksta direktorijā, mobilā aplikācija ļauj saprast, kurā tehnoloģiskās ķēdes posmā atrodas šis produkts, atzīmēt eju nākamā produkta darbība utt.

Secinājums

Mēģinājām ļoti virspusēji aprakstīt mobilo platformu, ko tā ļauj darīt un kāpēc sanāca tā, kā sanāca. Šajā rakstā gandrīz nekas nav teikts par mobilo Windows. Tam ir vairāki iemesli: pirmkārt, Windows mobilās platformas versija tika izlaista salīdzinoši nesen (“1C:Enterprise” versija 8.3.7), un, otrkārt, šai mobilās platformas versijai nav būtisku atšķirību no ieviešana citām mobilajām operētājsistēmām. Protams, mēs palielināsim Windows OS funkcionalitāti. Kā arī mobilās platformas funkcionalitātes palielināšana kopumā. Tātad tuvākajā nākotnē mums ir - atbalsts ārējiem komponentiem mobilajā platformā; šis mehānisms (kas jau sen ir pieejams "lielajā" platformā) ļaus izstrādātājiem mobilajā platformā ieviest funkcionalitāti, kas kāda iemesla dēļ nav pieejama.
Tradicionāli 1C:Enterprise tehnoloģiju platformas stiprās puses ir izstrādātāja lietošanas vienkāršība un biznesa lietojumprogrammu izveides un modificēšanas ātrums. Mobilā platforma 1C ir pārnesusi abus šos trumpjus uz mobilo pasauli. 1C mobilā platforma ir iespēja ātri izstrādāt lietojumprogrammu, kas darbojas trīs populārākajās mobilajās platformās (iOS, Android, Windows Phone / 8.1 / 10). Pateicoties plašajam no platformas neatkarīgo integrācijas rīku klāstam (tīmekļa un HTTP pakalpojumi utt.), 1C mobilā platforma ir iespēja ātri izveidot mobilo klientu trīs mobilajām platformām gandrīz jebkurai servera lietojumprogrammai, kas atbalsta kādu no 1C platformā pieejamās integrācijas metodes (tīmekļa un HTTP pakalpojumi, failu apmaiņa utt.).

Aptaujā var piedalīties tikai reģistrēti lietotāji. , lūdzu.