Acasă / Birou / Setările inițiale ale aplicației mobile „1C-Rating: Chelner mobil. Istoricul unei aplicații: mobil „1C: Gestionarea companiei noastre 1c autorizație la intrarea în aplicația mobilă

Setările inițiale ale aplicației mobile „1C-Rating: Chelner mobil. Istoricul unei aplicații: mobil „1C: Gestionarea companiei noastre 1c autorizație la intrarea în aplicația mobilă

Presetări

Înainte de a începe lucrul pe un dispozitiv mobil, trebuie să instalați certificatul rădăcină al serviciului 1C: Link.

În setările aplicației mobile, trebuie să specificați calea către baza de informatii, publicat prin „1C: Link”. O caracteristică a lucrului cu aplicații mobile prin „1C: Link” este că conexiunea la serviciile web se realizează prin numele acestora, și nu prin aliasuri (alias-uri). În unele aplicații mobile (de exemplu, 1C:DO), șirul de conexiune este generat automat și nu necesită numele serviciului web.

Caracteristici de configurare a aplicațiilor mobile

1C: Comenzi

  • În baza de informații, accesați secțiunea „Administrare”, selectați elementul de meniu „CRM și vânzări”, bifați caseta de validare „Permite sincronizarea datelor cu aplicația mobilă 1C: Comenzile clienților”, faceți clic pe linkul „Setări de sincronizare” și adăugați o setare pentru utilizator.
  • Conectare: autentificare utilizator 1C
  • Setarea „1C:LINK” este activată
  • Numele tunelului:<ваш-туннель>
  • Setarea „SSL” trebuie să fie activată pentru a funcționa cu IS prin HTTPS și dezactivată pentru a funcționa prin HTTP
  • Catalog: <путь веб-приложения>

Managementul documentelor mobile

  • Activați clientul mobil în setările bazei de informații.
    Pentru a face acest lucru, accesați baza de informații ca utilizator cu drepturi de administrator, selectați elementul de meniu „Setări și administrare” - „Setări program” - „Schimb de date” și bifați caseta „Utilizați clienți mobili”
  • Adresa de conectare: https://<ваш-туннель>.site-ul web/<путь веб-приложения>
  • Conectare: autentificare utilizator 1C
  • Parola: parola lui

Vă rugăm să rețineți că pentru a lucra cu aplicația mobilă, trebuie să aveți versiunea 1C: Document Management 8 nu mai mică decât 1.3.1.3 CORP

1C: UNF

  • În setările de sincronizare ale aplicației mobile „1C: UNF”, accesați secțiunea „Alte servicii”
  • În câmpul „adresa aplicației”, introduceți (fără ru_RU)
  • Specificați numele de autentificare și parola utilizatorului bazei de informații și faceți clic pe butonul „Autentificare”.

1C: Monitor ERP

  • Conectare: autentificare utilizator 1C
  • Parola: parola lui
  • Setarea „1C:LINK” este activată
  • Numele tunelului:<ваш-туннель>
  • Catalog: <путь веб-приложения>

1client de contabilitate proaspăt

Pentru a vă sincroniza cu Departamentul de Contabilitate Enterprise publicat în 1C: Link, puteți utiliza aplicația mobilă 1cfresh Accounting Client.

  • În setările aplicației mobile „Accounting Client 1cfresh” accesați secțiunea „Alt serviciu”
  • În câmpul „adresă de bază pentru conectare”, introduceți https://tunnel name.link.1c.ru/web calea aplicației(fără ru_RU)
  • Specificați numele de autentificare și parola utilizatorului bazei de informații și faceți clic pe butonul de conectare.


Practica dezvoltării unei aplicații mobile 1C 8.3 (partea 1)

Acest articol se va concentra pe ce am avut șansa să încerc și pe ce rake să calc înainte să reușesc să fac o aplicație mai mult sau mai puțin normală pentru tablete. Aplicația a fost inițial ascuțită doar pentru Android, pe baza configurației 1C: Comenzi și aplicatie mobila pentru dezvoltare.

Inițial, abordarea „greșită” a fost aleasă cu compilarea aplicației și încărcarea manuală pe tabletă. Permiteți-mi să vă reamintesc că pentru construirea de aplicații mobile se folosește Asistentul pentru crearea aplicațiilor mobile (MobileAppWizzard). Apoi a fost găsită o soluție frumoasă pe unul dintre forumuri folosind o aplicație mobilă pentru dezvoltare. Această aplicație este inclusă în kitul de instalare a platformei mobile. La momentul dezvoltării, a fost folosită versiunea platformei 8.3.3.24. În folderul „ Android” Puteți găsi fișierul 1cem.apk. Aceasta este aplicația mobilă pentru dezvoltare. Cel mai mare plus, care ne-a economisit mult timp, este că puteți publica o aplicație mobilă pe un server web, iar pe o tabletă, specificați o cale de genul http://[[ Adresa serverului web]/[ Numele aplicației mobile].

Pe o tabletă, în setările aplicației adăugate, poți bifa caseta „Actualizare din configurator”, iar de fiecare dată când pornește aplicația, va încerca să se conecteze la serverul web și să verifice actualizările.

După ce aplicația mobilă a fost implementată, a început procesul de finalizare a acesteia.

Ce s-a cerut:

1. Configurați schimbul dintre baza centrală și dispozitivul mobil.

2. Organizați sincronizarea asimetrică: încărcați date despre gama de produse, contrapărți, solduri de mărfuri în depozit și decontări reciproce din baza de date centrală și descărcați doar comenzile clienților din aplicația mobilă.

3. Implementați o interfață simplă pentru manageri, unde aceștia pot vizualiza rapid soldurile, prețurile și decontările.

La etapa de testare a fost folosită baza intermediară „Managed Application”, datorită faptului că aplicația demo 1C: Orders a fost concepută inițial pentru schimb cu Managed Application.

Prima clătită a ieșit cocoloase. Literalmente. v82.ComConnector a fost folosit pentru a face schimb cu baza de date centrală. Nu voi intra în detaliile setărilor sale, există o grămadă de materiale separate despre asta. Voi trece doar prin dificultățile pe care le-am întâmpinat.

1. Com-utilizare obiecte pe un sistem de operare server pe 64 de biți. A fost folosit un ambalaj pentru a rezolva problema Aplicații COM+, care este configurat în Servicii componente.

2. Apel de la distanță Com de pe alt server. Serverul apelat trebuie să aibă rolul server de aplicații, si ar trebui configurat Acces la rețea COM+. În plus, serverul Apache trebuie să aibă drepturi adecvate (adică să ruleze ca serviciu în numele unui utilizator autorizat)

După ce am suferit cu conexiunile Com, am decis să transferăm baza de lucru în servicii web.

S-au scris multe și despre publicarea serviciilor web, dar se scrie despre cum funcționează. Cum NU funcționează, voi împărtăși mai jos.

Baza de lucru este implementată pe platforma 8.2, respectiv aplicația mobilă, pe 8.3.

Când se publică prima aplicație 8.3, apoi 8.2. a smuls periodic erorile „Eroare format Stream” în clientul web 8.3 sau mesajul de eroare „versiunile platformei client și server diferă”. Repostarea nu ajută și nici repornirea. Apache. Dar dezactivarea publicației și reconectarea acesteia ajută.

În plus, am surprins o eroare amuzantă când am autorizat un utilizator (când am creat ws definiții). Când testați pe un computer, autorizarea cu un nume complet lung este ușoară. Când încercați să autorizați același utilizator de pe o tabletă care rulează android, autorizația sa încheiat înainte de a începe. Experimental, a fost posibil să se calculeze că lungimea de conectare în chirilic este limitată la 22 de caractere. În același timp, combinația de caractere chirilice și numere a făcut posibilă autentificarea cu o lungime de 27 de caractere. Există o suspiciune că acest lucru se datorează conversiei caracterelor chirilice. Deci, de exemplu, în browser Firefox Linia Wikipedia "ivo" este convertit în "».

Din punct de vedere tehnologic, platforma mobilă 8.3.3 are în prezent o serie de limitări. Cea mai așteptată, după părerea mea, inovația este suportul pentru cereri. Dar, din moment ce platforma mobilă nu acceptă încă solicitări arbitrare în liste dinamice, a trebuit să „merg în altă direcție”.

Următoarea abordare a fost utilizată pentru a rezolva problema afișării unei cărți de referință a articolului cu prețuri și solduri:

1. Au fost create două tabele sub forma unei cărți de referință pentru articole. Prima este o listă dinamică, directorul propriu-zis. Filtru lista dinamica configurat pentru a afișa numai grupuri. Al doilea tabel este soldurile și prețurile reale. Când este activată o linie de listă dinamică, tabelul de valori este completat pe server, care este apoi afișat în al doilea tabel. La obtinerea preturilor si soldurilor s-a folosit un model obiect. Toate aceste dansuri cu o tamburină au fost executate doar pentru că nu există o metodă „când scoateți un șir” sau „când se primesc date”, care este familiară unui client gros și este imposibil să desenați dinamic numere într-o coloană.

O abordare similară a fost utilizată sub forma selecției

2. Șirul formatat a fost perfect pentru afișarea unui șir cu prețuri curente.

Mai jos este un exemplu de cod.

&AtServerWithoutContext Funcția ResidualsWhenRowsAtServer(number)RecordSet este activat =RegistersInformation.ProductPrices.CreateRecordSet(); RecordSet.Selection.Product.Value = nom; Recordset.Selection.Item.Use = adevărat; Recordset.Read(); ArrayFormattedStrings = Matrice nouă; Pentru fiecare rând de set din RecordSet Loop ArrayFormattedStrings.Add(New FormattedString(SetRow.PriceType.Description,WebColors.Blue)); ArrayFormattedStrings.Add(New FormattedString(" " + String(SetString.Price) + " ")); EndCycle; Returnează New FormattedString(ArrayFormattedStrings); // Introduceți conținutul handler-ului. EndFunctions

3. Pentru a încărca directoare, solduri și prețuri în aplicația mobilă, a fost folosit un serviciu web, care primește o structură de parametri la intrare și returnează un stoc de valori la ieșire. O altă descoperire neplăcută a fost prăbușirea schimbului din cauza procesării prea lungi pe partea serverului. Am avut impresia că există un fel de timeout, după care aplicația „crede” că conexiunea este întreruptă (deși de fapt datele sunt încă procesate în baza de date de lucru prin conexiunea ws) și oprește schimbul cu o eroare .

Pentru a evita acest lucru, s-a decis împărțirea schimbului complet în porțiuni cu revenirea concentrării înapoi la aplicația mobilă. Acestea. mai întâi sincronizați articolul, apoi contrapărțile, apoi soldurile etc.

4. Pentru a primi rapoarte, se lasă aceeași abordare ca în configurația 1C: Comenzi. Se apelează un serviciu web cu parametri, se formează un document de foaie de calcul pe partea de server a bazei de lucru, iar apoi documentul foaie de calcul deja pregătit este returnat aplicației mobile.

În acest articol, vom lua în considerare setările inițiale care trebuie făcute înainte de a începe lucrul cu aplicația mobilă.
Aplicația mobilă „1C-Rating: Mobile waiter” este utilizată împreună cu configurația „1C-Rating: Restaurant”, cu care este conectată prin schimb periodic de date. Prin urmare, înainte de a instala configurația 1C-Rating: Mobile Waiter, trebuie să faceți setările corespunzătoare în programul 1C-Rating: Restaurant.

Configurarea bazei de informații „1C-Rating: Restaurant”

Toate informațiile de reglementare și de referință utilizate în lucrul cu aplicația mobilă sunt completate în baza de informații din configurația „1C-Rating: Restaurant”. Înainte de a activa și de a efectua un schimb între aplicația mobilă și configurația „1C-Rating: Restaurant”, completați următoarele date în configurația „1C-Rating: Restaurant”:
  • Director Organizare;
  • Director Stoc;
  • Director Casă de marcat;
  • Director Sala;
  • Director Modificatori;
  • Registre de informații Modificatori de masă;
  • Registre de informații Articole de comandă predefinite;
  • Registre de informații Dirijarea tipăririi ștampilelor;
  • Director Tipuri de meniu;
  • Director Configurare RMK;
  • Director Utilizatori.

Configurare utilizator

Utilizatorii care vor lucra cu aplicația mobilă trebuie să fie creați în prealabil în baza de informații 1C-Rating: Restaurant. Utilizatorul aplicației mobile, pe lângă setările de bază și rolurile legate de configurația „1C-Rating: Restaurant”, trebuie să aibă un rol care să permită utilizatorului să lucreze cu aplicația mobilă.

Imprimare automată a ștampilei

După plasarea unei comenzi pe un dispozitiv mobil, se pot imprima ștampile la locurile de pregătire (bucătărie, bar). Ștampilele sunt tipărite după următorul algoritm: în aplicația mobilă, utilizatorul creează sau modifică comenzi, care sunt transferate în baza de informații centrală a 1C-Rating: configurație restaurant. În baza de date centrală, acestea sunt acumulate în registrul de informații Coada de imprimare a ștampilelor. La frecvența specificată în setările parametrilor contabili se declanșează o procedură care tipărește ștampile din acest registru de informații către locurile de întocmire.
Pentru a activa această funcție, trebuie să configurați „1C-Rating: Restaurant” în setările parametrilor contabili din grup chelner mobil setați următoarele setări:
  • Imprimați ștampile de ospătar mobil– activarea acestei opțiuni vă permite să trimiteți ștampile cu informații despre pregătirea pentru imprimare.
  • Utilizator pentru a imprima ștampile de ospătar mobil– trebuie să selectați un utilizator din director Utilizatori, în numele căruia se vor efectua procedurile de tipărire. Pentru a imprima ștampile, trebuie să rulați o sesiune ca utilizator specificat. Pentru a vă asigura că procedurile de imprimare a ștampilelor nu încetinesc munca utilizatorilor, se recomandă să creați un utilizator separat (de exemplu, „Lansați RMK” sau „Imprimați ștampile”) și să rulați o sesiune separată 1C:Enterprise cu aceasta. utilizator pentru a efectua imprimarea în fundal.
  • Interval de imprimare a ștampilei pentru chelnerul mobil– această setare specifică intervalul de timp în secunde pentru imprimare. Completarea acestui parametru este obligatorie pentru tipărirea timbrelor. Valoarea acestui parametru este selectată în funcție de cerințele unei anumite organizații, valoarea recomandată este de 10 secunde.

Publicarea pe un server web

Pentru funcționarea în comun a aplicației mobile și a bazei de informații staționare „1C-Rating: Restaurant” este necesară organizarea infrastructurii corespunzătoare:
1. În zona de lucru a ospătarilor ar trebui să fie configurat retea fara fir Wifi.
2. Pe computerul pe care va fi publicată baza de informații „1C-Rating: Restaurant” trebuie instalat și configurat un server web (este suportat lucrul cu serverul web Apache sau IIS).
3. Platforma 1C:Enterprise și modulele de extensie a serverului web trebuie să fie instalate pe același computer. Modulele sunt instalate în timpul instalării platformei.


4. Baza de informații „1C-Rating: Restaurant” ar trebui publicată.
5. Computerul cu baza de informații publicată și dispozitivele mobile trebuie să fie în aceeași rețea locală.
Pentru a publica baza de informații 1C-Rating: Restaurant, lansați 1C:Enterprise în modul Configurator (meniu Administrare - Publicarea pe un server web). În fereastra care se deschide, faceți următoarele:
  • Introduceți manual numele publicației în câmp Nume, în timp ce poate consta numai din caractere ale alfabetului latin. nume dat va fi introdus ulterior în setările aplicației mobile.
  • În câmp server web Specificați tipul de server web pe care publicați.
  • În câmp Catalog specificați calea către directorul în care vor fi localizate fișierele care descriu directorul virtual.
  • Accesați marcajul Servicii HTTPși activați setarea Publicați serviciile HTTP implicite. În secțiunea tabelară, verificați serviciul HTTP Dateîn lista serviciilor disponibile.
  • Apasa butonul Publica. Trebuie să reporniți serverul după publicare.

Configurarea „1C Rating: Mobile Waiter”

Aplicația mobilă „1C-Rating: Mobile waiter” este disponibilă pentru descărcare gratuită pe dispozitivele mobile din magazinul online oficial Google Play. Pentru a utiliza aplicația în scopuri comerciale, trebuie să achiziționați numărul necesar de licențe de dispozitiv și să activați aplicația mobilă pe fiecare dispozitiv mobil. Pentru a studia funcționalitatea aplicației mobile, este furnizat un mod demo care nu necesită achiziționarea unei licențe Device.
Instalarea aplicației mobile „1C-Rating: Mobile waiter” se realizează automat și nu diferă de instalarea oricărei alte aplicații mobile. Actualizări ale 1C-Rating: aplicația Mobile Waiter sunt disponibile în magazinul online oficial Google Play fără nicio restricție și înregistrarea cu 1C-Rating.
Când lansați pentru prima dată aplicația mobilă, apare un formular pentru selectarea modului de operare. Există două opțiuni din care să alegeți: Modul demonstrativși Activați aplicația.
Modul demo poate fi activat atunci când lansați pentru prima dată aplicația mobilă sau ulterior, după activare, în formularul de setări, folosind comutatorul cu același nume.
Când acest mod este activat, baza de date a aplicației mobile este umplută automat cu date demonstrative, ceea ce vă permite să vă familiarizați cu funcţionalitate produs.

Activarea aplicației

Pentru a lucra cu aplicația mobilă și schimbul de date bidirecțional cu baza de date de înregistrare a configurației „1C-Rating: Restaurant”, trebuie să activați aplicația.
Există două opțiuni pentru activarea unei aplicații mobile:
  • Activare Internet.
  • Activare offline.

Activare Internet

Pentru a efectua activarea prin Internet, trebuie să:
  1. Oferiți acces la internet pentru dispozitivele mobile.
  2. Introduceți numărul de înregistrare în fereastră Activarea aplicațieiși apăsați butonul Activati.

Activare offline

Activarea offline se efectuează dacă nu este posibilă conectarea dispozitivului mobil la Internet.
Pentru a efectua activarea offline, trebuie să:
  1. Obțineți numărul de înregistrare al aplicației mobile. Pentru a face acest lucru, trebuie să contactați partenerii companiei 1C-Rating din regiunea dumneavoastră sau direct la compania 1C-Rating.
  2. La fereastră Activarea aplicației apasa pe link Activarea aplicației offline.
  3. La fereastră Activarea aplicației offline introduceți numărul de înregistrare al aplicației mobile.
  4. Apasa butonul Obțineți codul aplicației. Se va deschide o fereastră care conține codul aplicației. Acest cod trebuie transferat companiei 1C-Rating. Ca răspuns va fi emis Cod de activare.
  5. Codul de activare este introdus în fereastră Activarea aplicației offline la câmpul corespunzător. La apasarea unui buton Activati aplicația mobilă este activată.
  6. După activarea cu succes, aplicația mobilă este gata de utilizare.

Important!

După reinstalarea aplicației mobile, va fi necesară reactivarea.

Configurarea unei conexiuni la baza de informații „1C-Rating: Restaurant”

După activarea aplicației mobile (prin oricare dintre metodele de mai sus), se deschide automat formularul de autorizare a utilizatorului. În timpul autorizării inițiale, formularul conține următoarele câmpuri:
  • Utilizator- utilizatorul sub care se va lucra în „1C-Rating: Chelner mobil”. Utilizatorii de dispozitive mobile trebuie să fie pre-creați în baza de informații 1C-Rating: configurație restaurant.
  • Parola- parola pentru autorizarea utilizatorului, specificata in setarile utilizatorului, in configuratia "1C-Rating: Restaurant".
  • Adresa serverului– acest câmp specifică adresa ip a computerului pe care rulează serverul web.
  • Port– valoarea implicită este 80. Dacă serverul web a fost configurat pe alt port, atunci numărul acestuia trebuie specificat aici.
  • Numele publicației– numele specificat la publicarea serviciului HTTP în infobaza configurației „1C-Rating: Restaurant”.


Autorizarea are loc la un clic pe un buton Conectați. Câmpurile Adresă server și Numele publicației conțin date tehnice pentru racordare și se completează la prima racordare. Data viitoare când porniți aceste câmpuri vor fi ascunse și disponibile numai în formularul de setări.

Important!

Numele de utilizator și numele publicației trebuie introduse ținând cont de majuscule și minuscule. Dacă cazul nu se potrivește, atunci autorizarea va fi refuzată.

Când reautorizați sau schimbați un utilizator, este suficient să specificați utilizatorul, să introduceți parola și să faceți clic pe butonul conectați.


După finalizarea autorizației, se deschide formularul de listă de comenzi - puteți începe lucrul. Pentru a crea o comandă, faceți clic pe butonul Comandă nouă.

Mesaje de conexiune

Când conectați o aplicație mobilă la configurația 1C-Rating: Restaurant, pot apărea următoarele mesaje:

1. „A apărut o eroare de rețea”

Acest mesaj poate apărea dacă:

  • Semnal Wi-Fi pierdut.
  • Serverul web este configurat incorect.
  • Serverul web nu mai funcționează - trebuie să reporniți serverul web.
  • Adresă și/sau port de server web greșite.
2. „Drepturi insuficiente pentru a utiliza resursa cu această metodă HTTP”

Acest mesaj înseamnă că utilizatorul nu are un rol activat Acces la obiecte mobile de chelner.
3. „Adresa URL solicitată /REST/hs/Data/Registration nu a fost găsită pe acest server.”
Un mesaj de autorizare apare dacă:
Numele publicației este specificat.
Denumirea publicației din Mobile Waiter diferă de numele specificat în configuratorul Restaurant la configurarea publicației (este necesar să se verifice dacă numele publicației se potrivește, registrul scrisorilor este important).
4. „1C:Eroare aplicație Enterprise 8. HTTP: Nu a fost găsit"
Acest mesaj apare dacă nu a fost selectat niciun serviciu HTTP la configurarea publicației. Este necesar să se verifice prezența steagurilor în decor Publicați servicii HTTP implicit și în partea tabulară a rândului Date.

  • (3475)

Introducere

LA versiune noua Platforma 1C (8.3.5), au apărut o mulțime de funcționalități noi. Apropo, pentru cei care nu știu, există o resursă pe care dezvoltatorii 1C descriu inovațiile emergente în platformă. Unul dintre acestea este mecanismul. Mi-a atras atenția, am vrut să implementez ceva pentru distracție. Imediat mi-a venit ideea sa fac ceva asemanator cu site-ul, dar cu aceasta idee nu m-ar intelege nici la infostart, asa ca mi-am dat-o din cap. Părea că a aruncat-o, dar ideea s-a transformat în ceva nu atât de mare, ceva care ar putea găsi o adevărată utilizare în viață - o aplicație web mobilă.
Consider că o aplicație web mobilă ușor încărcată și simplă pentru un număr limitat de utilizatori, de exemplu, angajați, poate fi implementată în 1C folosind servicii HTTP.

Aplicația web mobilă „Contacte”

Voi începe cu rezultatul. Aplicația web mobilă Contacts pare simplă și este. La început, vedeți doar un câmp pentru căutarea unui contact.

Să căutăm pe cineva (pentru a începe căutarea, trebuie să introduceți cel puțin 3 caractere). Cineva a fost găsit.

Să-l sunăm pe Alex.

Să-i scriem o scrisoare lui Timothy.

Aceasta este întreaga aplicație web mobilă.

Apropo, este foarte ușor să te adaptezi la orice configurație.

Un pic despre implementare

Instrumente folosite:
- Mecanismul serviciilor HTTP platformei 1C (începând cu versiunea 8.3.5)
- Biblioteca JavaScript jQuery (http://jquery.com)
- Biblioteca JavaScript jQuery mobile (http://jquerymobile.com)
- 1C:JSON()

Serviciul HTTP „Contacts” acceptă toate solicitările și le transmite „ContactsMVP” pentru procesare. Toată logica aplicației web pentru mobil este concentrată în procesarea „Contact MVP”.

Așa arată procesarea cererilor.

Funcția HandleRequest(Request) Export If MatchesResource(Request, "/index.html") Then Return GetResourceIndexHTML(); ElseIf MatchesResource(Request, "/application.js") Then Return GetResourceApplicationJS(); ElseIf MatchesResource(Request, "/contacts.json") Then Return GetResourceContactsJSON(Request); EndIf; EndFunctions

Și astfel, de exemplu, întoarcerea paginii index.html arată ca.

GetResourceIndexHTML() Function Response = HTTPServiceResponse nou (200); Text = GetLayout("IndexHTML").GetText(); Answer.SetBodyFromString(Text); Answer.Headers.Insert("Content-Type", "text/html"); Răspuns de returnare; EndFunctions

Nimic complicat. Puteți studia mecanismul mai detaliat descărcând ContactsMVP.dt

Caracteristici de publicare

Au existat unele dificultăți la publicarea serviciului HTTP, astfel încât să vă fie mai ușor să precizați câteva note:
- Există descrieri destul de detaliate despre publicație - citiți cu atenție.
- Nu uitați să rulați configuratorul ca administrator înainte de a publica.
- A fost posibilă pornirea serviciului HTTP doar cu versiunea fișierului, a apărut o eroare cu versiunea client-server.
- Pentru ca aplicația web mobilă să funcționeze fără cerere de autorizare, dacă în baza de date sunt utilizatori înregistrați, atunci după publicare, în fișierul default.vrd, parametrii Usr și Pwd trebuie adăugați în șirul de conexiune (punctul. ib).

Concluzie

Sper că materialul articolului vă va fi de folos.

Vă mulțumim pentru atenție.

Folosind exemplul aplicației mobile „1C: Managing our company” (abreviat UNF), vreau să arăt evoluția unei aplicații mobile de afaceri de la începuturi și lansarea primei versiuni până în prezent. Acum această aplicație are peste 220.000 de descărcări; aplicația este gratuită, dar are opțiuni plătite (implementate prin achiziții în aplicație).


Prima versiune a UNF mobil a fost realizată pe una dintre primele versiuni ale platformei mobile 1C:Enterprise în 2012. La acea vreme, exista deja o configurație client-server „1C: Small Company Management” (atunci numele era așa), un program de automatizare a activităților unei companii mici - vânzări, achiziții, o bază de date de clienți și furnizori, managementul depozitului, producția etc.

La fel ca majoritatea aplicațiilor mobile scrise pe platforma mobilă multiplatformă 1C:Enterprise, mobil UNF este disponibil pe iOS, Android și Windows.

Sarcina a fost stabilită după cum urmează: să realizeze o aplicație mobilă care să suporte o parte din scenariile de lucru ale „marilor” UNF. Aplicația trebuie să poată funcționa atât autonom, cât și să sincronizeze datele cu UNF-ul „mare” (în continuare, cuvântul „mare” în raport cu versiunea client-server a UNF-ului îl voi scrie fără ghilimele pentru a nu supraîncărca textul) . În cazul lucrului cu un UNF mare, ar trebui să fie susținute scenariile de angajați „mobili” - un reprezentant de vânzări, un inginer de service, un agent de vânzări.

Prima versiune a fost creată în 1 om-lună. La crearea unei aplicații mobile, unele dintre obiectele de metadate (directoare, documente) au fost implementate pe baza unor obiecte UNF mari. Dar unele dintre funcționalități trebuiau programate de la zero, de exemplu, procesul de schimb de date cu un UNF mare. Adevărat, în ceea ce privește schimbul de date, a trebuit de fapt să programăm puțin - am folosit mecanisme standard ale platformei (în special, planuri de schimb), care reduc scrierea codului la minimum.

Pe lângă simplificarea muncii cu sincronizarea datelor, platforma 1C facilitează semnificativ proiectarea unei aplicații mobile cu funcții complete, oferind dezvoltatorului componente de interfață precum liste (tabulare și ierarhice) cu posibilitatea de a căuta prin ele, câmpuri de introducere cu căutare. , tabele pentru rapoarte, o gamă largă de diagrame, posibilitatea de a imprima pe imprimante WiFi și Bluetooth etc.

Caracteristicile versiunii mobile

Există două strategii principale pentru alegerea funcționalității unei aplicații mobile. Prima este „o aplicație – o funcție”. De exemplu, o aplicație mobilă pentru primirea mărfurilor într-un depozit, care poate doar scana codul de bare al mărfurilor cu camera încorporată și poate trimite informații despre mărfurile primite către server. A doua strategie este de a crea o aplicație mobilă cu funcționalitate largă all-in-one. Ambele abordări au dreptul la viață; atunci când scriem un UNF mobil, am ales a doua abordare - aplicația noastră acoperă multe sarcini în domeniul său și poate funcționa complet autonom, servind nevoile organizație mică. Un alt plus al acestei abordări este că utilizatorul poate lucra cu mai multe funcții interdependente dintr-o singură aplicație.

Mobile UNF utilizează pe scară largă funcționalitatea unui dispozitiv mobil, în special:

  • Camera încorporată a dispozitivului poate fi folosită pentru a fotografia produsul atunci când completați cardul produsului, pentru a citi coduri de bare și QR
  • Factura de plata poate fi transmisa clientului prin email sau prin SMS
  • Contrapartea poate fi selectată din agenda de adrese a dispozitivului mobil
  • Dacă contrapartea are un număr de telefon, puteți suna contrapartea sau trimite un SMS cu o singură atingere; dacă este specificat un e-mail, trimiteți o scrisoare; dacă este specificată o adresă, afișați-o pe hartă.
  • Poate imprima documente pe imprimante prin WiFi și Bluetooth
Există o opțiune de backup și restaurare a bazei de date mobile UNF pe Yandex.Disk și de a trimite baza de date prin poștă.

Configurația UNF-ului mobil arată destul de spartan (vezi captura de ecran de mai jos):

  • 8 cărți de referință (în UNF mare - 273 cărți de referință)
  • 7 documente (într-un UNF mare - 125)
  • 3 jurnale de documente (într-un UNF mare - 24)
  • 3 registre de informații (în UNF mare - 357)
  • 4 registre de acumulare (într-un UNF mare - 64)

Obiectele principale ale UNF mobil

Dar, în ciuda unui număr atât de mic de obiecte de aplicație, produsul s-a dovedit a fi destul de funcțional.

O caracteristică interesantă a UNF-ului mobil este că este adesea folosit de oameni care nu au auzit niciodată de 1C până acum (da, există așa ceva în țara noastră), cei care aveau nevoie de o aplicație mobilă pentru a ține evidența afacerii lor mici (de exemplu, crafting acasă). Tocmai l-au găsit căutând Google Play sau AppStore, au citit recenziile și au început să lucreze.

Munca offline

Acest scenariu este conceput pentru organizații foarte mici, când toată contabilitatea se face exclusiv pe un dispozitiv mobil. Aceasta poate fi, de exemplu, o afacere „acasă” - realizarea de bijuterii acasă și vânzarea lor pe pagina VKontakte. Sau poate chiar un mic magazin - eu personal am văzut un caz în care un magazin de jucării specializat în vânzarea de Constructorii Lego, a păstrat înregistrările exclusiv pe versiune mobila UNF. Având în vedere că UNF-ul mobil poate imprima pe imprimante WiFi și Bluetooth, acesta poate fi folosit pentru a rezolva un număr destul de mare de sarcini. Mobile UNF sprijină procesarea comenzilor, introducerea facturilor de intrare și de ieșire, contabilizarea încasărilor și cheltuielilor de bani.

Lucrați în modul de sincronizare cu serverul (primele versiuni)

În sincronizare cu serverul din UNF mobil în versiuni timpurii funcționalitatea contabilă a devenit indisponibilă, iar activitatea în cadrul acesteia s-a desfășurat în principal cu comenzi (primirea și onorarea comenzilor) și activități conexe (ținerea directoarelor contrapărților, bunurilor și serviciilor etc.).

Sincronizat cu un mare directoare UNF de bunuri și servicii, contractori și comenzi.


Schimb de date între mobil și UNF mare în primele versiuni

Comenzile introduse de pe dispozitivele mobile au ajuns într-un UNF mare, iar atunci când au fost sincronizate, au ajuns pe dispozitivele mobile responsabile de comenzi. Documente precum încasările de numerar, vânzările de mărfuri etc., introduse pe dispozitivele mobile, mergeau la un UNF mare, dar nu erau sincronizate între dispozitive mobile. Toate lucrările din aplicația mobilă în modul de sincronizare au fost efectuate în principal în jurul comenzilor - acceptarea și executarea acestora, în timp ce contabilitatea cu drepturi depline pe un dispozitiv mobil nu a fost efectuată, pentru aceasta a fost necesară utilizarea unui UNF mare pe computer.

Așa a fost cazul în primele versiuni, dar ulterior am schimbat situația și am extins lista de scenarii pentru utilizarea UNF mobil pentru a face lucrul cu acesta mai convenabil pentru utilizatori.

Câteva despre sincronizarea datelor

Schimbul de date între mobil și UNF mare trece prin servicii web; UNF mobil invocă servicii web desfășurate pe partea UNF mare. Structurile de date în UNF mari și mobile sunt diferite; la proiectarea arhitecturii, am luat în considerare 2 opțiuni pentru schimbul de date:
  1. Creați o structură de date într-un UNF mare, duplicând structura de date a UNF mobil și faceți schimb de date cu UNF mobil „one-to-one”. Atunci când schimbați datele într-un UNF mare, este necesar să transferați datele noi/modificate în această structură duplicată și, după schimbul de date cu un UNF mobil, să convertiți datele care au venit de la dispozitivul mobil și plasate în structura duplicată în structura mare. format UNF.
  2. Schimbați date direct cu structurile unui UNF mare, conversia datelor „din mers” conform regulilor de schimb.
Am decis să optăm pentru a doua variantă. Prima variantă, deși promitea unele avantaje asociate cu simplitatea schimbului de date efectiv, a gestionat prost situația când structura datelor s-a schimbat (extins) în noua versiune a UNF mobil; pentru ca schimbul de date unu-la-unu să continue să funcționeze, ar fi necesară actualizarea serverului, UNF mare. Ceea ce, din multe motive, era inacceptabil.

Mecanismele de schimb de date implementate în platformă preiau cea mai mare parte a muncii de formare a pachetelor pentru sincronizarea datelor, permițându-vă să reduceți scrierea de cod la minimum. În procesul de schimb, se utilizează mecanismul standard al platformei 1C: Enterprise - mecanismul de schimb de date; pentru fiecare UNF mobil, se creează un nod de schimb de date în UNF mare, se folosește un serviciu de înregistrare a modificărilor în UNF mare și mobil pentru a ține evidența datelor care s-au schimbat de la ultima sincronizare și așa mai departe.

Aplicația mobilă inițiază schimbul de date, formează un pachet de schimb folosind mecanismele platformei (conținând identificatorul aplicației mobile și date actualizate pe UNF mobil de la ultima sincronizare) și îl trimite către UNF mare. Pe baza informațiilor din pachetul de pornire, UNF mare pregătește pentru UNF mobil datele modificate în UNF mare de la ultima sincronizare și le împachetează în pachete. Pachetele în format XDTO sunt obiecte de metadate 1C serializate în XML; dimensiunea fiecărui pachet nu depășește 500 de obiecte.

Mobile UNF preia acest pachet de date cu pachet. După descărcarea ultimului pachet, UNF mobil începe să proceseze datele primite - să posteze documente, să scrie cărți de referință etc. În cazul întreruperii conexiunii, pachetele sunt reluate; am scris singuri mecanismul de reluare pentru UNF (nu este în platformă), dar deoarece UNF-ul mobil este furnizat în coduri sursă, dezvoltatorii pot analiza implementarea mecanismului și îl pot împrumuta pentru aplicațiile lor.

În timpul sincronizării inițiale a unui UNF mobil cu un UNF mare, nu puteți lucra într-un UNF mobil - apare o fereastră modală care arată progresul procesului. Toate sincronizările ulterioare sunt în fundal și nu blochează funcționarea UNF mobil.

Lista completă a obiectelor schimbate între mobil și UNF mare:

  • Carti de referinta:
    • Nomenclatură
    • Contrapartide
    • o listă de utilizatori
  • Documentele:
    • Comenzile cumparatorului
    • Verifică
    • Cheltuieli de checkout
    • Chitanta
    • Factură de vânzare
    • Productie
  • Înregistrări (dar nu toate prețurile, ci doar pe cele principale):
    • Preturi Furnizori
    • Prețurile mărfurilor
  • Detalii organizare:
    • Nume
    • Informații fiscale
Într-un UNF mare, mărfurile au imagini - imagini ale mărfurilor în sine. Pentru a minimiza traficul, nu încărcăm poze în UNF mobil, acestea sunt încărcate la cerere - de exemplu, când deschidem un card de produs în UNF mobil.


Fișă de produs cu imaginea produsului

Evoluția aplicației - dezvoltarea cazurilor de utilizare

O situație tipică este aceea că afacerea este în creștere, iar funcționalitatea UNF-ului mobil pe un dispozitiv mobil nu mai este suficientă. Un alt angajat (sau angajați) apare în afacere și, de asemenea, trebuie să lucreze cu comenzi.

În primele versiuni ale UNF mobil, scenariul de migrare era destul de simplu - datele introduse în UNF mobil erau copiate în baza de date a unui UNF mare, iar utilizatorul trebuia să păstreze înregistrări pe computer de acum înainte. În acest caz, UNF mobil va funcționa în modul de lucru cu comenzi și nu va mai fi posibilă păstrarea înregistrărilor (ca în versiunea independentă a UNF mobil).

Acest lucru, desigur, nu a fost foarte convenabil pentru utilizatorul final - era deja obișnuit să țină înregistrări de pe un dispozitiv mobil și aici a fost forțat să treacă la tastatura computerului. Nu toată lumea va fi mulțumită de asta.

Prin urmare, am extins lista de scenarii pentru funcționarea unui UNF mobil. Acest lucru a fost ajutat de apariția serviciului nostru cloud http://1cfresh.com, bazat pe tehnologia cloud 1cFresh. A devenit posibil să plasați un UNF mare în nor. Am descris trei scenarii pentru utilizarea unei aplicații mobile pe măsură ce afacerea utilizatorului crește:

  1. O afacere destul de mică. Contul este păstrat pe un dispozitiv mobil.
  2. Afacerile sunt în creștere - au apărut angajații. Puteți pune un UNF mobil pe dispozitivele mobile ale angajaților. În același timp, trebuie să poți face schimb de date între dispozitivele mobile pentru a sincroniza datele; Pentru a face acest lucru, am decis să nu folosim schimbul prin fișiere, ci să folosim pentru sincronizare (și în același timp pentru backup) o versiune a unui UNF mare situat în cloud http://1cfresh.com. Când acest script este activat, este creată o instanță UNF mare în cloud http://1cfresh.com, a cărei bază va fi folosită pentru sincronizarea datelor între dispozitivele mobile. Utilizarea unui dispozitiv mobil într-un astfel de scenariu este gratuită, pentru fiecare dispozitiv suplimentar taxăm 75 de ruble / lună, nu puteți utiliza mai mult de trei dispozitive în acest scenariu. În același timp, utilizatorilor dispozitivelor mobile li se pot atribui roluri predefinite - reprezentant de vânzări, inginer service, vânzător (este posibil și setare detaliată roluri); funcționalitatea aplicației mobile va fi limitată în consecință. De asemenea, puteți lucra prin intermediul clientului web sau client slab cu un UNF mare găzduit în cloud, dar funcționalitatea UNF cloud va fi redusă la funcționalitatea unui UNF mobil. Dar nu este necesar să lucrați direct în cloud UNF - toate lucrările pot fi făcute numai de pe dispozitive mobile.
  3. Afacerea a crescut la dimensiunea unei firme medii. În acest caz, este logic să închiriați o versiune completă a unui UNF mare în cloud pentru a obține (prin un client web sau un client subțire) funcționalități suplimentare - CRM (există planuri de a include CRM într-un UNF mobil, dar până acum este disponibil doar în versiune mare), managementul depozitului, prețuri avansate, capacitatea de a lucra cu bănci etc. În acest caz, numărul de dispozitive mobile care operează cu un UNF mare nu este limitat (fiecare dispozitiv este încărcat taxa aditionala conform tarifului, ca pentru unul la locul de muncă; 1 licență pentru UNF în Fresh sau pentru UNF „în cutie” dă dreptul de a utiliza gratuit 1 aplicație mobilă).

Experiență de monetizare a aplicațiilor

Aplicația mobilă UNF, așa cum am scris deja, este gratuită. În urmă cu ceva timp, am decis să monetizăm aplicația noastră (folosind funcționalitatea de achiziție în aplicație implementată în platforma mobilă 1C:Enterprise versiunea 8.3.8), vinzând funcționalitate suplimentară - producție și capacitatea de sincronizare cu dispozitive mobile suplimentare.


Achiziționarea funcționalității „Producție” este o achiziție unică, iar capacitatea de sincronizare cu dispozitive mobile suplimentare este încadrată ca un abonament care trebuie reînnoit în fiecare lună. Interesant este că în 3 săptămâni de la adăugarea funcționalității de achiziții, UNF mobil a intrat în top 15 Google Play în ceea ce privește vânzările de aplicații pentru afaceri.

Concluzie

Mobile UNF este un produs relativ mic (în ceea ce privește cantitatea de cod sursă), dar destul de popular. Sperăm că povestea despre evoluția sa va fi utilă creatorilor de produse mobile pentru utilizatorii finali atât pe tehnologii 1C, cât și pe alte instrumente de dezvoltare.

Ar fi util să reamintim că pe platforma mobilă 1C, puteți realiza aplicații care interacționează nu doar cu backend-ul serverului 1C; protocoalele utilizate pentru schimbul de date în aplicațiile mobile de pe platforma 1C sunt independente de platformă (servicii web și HTTP, suport pentru XML și JSON etc.). Deci, dacă aveți nevoie să dezvoltați rapid și dinamic un client mobil multiplatform (Android, iOS, Windows) și cu capacitatea de a lucra offline fără o conexiune constantă la internet pentru aplicația dvs. de afaceri, atunci platforma mobilă 1C poate fi cea mai bună alegere pentru tine.