Deci, de ce sunt aplicațiile mobile 1C o idee bună? Sfaturi de automatizare Aplicație mobilă 1c pentru Android

Dezvoltarea aplicațiilor mobile este întotdeauna asociată cu nevoia de a învăța tehnologii suplimentare. Ce se întâmplă dacă reconsiderăm întrebarea și folosim instrumente deja familiare?

Pentru prima dată, compania 1C a încercat să intre piata de dezvoltare mobilaîn anul 2006. În acel moment, a existat o adevărată grabă de a automatiza munca angajaților de la distanță folosind PDA-uri. Au apărut programe noi pentru rezolvarea unor astfel de probleme ca ciupercile, iar un furnizor precum 1C cu produse de succes pentru automatizarea diverselor domenii de afaceri nu putea rata șansa de a intra pe o piață profitabilă.

Până la jumătatea anului 2006, compania a prezentat lansarea unui nou produs cu numele promițător „1C:Enterprise 8. Extensie pentru computere portabile”. Dezvoltatorii 1C, care au văzut perspectivele celei de-a 8-a platforme, au început să spere că acum, folosind un singur instrument, a devenit posibil fără prea multe dificultăți să se dezvolte pentru sistemul de operare mobil „Windows Mobile”, care era popular în acei ani.

În practică, totul părea mult mai rău. Acest instrument nu ne-a permis să implementăm idei originale. Punga de plastic " Extensie pentru computere portabile» a fost mai mult un supliment pentru anumite configurații tipice decât o soluție de dezvoltare cu drepturi depline. Nu a existat nicio prevedere pentru a extinde funcționalitatea de configurare prin adăugarea de noi obiecte de metadate. Lucruri foarte simple au fost lăsate în seama programatorilor terți: crearea de noi formulare pentru interacțiunea cu utilizatorul, procesarea evenimentelor utilizatorului.

Da, au existat tot felul de soluții pentru restricții, dar nici măcar acestea nu au permis o dezvoltare reală. Pe lângă limitările tehnice, consumatorii au simțit o barieră financiară serioasă. Companiile care au decis să implementeze soluția de la 1C au fost obligate să achiziționeze PDA-uri productive, să achiziționeze licențe pentru Windows Mobile și, de asemenea, să plătească 1C pentru livrarea soluției și a aplicației finale.

Soluția de la 1C a fost prea scumpă. Companiile obișnuite să economisească bani au continuat să folosească soluții alternative. Mai mult, dezvoltatorii de alternative au reușit să-și echipeze produsele cu funcționalități de interacțiune cu soluții standard 1C.

Limitările tehnice și costul ridicat nu au permis produsului să repete succesul colosal al platformei desktop. Ideea de a cuceri piața mobilă a clădirii.

aplicațiile au eșuat lamentabil.

Pas înainte

Pierderile și pierderile dintr-un proiect nereușit nu au pus capăt dezvoltării unei direcții promițătoare. În 2013, compania 1C a introdus prima versiune stabilă a noii platforme 8.3, care are funcția de a dezvolta aplicații mobile.

1C și-a regândit complet abordarea pentru rezolvarea „teoremei” mobile și a ținut cont de greșelile produsului anterior nereușit. Rezultatul este un instrument complet nou, care nu are nimic în comun cu predecesorul său și se concentrează pe cele mai actuale platforme mobile - Android și iOS.

Aplicații mobile în stil 1C

Pentru a ne familiariza pe deplin cu capacitățile de dezvoltare pentru platformele mobile, vom încerca să dezvoltăm o configurație mică. Folosind un exemplu end-to-end, puteți evalua mai bine funcționalitatea disponibilă și puteți decide asupra posibilității de a utiliza platforma 1C pentru a rezolva probleme.

Pentru a funcționa, veți avea nevoie de cea mai recentă versiune a platformei 1C:Enterprise 8.3. Versiunea educațională a distribuției este disponibilă pe site-ul oficial 1C. Există mai mult decât suficient pentru a recrea un exemplu al capabilităților sale.

Pe lângă platforma 1C:Enterprise 8.3, vom avea nevoie de o serie de instrumente suplimentare. Acest articol va analiza un exemplu de dezvoltare a unei aplicații Android. În acest sens, va trebui să descărcați: Android SDK și Apache WEB server. Prima componentă conține tot ce este necesar pentru construirea aplicației și un emulator pentru testare, iar serverul WEB este util pentru descărcarea rapidă a aplicației pe sistemul de operare mobil.

De asemenea, vom solicita livrarea unei „Platforme pentru dezvoltatori mobili”. Conține o configurație pentru a simplifica procesul de construire a aplicației mobile create, precum și o platformă de dezvoltator mobil. Trebuie instalat pe un dispozitiv mobil sau pe un emulator.

Pentru a crea o aplicație pregătită pentru distribuție prin Google Play, va trebui să o descărcați ApacheantȘi JavaJDK. Acest subiect depășește domeniul de aplicare al articolului, așa că puteți afla mai multe despre lucrul cu aceste instrumente și asamblarea aplicației în secțiunea corespunzătoare a mea.

Configurarea instrumentelor

Platforma " 1C: Întreprindere 8.3" și serverul web Apache sunt furnizate cu programe de instalare și sunt instalate într-un mod standard. Android SDK trebuie doar să-l dezarhivați într-un director separat și să rulați „ sdk manager.exe" O fereastră va apărea în fața ta cu o selecție de pachete disponibile pentru instalare. Pentru a testa exemplul discutat în acest articol, va trebui să selectați și să instalați: Instrumente Android SDK, A Instrumentele platformei Android, SDK Platform API 17.

Ultimul pas va fi crearea unei noi baze de informații. Pentru cei care nu sunt implicați în dezvoltare sub „ 1C: Întreprindere„Voi explica că orice soluție pentru această platformă constă într-o bază de informații și configurație. Adăugarea unei noi baze de date se face făcând clic pe „ Adăuga» fereastra de pornire. După adăugarea bazei de date, deschideți-o în „ Configurator».

Prima configurație mobilă

În meniul principal al configuratorului vom găsi secțiunea „ Configurare" și selectați "Deschideți configurația". Arborele de configurare (obiectele care vor alcătui viitoarea aplicație) va fi afișat în partea stângă a ferestrei. Selectați rădăcina de configurare în ea și apăsați combinația de taste „ Alt+Enter" Editorul de proprietăți se va deschide în partea dreaptă a ferestrei configuratorului.

Să numim configurația „ A FACE" și în proprietatea "Scopul utilizării" indicăm " Dispozitiv mobil" Vă rugăm să rețineți că după efectuarea ultimei acțiuni, unele noduri ale arborelui de configurare vor deveni inactive. Din păcate, nu este posibilă utilizarea tuturor obiectelor de metadate pe platforma mobilă.

Pentru a ne rezolva problema, va trebui să creăm mai multe obiecte de metadate în arborele de configurare:


Procedura AddTask(Task) ExportRecordManager = CreateRecordManager(); RecordManager.Period = CurrentDate(); RecordManager.Task = Sarcină; RecordManager.Status = Task.Status; RecordManager.Record(); Sfârșitul procedurii

Lista 2. Codul funcției „Get List of Unclosed Tasks()”

Funcția GetList of UnClosedTasks() Export Request = New Request; Query.Text = "SELECT |TaskStatusSliceLast.Task AS Sarcină, |TaskStatusSliceLast.Task.ExecutionDate AS ExecutionDate |FROM | Informații Register.TaskStatus.SliceLast(&CurrentDate, Status<>VALUE(Enumeration.TaskStatuses.Completed)) AS StateTasksSliceLast | |COMANDA DE | Data execuției DESC"; Request.SetParameter("CurrentDate", CurrentDate()); Return Request.Execute().Unload(); EndFunction

Am rezolvat să obținem date din registrul de informații și să le înregistrăm, acum să învățăm directorul nostru cum să lucrăm cu registrul. Pentru a face acest lucru, adăugați un modul comun la arborele de configurare cu numele „ Lucrul cu sarcini" Puteți face fără el, dar aș dori imediat să mă concentrez asupra posibilității de a împărți codul în module. Mulți dezvoltatori 1C încă neglijează această recomandare și descriu toată logica într-un singur loc, complicând astfel întreținerea ulterioară a codului. Să creăm o nouă procedură în modulul " Creați o sarcină nouă„(vezi Lista 3).

Lista 3. Cod pentru procedura „Creare NewTask”.

Procedura CreateNewTask(Link) Export If Link.ThisGroup Then Return; endIf; Solicitare = Solicitare nouă; Query.Text = "SELECT |TaskStatusSliceLast.Status |FROM |Informații Register.TaskStatus.SliceLast(&CurrentDate, Task = &Task) AS TaskStatusSliceLast"; Query.SetParameter("CurrentDate", CurrentDate()); Request.SetParameter(„Sarcina”, Link); Rezultat = Query.Run().Select(); Dacă Result.Next() Atunci Dacă Result.Status<>Link.Status Apoi Informații Registers.Task Status.AddTask(Link); endIf; Altfel Informații Registers.TaskStatus.AddTask(Link); endIf; Sfârșitul procedurii

Înainte de a crea o înregistrare nouă, se verifică prezența înregistrărilor existente pentru sarcină. Dacă înregistrarea există deja, atunci trebuie să comparați stările sarcinilor. Dacă starea din registru nu diferă de starea elementului care este scris, nu este nevoie să creați o intrare suplimentară.

Ca o atingere finală, să deschidem formularul elementului de director „Sarcini” și să creăm un handler de evenimente „ AfterRecordingOnServer" În el vom scrie un apel la procedura descrisă în a treia listă:

WorkWithTasks.CreateNewTask(CurrentObject.Link);

Lucrăm la interfață

Funcționalitatea principală a aplicației este gata - utilizatorul poate crea sarcini, iar fiecare sarcină nouă creează o intrare în registrul de informații periodice. Acum să trecem la interfață. Să aducem munca cu sarcini în prim plan. Cu siguranță ar fi logic să afișați imediat o listă de sarcini neînchise și posibilitatea de a crea una nouă imediat după lansarea aplicației?

Să găsim nodul " Forme generale" și adăugați un formular nou numit " Desktop" Să deschidem formularul creat în designerul de interfețe și să adăugăm un atribut ca „ Tabelul Valorilor" Să-i spunem „OpenZachi”. Tabelul va conține două coloane - „ Sarcină„(Referință Link.Tasks) și „ Data executiei" (Data de).

Următorul pas este să trageți elementele de recuzită adăugate în formular. Ar trebui să avem o interfață pentru un tabel simplu. Nu vom specifica nicio dimensiune; vom lăsa grija de scalare a interfeței pe platformă.

Pentru tabelul creat, în Property Inspector, setați caseta de selectare pentru proprietatea " Doar vizualizare", și proprietatea" Poziția panoului de comandă» setați valoarea „Nu”. Vom umple tabelul cu informații dinamice, așa că nu are rost să le edităm din partea utilizatorului.

Acum să descriem handlerul de evenimente „When CreatedOnServer” pentru formular. Să adăugăm o linie de cod la el:

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

În cod, ne referim la procedura pe care am descris-o " Obțineți lista sarcinilor neînchise” iar rezultatul executării lui se pune în tabel.

Să revenim la designerul de formulare și să adăugăm un grup de tip „Grup obișnuit fără afișare” cu două butoane: „ Crea" Și " Actualizați" proprietate " Gruparea„Pentru grupul adăugat, setați valoarea la „Orizontal”. Pentru a face butoanele mai expresive, adăugați imagini și schimbați fontul implicit.

Acum selectați butonul " Crea"și dați-i comanda globală" Sarcini: creați" Acest lucru vă va permite să creați sarcini fără a intra în directorul în sine. Făcând clic pe al doilea buton, vom actualiza conținutul tabelului cu sarcini. Pentru a face acest lucru, va trebui să creați o comandă de formular suplimentară.

Toate comenzile de formular noi sunt create în fila cu același nume " Echipe" Principiul este simplu - adăugăm o nouă comandă, descriem codul de acțiune în ea și apoi asociem comanda cu interfața, în cazul nostru cu butonul.

De asemenea, nu ar trebui să uităm că dezvoltăm o aplicație gestionată, așa că trebuie să distingem clar între codul client și cel al serverului. Când se face clic pe butonul va apărea un context " OnClient", și vom primi date din baza de date de la server. În cod arată așa:

&În procedura client UpdateTaskList(Command) UpdateList(); Sfârșitul procedurii &Pe server Procedura Când este creată pe server (Eșec, Procesare standard) OpenTasks.Load(InformationRegisters.TaskStatus.GetListofUnClosedTasks()); Sfârșitul procedurii

Acum să definim formularul nostru de pe desktop ca zonă a paginii de pornire. Deschideți proprietățile de configurare (selectați cel mai de sus nodul și faceți clic pe „ Alt+Enter") și pentru proprietatea "Zona de lucru a paginii de start" setați valoarea " O coloană", apoi adăugați formularul nostru la listă" Desktop».

Aplicația este complet gata și este timpul să o testați în acțiune. Încercați să rulați exemplul și să creați mai multe sarcini cu un alt statut decât " Efectuat" Registrul de informații a fost completat cu noi înregistrări (acesta poate fi vizualizat prin elementul de meniu „ Toate funcțiile"), iar unele dintre ele sunt afișate pe desktop.

Aterizare pe Android

Configurația funcționează excelent pe desktop și acum este momentul să o testați pe un emulator de sistem de operare mobil. Pentru a pregăti un nou emulator, rulați interpretul de comenzi ( cmd.exe) și accesați directorul „toos” al distribuției Android SDK. Rulați comanda " android.bat avd", care va lansa managerul virtual de dispozitive Android. În el, faceți clic pe butonul „Creați” și în fereastra care apare, specificați parametrii dispozitivului virtual. În mediul meu de lucru am decis să imit Nexus S cu Android versiunea 4.2.2. (API Nivel 17).

După crearea dispozitivului, îl vom lansa imediat. În timp ce Android se încarcă, să revenim la configurator și să publicăm aplicația noastră pe serverul web. În meniul principal al configuratorului, selectați elementul „ Configurare» -> « Aplicatie mobila» -> « Publica" În fereastra de setări de publicare, specificăm numele aplicației (poate fi orice), serverul web (în mediul nostru ar trebui să existe unul) și directorul pentru stocarea setărilor.

Specificarea ca nume " todo-mobil", aplicația va fi disponibilă la adresa - " http://gazdă/todo-mobile" Faceți clic pe „ok” și încercați să accesați aplicația publicată folosind un browser. Dacă are succes, serverul va returna codul XML al configurației create.

Să revenim la emulator și să încărcăm aplicația cu platforma de dezvoltator mobil în ea. Fișierul aplicației în sine este disponibil împreună cu livrarea platformei pentru dezvoltatori mobile și se numește „1cem-arm.apk”. Pentru a instala această aplicație în emulator, vom folosi utilitarul „ adb.exe"din director" platforme-instrumente»: adb.exe install –r 1cem-arm.apk.

După instalarea cu succes, deschideți lista de aplicații în emulator și lansați platforma pentru dezvoltatori mobile. În fereastra care se deschide, faceți clic pe „ Adăugați aplicația" și în câmpul "adresă" indicăm adresa URL a serverului nostru web. am asta http://192.0.168.106/todo-mobile. Faceți clic pe " Adăuga„și configurația noastră este transferată cu succes pe platforma mobilă. Aplicația este gata de utilizare. Testați rezultatul și reveniți la configurator, este timpul să oferiți aplicațiilor „funcționalitate mobilă”.

Trimiterea mesajelor SMS/MMS

Funcții pentru lucrul cu SMS/MMS mesageria este acceptată diferit de platformele mobile. De exemplu, atunci când rulează o aplicație pe Android, dezvoltatorul are posibilitatea de a se abona la SMS și de a obține acces la mesaje noi imediat după ce le-a primit. Din păcate, această funcție nu este disponibilă pe iOS, așa că documentația ar trebui să fie la îndemână în timpul dezvoltării.

Este prevăzut un obiect pentru trimiterea de mesaje SMS SMSMessage. Să ne uităm la un exemplu:

&OnClient Procedura SendSMSMessage(Destinatar, MessageText) NewMessage = New SMSMessage(); NewMessage.Text = MessageText; NewMessage.Recipients.Add(Destinatar); Instrumente de telefonie.SendSMS(NewMessage); Sfârșitul procedurii

Codul este destul de simplu și nu are nevoie de comentarii. Acum să ne uităm la abonarea la mesajele primite:

&Pe Procedura Client ConnectMessageReceivingHandler() SubscribeToMessages = New AlertDescription("ProcessingNewMessages", ThisObject); Instrumente de telefonie.ConnectSMSMessageHandler(SubscribeToMessages); Sfârșitul procedurii &Despre procedura client Procesarea mesajelor noi (Mesaj, parametri suplimentari) // Procesarea unui mesaj nou // Mesaj. Expeditor, mesaj. Text; Sfârșitul procedurii

Procedură " Procesarea mesajelor noi„ va fi apelat de fiecare dată când se primește un SMS nou. Prin parametrul " Mesaj se transmite „un obiect de tip”. SMSMessage» și putem obține cu ușurință textul mesajului și informații despre expeditor.

Lucrul cu mesajele MMS se realizează în același mod. Mai întâi creăm un mesaj SMS, apoi îi adăugăm un atașament (de exemplu, imagini). Cu această acțiune simplă, un SMS se transformă într-un MMS:

NewMessage= New SMSMessage(); Atașament = MMSAttachment nou; Attachment.Data = Imagine; Attachment.ContentType = "imagine/jpeg"; MMSMessage.Attachments.Add(Atașament);

Efectuarea de apeluri dintr-o aplicație mobilă

Un apel programatic este efectuat folosind metoda „Apelare număr” a obiectului global „Instrumente de telefonie”. Înainte de a apela metoda, este foarte recomandabil să verificați posibilitatea de a efectua un apel:

Dacă Telephony Tools.SupportedDialing() Atunci Telephony Tools.DialNumber(PhoneNumber, CallImmediately); endIf;

Parametrul " Sunați Imediat» afectează performanța de apelare. Când este egal cu " Adevărat", apelarea se realizează automat prin aplicația standard de apelare. Dacă este setat la Fals, utilizatorul va vedea și interfața de apelare standard, dar va trebui să apese butonul „ pentru a efectua un apel. Apel».

Jurnal de Apel

Platforma mobilă permite dezvoltatorului să interacționeze cu jurnalul de apeluri. De exemplu, puteți obține cu ușurință o listă de apeluri efectuate, pierdute sau primite. Această funcție este acceptată numai pe Android:

Jurnal de apeluri = Instrumente de telefonie.GetCall Log(); Selection = NewDataCompositionSelection; Selection Element = Selection.Elements.Add(Type("DataCompositionSelection Element"); SelectionElement.LeftValue = NewDataCompositionField("CallType"); SelectionElement.ComparisonView = ComparisonTypeDataLayout.Equals; SelectionElement.RightValue = CallLogCallType.Missed; SelectionElement.Use = Adevărat; Lista intrărilor CallLog = CallLog.FindRecords(Selection); //Lista de intrări din jurnalul de apeluri va conține o colecție de intrări

Geopoziţionarea

Aproape orice smartphone modern are funcții de geolocalizare. Puteți utiliza această funcționalitate din limbajul 1C încorporat. Obținerea coordonatelor curente ale dispozitivului poate fi împărțită în 2 etape: selectarea unui furnizor de geopoziționare și procesarea coordonatelor primite:

//Să oferim platformei alegerea furnizorului IdealProvider = Geopositioning Tools.GetMost AccurateProvider(); Coordonate = GeoPositioningTools.GetLastLocation(IdealProvider); //Dacă coordonatele au fost primite cu mult timp în urmă, atunci actualizați If Coordinates = Undefined SAU CurrentDate() – Coordinates.Date > 3600 Then Geopositioning Tools.UpdateLocation(IdealProvider, 60); Coordonate = GeoPositioningTools.GetLastLocation(IdealProvider); endIf;

Lucrul cu funcții multimedia

Dezvoltatorul are posibilitatea de a face fotografii, videoclipuri și înregistrări audio folosind limbajul încorporat: Fă o poză(), Faceți o înregistrare video(), Faceți o înregistrare audio().

Pentru ce sistem de operare mobil este mai bine de dezvoltat pe 1C?

În ciuda dragostei mele pentru tehnologia Apple, cel mai bine este să creez aplicații mobile folosind platforma 1C pentru Android. Există mai multe motive pentru aceasta, dar cel mai important este funcțiile acceptate. Din păcate, multe lucruri necesare nu sunt acceptate sub iOS. De exemplu, incapacitatea de a vă abona în mod programatic la mesajele SMS sau de a interacționa cu jurnalele de apeluri poate face imposibilă implementarea unor idei. Android este mai prietenos în acest sens. Nu uitați de costul dispozitivelor în sine. Nu toate companiile vor fi pregătite să facă plăcere pentru achiziționarea de dispozitive mobile de la Apple.

În loc să completeze

Platforma " 1C: Întreprinderea 8» și-a dovedit în practică disponibilitatea de a deveni un simplu instrument pentru dezvoltarea dezvoltării corporative. Aplicații pentru platforme mobile. Exemplele discutate în articol sunt o confirmare suplimentară în acest sens. Nu este deloc necesar să cheltuiți resurse pentru învățarea instrumentelor native dacă funcționalitatea aplicației se încadrează în capacitățile platformei mobile și compania este dominată de produsele 1C.

Acest articol este pentru cei care sunt interesați de clientul mobil. Ne vom uita la instalarea unui client mobil pe Android, conectarea depanării și asamblarea unei aplicații apk în configurația „Mobile Application Builder”.

În sfârșit, a apărut platforma mobilă de testare 8.3.12, iar acum putem testa funcționarea clientului mobil. Nu știu despre tine, dar mulți dezvoltatori pe care îi cunosc au așteptat asta de la publicarea articolului despre „1C: Through the Looking Glass” (client mobil).

Presupun că sunteți familiarizat cu instalarea unei aplicații mobile și a generatorului de aplicații mobile și, de asemenea, că aveți deja instalat Android SDK, Apache Ant etc. Există deja o mulțime de articole pe această temă.

Pentru experimentele noastre, să luăm configurația demonstrativă „Aplicație gestionată” și, mai întâi, să încercăm să o conectăm la un client mobil gata făcut. În cazul meu, distribuția clientului este fișierul „1cem-client-arm.apk”. Capacitatea de a instala aplicații din surse necunoscute trebuie mai întâi activată pe smartphone-ul tău. Pentru mine arata asa:

Clientul mobil este un analog al clientului web, prin urmare, pentru a accesa baza de date, acesta trebuie publicat pe serverul web. Totul este standard aici, public pe un server web IIS numit „demo”. Baza mea de date este bazată pe fișiere, așa că trebuie să acord drepturi asupra directorului utilizatorului IUSR. Mă bucur că sistemul în sine mi-a amintit de asta.

Conectați baza de date în clientul mobil:

Desigur, nu a fost posibilă intrarea imediată în baza de date. Ideea este că administratorul deschide procesarea pentru lucrul cu e-mailul și încearcă să seteze o pictogramă pentru bara de activități, care nu este prezentă în clientul mobil. Deoarece această funcționalitate nu este disponibilă nici în clientul web, codul este încadrat în directivele de compilare „#If Not WebClient Then”. Trebuie doar să găsim toate locurile în care este utilizată această directivă și să o schimbăm în „#If Not WebClient AND Not MobileClient Then”. Pentru început, acest lucru este suficient și putem vedea în sfârșit clientul mobil funcționând. Interfața de comandă arată astfel:

Iată lista contrapărților:

Desigur, acestea nu sunt toate locurile care trebuie adaptate pentru clientul mobil. Puteți verifica configurația folosind „Meniul principal - Configurare - ---Verificare configurație”:

Am găsit 84 de erori, inclusiv obiecte de metadate neacceptate. Plus acele trei locuri din cod pe care le-am limitat deja cu directive. Așa că mai trebuie să lucrezi la adaptare, dar acest lucru cu siguranță nu este același lucru cu a scrie o aplicație mobilă de la zero.

Lansarea sub alte roluri are loc în același mod, trebuie doar să setați dreptul de a lansa clientul mobil.

Dacă nu înțelegem care este eroarea, depanarea ne va ajuta. Este disponibil în clientul mobil, dar este utilizată numai depanarea HTTP. Am o bază de date de fișiere, așa că voi folosi serverul local de depanare ("Instrumente - Opțiuni - Depanare") și voi configura o conexiune automată pentru clientul mobil ("Depanare - Conexiune - Conexiune automată"):

Specificați parametrii și gata:

Configurarea pentru clientul apk pre-preparat de la 1C este completă.

Acum să construim apk-ul nostru folosind generatorul de aplicații mobile. Sincer, am petrecut câteva ore încercând să construiesc aplicația prima dată. Adunarea a continuat, dar s-a deschis o listă goală de baze de date.

Și așa, avem o arhivă a versiunii mobile a platformei. Îl încărcăm în directorul „Versiuni mobile”:

În setările colectorului, a apărut un articol separat pentru SDK 26 și versiunile superioare (pentru cei, ca mine, care nu s-au actualizat de mult timp, lansează SDK Manager și descarcă pachete noi):

În continuare, trebuie să pregătiți un fișier de configurare. Cu acest pas am avut probleme la început. Apoi am deschis documentația și totul a devenit puțin mai clar. Ghidul dezvoltatorului spune următoarele despre aceasta: „Fiecare configurație care poate funcționa în clientul mobil conține câteva informații auxiliare care vă permit să urmăriți înlocuirea configurației”.
Fișierul de configurare trebuie să fie semnat. În acest caz, pentru fiecare configurație se generează propria sa cheie privată, iar cheia publică (câmpul DSAKey) este încărcată în fișierul 1cemca.xml, cu care se compară semnătura configurației.

Pentru a genera o cheie și o semnătură, accesați proprietățile configurației „Semnătură client mobil” (imediat sub permisiunile necesare, dacă proprietățile dvs. sunt împărțite pe categorii și nu alfabetic) și vedeți setările semnăturii:

În primul rând, creăm o cheie privată și o ascundem de spioni și inamici. Apoi, creăm o semnătură de configurare. Pentru viitor, manualul recomandă să mergeți la „Meniul principal - Configurare - Client mobil - Configurarea utilizării clientului mobil”. În caseta de dialog, bifați caseta de selectare „Verificați semnătura clientului mobil la actualizarea configurației bazei de date” și faceți clic pe butonul „OK”. Judecând după manual, semnătura se va schimba dacă modificăm compoziția sau numele tipurilor de obiecte de metadate, precum și numele și/sau compoziția cheilor de intrare în registru. Acestea. modificarea formularelor cu siguranță nu afectează semnătura și, judecând după descriere, modificarea compoziției detaliilor directoarelor și documentelor existente (dar acest lucru nu este sigur).

Semnătura este gata, putem continua. Permiteți-mi să vă spun imediat că procesele de fundal nu sunt disponibile în clientul mobil, așa că trebuie să fie dezactivate în permisiunile clientului mobil. Partajarea fișierelor de pe un computer nu este, de asemenea, disponibilă. În plus, am dezactivat geopoziționarea, astfel încât în ​​timpul asamblarii să nu existe o eroare din cauza lipsei unei chei pentru lucrul cu hărți. Am ajuns cu următoarea listă de permisiuni:

Mai recent, platforma mobilă 1C Enterprise 8.3 a fost distribuită de 1C doar între abonații plătiți. Dar nu cu mult timp în urmă, compania 1C și-a revizuit politica cu privire la această problemă, iar acum versiunea electronică a platformei mobile este distribuită gratuit împreună cu.

Ce este platforma mobilă 1C 8.3?

Este posibil să știți deja că platforma 1C Enterprise 8.3 în sine vă permite să dezvoltați aplicații mobile. În acest caz, dezvoltarea unei aplicații mobile se realizează exact în același mod ca și dezvoltarea unei configurații „obișnuite”. Dar cum poate fi lansată o configurație dezvoltată în acest fel pe un smartphone sau tabletă? În aceste scopuri vom avea nevoie de platforma mobilă 1C Enterprise 8.3.

Platforma mobilă 1C Enterprise 8.3 este un set de programe care vă permit să instalați și să rulați configurații (aplicații) pe smartphone-uri și tablete care rulează Google Android sau Apple iOS.

Cel mai important avantaj al platformei mobile 1C este că aplicația (configurarea) este dezvoltată pentru ambele sisteme de operare mobile simultan și apoi pur și simplu instalată pe dispozitivul mobil. Astfel, după ce am scris o aplicație mobilă în 1C, o putem instala imediat tuturor angajaților companiei, indiferent de sistemul de operare (Android sau iOS) pe care rulează telefonul sau tableta lor.

Important! Pentru a dezvolta aplicații mobile, vă recomandăm insistent să utilizați versiunea platformei 1C nu mai mică de 8.3.4.482. Versiunea educațională a platformei 1C Enterprise 8.3.4.482 este inclusă în această distribuție a platformei mobile 1C. Vă puteți familiariza cu limitările versiunii educaționale a platformei

Așa că ajungem la 1C: Enterprise sub forma unei aplicații mobile -O scurtă prezentare generală a aplicației mobile din interior.

Aplicația mobilă este o aplicație autonomă cu propria bază de date pentru lucrul cu informațiile utilizatorului. Pentru acum, Aplicațiile mobile de la 1C pot rula pe cele mai populare trei platforme - Android, Apple iOS și Windows.


Instalarea aplicației mobile se realizează de pe „piețe” de pe aceste platforme. Dacă aplicația nu este publicată, o puteți instala prin transferul fișierului de distribuție pe dispozitivul dvs. mobil.

Puteți configura și programa aplicația mobilă în sine numai în modul Configurator complet și apoi să o asamblați folosind configurația specială Mobile Application Builder.
Acesta este un plus uriaș, deoarece dezvoltarea unei aplicații mobile poate fi realizată de un dezvoltator de configurație 1C care vă întreține programul 1C: Enterprise.
Desigur, aplicația mobilă are mai puține capabilități decât platforma desktop: de exemplu, nu există obiecte precum Rapoarte, Registre contabile, Procese de afaceri.




Un alt minus - nu vă veți putea conecta la o bază de date 1C care rulează pe o platformă desktop într-o versiune de fișier sau server.


Dar există o funcționalitate pentru utilizarea avantajelor mobile: atunci când dezvoltați o aplicație mobilă, puteți utiliza Agenda de contacte, puteți efectua un apel din aplicație prin intermediul „ T telefonie”, obțineți date de localizare prin Geopoziționare.

Tu intrebi: " Cum să lucrezi cu o bază de date 1C obișnuită? De ce este nevoie chiar de o astfel de aplicație?

Pentru a comunica cu „lumea exterioară” există mai multemecanisme, cum ar fi planurile de schimb. Acestea vă permit să conectați o bază de date 1C cu drepturi depline și o bază de date de aplicații mobile - în același mod în care funcționează bazele de date distribuite.

O aplicație mobilă trebuie să îndeplinească funcția unei aplicații mobile și funcționalitatea corespunzătoare, astfel încât toate datele de la o bază de date la alta nu sunt complet sincronizate și nu au putut din cauza limitării de obiect descrise mai sus.
Această implementare de schimb este disponibilă, de exemplu, într-o combinație de programe 1C: Enterprise 8 Trade Management rev. 11 șiaplicația mobilă „1C:Comenzi” . Bazele de date fac schimb de informații despre contrapărți, comenzile clienților, gamele de produse și prețuri. În același timp, aplicația mobilă poate funcționa offline și, dacă este disponibil internetul, poate face schimb de date.
Aplicația mobilă arată decent, există un stil recunoscut vizual în comparație cu versiunea desktop a 1C, precum și un set de operațiuni standard efectuate cu obiecte, cum ar fi: „Pass”, „Mark for deletion” și altele asemenea. Prin urmare, utilizatorii aplicației mobile vor fi familiarizați cu contextul de lucru.

Iată cum arată interfața aplicației în cele mai recente versiuni:


Al doilea mod popular de comunicare între o aplicație mobilă și un sistem de contabilitate
1C:Enterprise 8 este lucru prin servicii web

Schema generală de organizare este următoarea: în soluția de aplicație 1C: Enterprise 8, sau mai simplu - în configurare, este descris un serviciu web care îndeplinește unele funcții pe partea în care este publicat serviciul și poate transmite date.

Mai simplu spus: din aplicația mobilă online puteți accesa sistemul de contabilitate 1C: Enterprise 8, puteți efectua orice funcție descrisă în serviciu - de exemplu, obțineți date dintr-un raport sau creați o nouă contrapartidă

Mai multe detalii:

Serviciul poate transmite date în formatul descris în XDTO pachet, iar dezvoltatorul însuși descrie acest model de date. Puteți transfera tipuri primitive: numere, șiruri, date. Puteți transfera tipuri complexe, puteți transfera date binare - de exemplu, imagini sau documente PDF, XLS. Vom arăta un exemplu simplu în care este descris un pachet cu sarcini - numărul și titlul sarcinii. Un exemplu despre cum arată pachetul:

La rândul său, înÎn aplicația mobilă se creează un obiect cu tip WS-Link. Specifică adresa serviciului web, după care se încarcă automat tipurile de date și metodele pe care le operează serviciul:

Totul este gata! În aplicația mobilă poți apela acum funcția de service 1C: Enterprise 8 sau poți primi datele necesare.

Dar licențele pentru aplicațiile mobile de la 1C?

Această problemă este tratată în scrisoarea de informare de la 1C. Extrasul este mai jos.

Recomandările noastre:
Aplicațiile mobile de la 1C sunt un produs destul de nou, dar în „învelișul” obișnuit - dezvoltarea poate fi efectuată de un specialist 1C cu normă întreagă. Acestea deschid noi orizonturi pentru extinderea interacțiunii cu sistemul contabil și consolidarea datelor pentru contabilitatea de gestiune. Vă recomandăm să utilizați această opțiune atunci când opțiunea staționară de a lucra cu 1C nu este adecvată și funcționalitatea mobilă va fi suficientă, de exemplu, accesul la doar o parte a datelor sau o parte a unui proces.

Și conform tradiției, cazul:

Sarcină:

Clientul are centrală și mai multe puncte din rețeaua sa de distribuție. La fiecare punct sunt mai mulți manageri de vânzări și o stație de lucru pentru vânzarea mărfurilor cu program de contabilitate.

în care, biroul central dă instrucțiuni vânzătorilor- de exemplu, colectați o comandă pentru un alt punct din resturile dvs. sau dezasamblați produsul specificat.

Pentru a stabili sarcini, Clientul a folosit mai întâi e-mailul și apelurile telefonice, dar -Exista o singură stație de lucru automatizată, iar lucrătorii nu puteau primi rapid sarcinile și nu puteau răspunde la ele. Biroul central a avut dificultăți în a monitoriza astfel de sarcini, deoarece, atunci când este stabilită prin telefon, sarcina nu era scrisă nicăieri și era dificil să revizuiască e-mailul pentru sarcini neterminate.

Soluţie:

Am propus următoarea soluție. Dezvoltați funcționalitatea necesară pentru stabilirea sarcinilor pentru angajați pe baza aplicației mobile 1C: Comenzi și integrați-o cu sistemul central de contabilitate.

Un angajat al unui punct de vânzare cu amănuntul putea folosi propriul telefon mobil ca platformă pentru lansarea și lucrul cu o aplicație mobilă, iar cei care nu aveau una, biroul central le-a achiziționat smartphone-uri ieftine.

Datorită faptului că aplicația mobilă și sistemul central de contabilitate funcționează în același spațiu informațional, sarcinile au fost rapid stabilite și adresate exact angajatului căruia i-au fost destinate.

Precizia transferului de informații a crescut - dacă anterior managerul din birou a scris prin e-mail - „pregătiți mărfurile conform Ordinului nr. ___”, acum în sarcină a indicat pur și simplu un link către comanda solicitată, pe care angajatul punctului se poate deschide la telefon.

Nivelul de control asupra sarcinilor a crescut - nu au dispărut nicăieri și au avut un statut care le-a fost atribuit de către angajat în procesul de finalizare a sarcinii. Iar biroul central putea întotdeauna controla sarcina.

Anatoly Nikulin

Platforma mobilă 1C:Enterprise 8 este numele tehnologiei care vă permite să dezvoltați soluții care rulează pe smartphone-uri și tablete Google Android sau Apple iOS. Un avantaj important al platformei 1C este că soluțiile sunt dezvoltate într-o singură versiune pentru ambele sisteme de operare mobile și apoi pur și simplu exportate pentru Android si pentru iOS fără nicio modificare suplimentară și scrierea unui cod de program dependent de platformă.

Atât platforma 1C:Enterprise, cât și baza de informații în sine (configurare, în termeni 1C) sunt instalate imediat pe dispozitivul mobil. Baza de informații de pe dispozitiv conține o opțiune de bază de date de fișiere (pentru stocarea diferitelor date cu care utilizatorul lucrează sau cu care va lucra) și aplicația în sine (bytecode software care rulează pe o tabletă sau smartphone).

Un exemplu de client mobil pentru EDMS „Corporate Document Flow” creat pe platforma mobilă „1C:Enterprise 8.3”

Platforma acceptă descărcarea și implementarea aplicațiilor de către utilizatori pe dispozitivele lor din App Store sau Google Play. Kitul de distribuție conține toate componentele necesare pentru a începe.

Pe platforma mobilă 1C pot fi create diverse soluții, dar principala opțiune de soluție este clienții mobili off-line pentru sistemele de contabilitate. Astfel de soluții sunt concepute pentru a sprijini utilizatorii mobili din locurile de muncă la distanță. Schimbul de date se realizează prin sincronizare regulată cu baza de date centrală. Schimbul de date este posibil prin următoarele mecanisme:

  • Servicii web
  • Distribuire a unui fisier
  • E-mail
  • și alte mecanisme
    O opțiune alternativă este să lucrezi online folosind un client web.

Aplicația mobilă dezvoltată este un produs software separat și complet și poate face schimb de date cu mai multe baze de date centrale simultan. De exemplu, într-o aplicație mobilă puteți implementa accesul și lucrarea cu documente din baza de date contabilă și sarcini din sistemul de management al documentelor companiei.