Ghiduri terminale mobile și RFID

DataWedge pe terminalele Zebra: codul scanat direct în aplicație

Echipa ADC StoreIdentificare automată și POS, din 2005

Publicat 15 min de citit

Terminal mobil cu mâner pistol îndreptat spre eticheta cu cod de bare a unei cutii, pe un culoar de depozit cu rafturi înalte
Cuprins 9 secțiuni
  1. Cum lucrează DataWedge cu profilurile și Profile0
  2. Profil numai pentru aplicația ta, cu Enter după cod
  3. Enter, Tab, prefix și sufix
  4. Reguli de formatare avansată
  5. Tipurile de cod oprite din fabrică
  6. Keystroke sau intent, pe înțelesul unui manager
  7. Același profil pe 20 de terminale
  8. Când scanezi și nu apare nimic sau apare greșit
  9. Înainte de a da terminalele operatorilor

Pe scurt

DataWedge e serviciul preinstalat pe terminalele Android Zebra care trimite codul citit în aplicația deschisă, fără programare. Pentru cazul obișnuit, o aplicație web sau un program de gestiune care așteaptă codul tastat și apoi Enter, ajung patru setări: un profil nou asociat numai aplicației tale, tipurile de cod necesare în „Barcode input”, ieșirea „Keystroke output” activă și „Send ENTER key” bifat. Profilul exportat ca fișier .db se copiază apoi pe celelalte terminale.

Cum lucrează DataWedge cu profilurile și Profile0

DataWedge vine instalat pe fiecare aparat Android Zebra, de la terminalul TC22 și TC53e la MC3400 cu mâner pistol sau tableta ET401. Totul se reglează în profiluri. Un profil spune de unde vin datele (intrarea, de exemplu „Barcode input”, adică scannerul), cum se prelucrează (formatarea de bază sau cea avansată) și cum ajung în aplicație (ieșirea: tastare, intent sau rețea IP). Când o aplicație trece în prim-plan, DataWedge încarcă profilul asociat ei.

Două reguli din documentația Zebra explică multe dintre problemele de la punerea în funcțiune. Prima: un profil poate servi mai multe aplicații, dar o aplicație poate fi asociată unui singur profil. A doua: Profile0 e profilul implicit, aplicat oricărei aplicații care nu are profil propriu, și nu poate fi asociat cu o aplicație anume. O modificare făcută în Profile0 se vede deci în toate aplicațiile neasociate, inclusiv în cele în care nu e nevoie de scanare. Profile0 se poate și dezactiva; atunci nu se mai scanează în aplicațiile neconfigurate. Regula practică: lasă Profile0 cum e și fă pentru aplicația de lucru un profil separat.

Meniurile din acest ghid sunt cele din documentația Zebra TechDocs pentru DataWedge 15.0, citită pe 16.10.2026. Pe aparatele cu o versiune mai veche, unele opțiuni lipsesc sau stau în alt loc. Versiunea instalată se vede în DataWedge, din meniul cu trei puncte, la „About”. Ce contează la alegerea terminalului însuși (scanner, ecran, autonomie, administrarea flotei) e explicat în ghidul de alegere a terminalului mobil pentru depozit.

Profil numai pentru aplicația ta, cu Enter după cod

Situația tipică: programul de gestiune sau aplicația web are un câmp în care operatorul scrie codul și apasă Enter. DataWedge face același lucru în locul lui, iar aplicația nu trebuie modificată. Interfața DataWedge e în engleză, așa că opțiunile apar aici cu numele de pe ecran.

  1. Deschide aplicația DataWedge din lista de aplicații a terminalului. Dacă se deschide pe alt ecran, apasă Înapoi până ajungi la lista de profiluri.
  2. Din meniu, alege „New profile” și dă-i un nume scurt, din litere și cifre, de exemplu WMSDEPOZIT. Zebra recomandă nume scurte și unice, ca să nu apară erori la export și import.
  3. Deschide profilul și bifează „Profile enabled” (profil activ).
  4. Intră la „Associated apps”, alege din meniu „New app/activity” și selectează aplicația ta. Pe lista de activități care apare, atinge asteriscul (*), ca profilul să se aplice tuturor ecranelor aplicației. O activitate anume limitează profilul la acel ecran.
  5. Întoarce-te în profil și verifică dacă „Barcode input” e activ. La „Configure scanner settings”, apoi „Decoders”, lasă bifate numai tipurile de cod pe care le folosești.
  6. Activează „Keystroke output”. Deschide „Basic data formatting” din aceeași secțiune, activează formatarea și bifează „Send ENTER key”.
  7. Deschide aplicația, pune cursorul în câmpul de cod și scanează o etichetă reală. Codul trebuie să apară în câmp și să fie trimis singur, ca după o apăsare de Enter.

Dacă profilul nu se încarcă, verifică dacă aplicația nu e deja asociată altui profil. Un profil existent se poate clona cu o apăsare lungă pe nume, ceea ce ajută la a doua aplicație cu setări apropiate.

Dacă aplicația rulează în browser

DataWedge vede aplicații Android, nu site-uri. O aplicație web folosită în Chrome se asociază deci cu Chrome, iar profilul se aplică oricărei pagini deschise în el. Dacă operatorii folosesc același browser și pentru alte lucruri, o variantă e Enterprise Browser, browserul Zebra pentru aplicații web, care poate folosi funcțiile DataWedge și primește propriul profil.

Pe Android 10 și mai nou, DataWedge trimite datele prin propria metodă de introducere, de aceea tastatura obișnuită dispare pentru o clipă la fiecare scanare. Pentru trecerea automată în câmpul următor cu Enter sau Tab după fiecare cod, într-o pagină web sau într-o aplicație Android, Zebra recomandă opțiunea „Display DataWedge keyboard” din „Keystroke output”. Cu ea activă, în timpul scanării apare tastatura DataWedge, iar cea obișnuită revine după un timp reglabil, implicit 10 secunde.

Enter, Tab, prefix și sufix

Ce se adaugă înainte sau după cod se reglează în „Basic data formatting”, secțiune care există la fiecare ieșire (tastare, intent, IP). Dacă formatarea de bază nu e activată, codul pleacă exact cum a fost citit. Alege setarea după ce face aplicația când operatorul tastează de mână:

Ce așteaptă aplicațiaSetarea din „Basic data formatting”
Codul, apoi trimiterea formularului sau căutarea produsului„Send ENTER key” bifat
Codul, apoi saltul în câmpul următor, de exemplu la cantitate„Send TAB key” bifat, „Send ENTER key” debifat
Codul fără nimic după el, când aplicația îl validează singurăambele debifate
Un marcaj înaintea codului, ca programul să știe că vine din scanner„Prefix to data”, cu un caracter convenit cu furnizorul
Un text fix după cod„Suffix to data”

Ca să scoți Enter-ul, debifează „Send ENTER key” în profilul aplicației, nu în Profile0. Dacă Enter-ul apare în continuare, el vine dintr-o regulă de formatare avansată sau chiar din cod: unele etichete au scrise în ele un Tab sau un retur de car. Pentru ele există „Action key character”, în „Keystroke output”, unde poți alege Tab, Line feed sau Carriage return; DataWedge transformă caracterul respectiv din cod în apăsarea tastei, iar cu „None” nu injectează nimic.

Celelalte caractere de control (codurile ASCII 1–31) pleacă implicit ca text. Opțiunea „Send Control Characters as Events” le trimite ca taste, dar documentația avertizează că aplicațiile web nu le tratează așa: un Ctrl+F dintr-un cod nu deschide căutarea în browser. Dacă programul trebuie să știe tipul codului, „Code ID Type” din „Scan params” pune înaintea lui un identificator de trei caractere („Aim”) sau de un caracter („Symbol”). Toate opțiunile sunt descrise în documentația Zebra pentru Keystroke Output.

Reguli de formatare avansată

Când codul trebuie schimbat, de exemplu tăiat sau curățat de caractere, se folosește „Advanced data formatting”. O regulă are criterii (de exemplu numai codurile Code 39 de 12 caractere care încep cu 129) și acțiuni executate de sus în jos: mutarea cursorului, eliminarea spațiilor sau a zerourilor de la început, înlocuirea unui șir, trimiterea întregului cod sau a unei părți, pauze.

Un exemplu folositor la codurile GS1: în GS1 DataMatrix, câmpurile cu lungime variabilă, cum e lotul, se încheie cu caracterul invizibil GS (hexazecimal 1D). Dacă programul nu îl recunoaște, lotul se lipește de câmpul următor. Rolul separatorului e explicat în articolul despre GS1 Sunrise 2027. O regulă poate înlocui GS-ul cu un caracter convenit cu furnizorul programului:

  1. În profil, la „Keystroke output”, deschide „Advanced data formatting” și activează-l.
  2. Intră la „Rules” și deschide regula existentă Rule0 sau creează una nouă din meniu, cu „New rule”.
  3. La „Criteria” poți limita regula la anumite coduri, din „Source criteria”, de exemplu numai la decodorul GS1 DataMatrix.
  4. La „Actions”, alege din meniu „New action”, apoi „Replace string”. La „Find string” scrie \x1D, iar la „Replace string”, caracterul convenit.
  5. Trage acțiunea „Replace string” deasupra lui „Send remaining”, ca înlocuirea să se facă înainte de trimitere.
  6. Scanează un cod GS1 de probă și verifică șirul primit în aplicație.

Zebra recomandă o pauză de 50 ms („Send pause”) după orice Enter, Line feed sau Tab trimis dintr-o regulă, ca să nu se piardă date. Lista acțiunilor e în ghidul Zebra pentru Advanced Data Formatting. Versiunea 15.0 are și o cale fără reguli: analiza GS1 („GS1 Parsing”, în „Configure scanner settings”, apoi „Barcode Parsing”) desparte codul în GTIN, lot și dată de expirare și le trimite cu un separator ales.

Tipurile de cod oprite din fabrică

Un profil nou citește din fabrică codurile cele mai răspândite, printre care EAN-13, EAN-8, UPC-A, Code 128, Code 39, QR, Data Matrix și PDF417. Altele sunt oprite și se pornesc în profilul aplicației. Din lista Zebra, cele care te pot interesa într-un magazin sau într-un depozit sunt Interleaved 2 of 5 (codurile ITF-14 de pe baxuri și cutiile de transport), GS1 DataBar, GS1 DataMatrix și GS1 QR Code (coduri 2D care pot purta lotul și data de expirare), GS1 Digital Link, Code 93 și MicroQR.

  1. Deschide profilul aplicației (nu Profile0) și intră la „Barcode input”, apoi „Configure scanner settings” și „Decoders”.
  2. Bifează tipul de cod. Dacă decodorul are parametri, atinge-i numele. La Interleaved 2 of 5, de exemplu, „Length1” și „Length2” stabilesc lungimile acceptate (0 și 0 înseamnă orice lungime), iar „Convert to EAN13” transformă codurile de 14 cifre care încep cu 0 și au cifra de control EAN-13 corectă în coduri EAN-13.
  3. Debifează tipurile pe care nu le folosești. Zebra recomandă asta pentru o citire mai rapidă și mai puține erori de decodare.
  4. Scanează etichete reale de la furnizorii tăi și verifică datele primite.

La codurile GS1 contează un detaliu din tabelele de decodare Zebra. Cât timp GS1 DataMatrix e oprit, decodorul Data Matrix, activ din fabrică, citește și codurile GS1, dar le raportează ca Data Matrix obișnuit, iar analiza GS1 se aplică numai codurilor decodate ca GS1. La fel se întâmplă la QR Code și GS1 QR Code. Decodorul GS1 Digital Link are trei moduri: modul 1, cel implicit, trimite numai GTIN-ul primului cod citit, fără lot și expirare, iar modul 2 trimite și celelalte date GS1 când găsește în timp util codul 2D. Diferențele dintre simbologii sunt în ghidul despre tipurile de coduri de bare.

Keystroke sau intent, pe înțelesul unui manager

DataWedge are două feluri principale de a preda codul aplicației. Keystroke înseamnă tastare: codul apare în câmpul în care stă cursorul, ca și cum operatorul l-ar fi scris. Intent înseamnă un mesaj Android trimis direct aplicației, cu codul, tipul lui (de exemplu EAN-13 sau GS1 DataMatrix) și sursa (scannerul sau camera). Tastarea merge cu orice aplicație, fără modificări. Mesajul cere ca aplicația să fie programată să-l primească: dezvoltatorul alege o acțiune și o categorie de intent, iar în profil, la „Intent output”, se completează aceleași valori.

CriteriuKeystroke (tastare)Intent (mesaj către aplicație)
Ce trebuie făcut în aplicațienimic, ajunge un câmp de textcod scris de furnizorul aplicației
Unde ajunge codulîn câmpul cu cursorul, chiar dacă operatorul a atins alt câmpdirect în logica aplicației, indiferent de câmp
Tipul coduluinumai cu un identificator („Code ID Type”)inclus în mesaj
Coduri lungi și GS1pot lipsi caractere, iar separatorul GS cere reguli sau analiza GS1codul ajunge ca un singur șir; din DataWedge 15.0.55, câmpurile GS1 pot veni deja separate
Potrivit pentruaplicații web, programe de gestiune existente, punere rapidă în funcțiuneaplicații Android native, fluxuri cu multe coduri GS1

Recomandarea noastră: pornește cu keystroke, pentru că nu cere nimic furnizorului. Cere intent output când aplicația e nativă Android și apare una dintre aceste situații: operatorii scanează în ecrane cu mai multe câmpuri și codul ajunge uneori în câmpul greșit; aplicația trebuie să trateze diferit un EAN de produs și un cod de locație din raft; se citesc coduri GS1 cu lot și expirare. O pagină deschisă într-un browser obișnuit nu primește mesaje Android, deci la aplicațiile web rămâne tastarea sau Enterprise Browser.

Dacă aplicația folosește și comenzile DataWedge (API-urile prin intent, de exemplu pentru schimbarea profilului), pe Android 14 și mai nou ele sunt restricționate implicit la aplicațiile aprobate de administrator. Spune-i asta furnizorului înainte de livrare. Pentru aplicațiile scrise la comandă, ADC Store face și integrarea cu ERP-ul, WMS-ul sau programul de gestiune. Dacă încă te gândești între terminal și telefon, comparația e în ghidul despre scanarea cu telefonul sau cu un scanner.

Același profil pe 20 de terminale

Configurează și testează profilul pe un singur terminal, apoi copiază-l pe celelalte. DataWedge exportă profilul singur (dwprofile_NUME.db) sau configurația întreagă (datawedge.db), cu toate profilurile și setările generale. Importul unui profil îl adaugă pe listă sau îl înlocuiește pe cel cu același nume, în timp ce importul configurației înlocuiește tot ce era pe aparat. Pentru o singură aplicație, exportă profilul.

  1. Pe terminalul de test, deschide meniul DataWedge, apoi „Settings” și „Export Profile”, și alege profilul. Fișierul ajunge implicit în /storage/emulated/0/Download/dwprofile_NUME.db.
  2. Păstrează fișierul exact cum a ieșit: Zebra avertizează că un fișier redenumit sau modificat de mână nu se mai poate importa.
  3. Distribuie-l pe una dintre căile următoare.
  4. Pe 2–3 terminale, scanează aceleași etichete de probă ca pe terminalul de test și compară rezultatul.
  • Manual. Copiază fișierul pe terminal, apoi alege „Settings” și „Import Profile”. Merge la câteva aparate; la 20 înseamnă 20 de operații făcute de mână.
  • StageNow, aplicația gratuită Zebra pentru Windows. Fișierul se pune pe un server FTP sau HTTP, iar profilul StageNow îl copiază cu File Manager CSP în dosarul de import automat /enterprise/device/settings/datawedge/autoimport. StageNow generează un cod de bare, pe care fiecare terminal îl scanează cu aplicația StageNow.
  • Sistemul de administrare a flotei (EMM sau MDM) pune fișierul în același dosar sau aplică un fișier XML exportat din StageNow. Zebra oferă și OEMConfig (Zebra Managed Configurations).

DataWedge urmărește dosarul de import automat: preia fișierul, înlocuiește profilul cu același nume, șterge fișierul și aplică setările pe loc. Dosarul /enterprise nu se vede din managerul de fișiere, așa că fișierele ajung acolo numai prin StageNow, printr-un sistem de administrare sau din program. Un profil făcut pe un TC53e se poate importa și pe un MC3400 sau pe un TC22: documentația spune că profilurile create cu DataWedge 6.5 sau mai nou merg pe orice model Zebra cu DataWedge 6.5 sau mai nou. Dacă scannerul ales în profil lipsește pe aparatul-țintă, DataWedge cere alegerea altuia.

Două situații fac ca importul să nu aibă efect: aplicația e deja asociată altui profil pe terminalul-țintă (șterge întâi asocierea veche) sau aplicația e pe lista „Disabled app list”. Ca operatorii să nu schimbe setările după instalare, DataWedge Manager CSP, folosit din StageNow sau din sistemul de administrare, poate ascunde interfața DataWedge. Pașii oficiali sunt în pagina Zebra despre export și import și în ghidul Zebra pentru implementarea în masă.

Când scanezi și nu apare nimic sau apare greșit

La punerea în funcțiune, majoritatea problemelor țin de profil, nu de scanner. Tabelul pornește de la ce vede operatorul pe ecran.

Ce se întâmplăCauza probabilăSetarea de verificat
Fasciculul se aprinde, dar în aplicație nu apare nimicaplicația nu are profil, iar Profile0 nu are ieșire configurată; sau cursorul nu e într-un câmp de textprofil propriu asociat aplicației, cu „Keystroke output” activ
Nu se aprinde nici fascicululprofilul e dezactivat, Profile0 e dezactivat și aplicația nu are profil, butonul de scanare e dezactivat în profil sau DataWedge e oprit„Profile enabled”, „Hardware trigger” din „Barcode input”, „DataWedge enabled” din „Settings”
Scanarea merge în aplicația demonstrativă DWDemo, dar nu în aplicația taprofilul DWDemo trimite datele numai aplicației demonstrativeprofil propriu pentru aplicație
Merge pe un ecran al aplicației, pe altul nuprofilul e asociat unei singure activitățiasocierea cu asteriscul (*) în „Associated apps”
Un tip de cod nu se citește delocdecodorul lui e oprit din fabrică„Decoders” în profilul aplicației
Lipsesc caractere sau apar în altă ordinedatele pleacă prea repede pentru aplicație, iar Enter-ul sau Tab-ul ajunge înaintea textului„Inter-character delay”, crescut cu câte 100 ms (maximum 1.000), sau „Key event delay”, în „Keystroke output”
Diacritice sau caractere speciale greșitesetul de caractere nu se potrivește cu eticheta„Character Set Selection” din „Reader params” (implicit UTF-8); în browser, și „Multi-byte character delay”
Lotul și data de expirare se lipesc la codurile GS1programul nu înțelege separatorul GSregula „Replace string” cu \x1D sau „GS1 Parsing” cu separator
Codul apare de două ori„Aim type” pe „Continuous Read” cu „Same Symbol Timeout” 0; „Send tokens” pe „Barcodes and tokens” fără separator; tastarea și intent-ul active, iar aplicația le tratează pe amândouă„Same Symbol Timeout” din „Reader params”, separatorul din „Keystroke output”, o singură ieșire activă
Enter-ul nu mută cursorul în câmpul următor dintr-o pagină webtastatura obișnuită se schimbă în timpul scanării„Display DataWedge keyboard” din „Keystroke output”
Profilul importat nu schimbă nimicaplicația e asociată deja altui profil pe terminalștergerea asocierii vechi, apoi un nou import

Capturi de ecran pentru fiecare pas al creării profilului sunt în ghidul Zebra de creare a profilurilor.

Înainte de a da terminalele operatorilor

  • Versiunea DataWedge din „About” e aceeași pe toate terminalele.
  • Profilul e activ și asociat cu asteriscul aplicației de lucru, iar Profile0 a rămas neschimbat sau e dezactivat.
  • Sunt pornite numai tipurile de cod folosite, verificate pe etichete reale, inclusiv ITF-14 și GS1, dacă apar în depozit.
  • Enter-ul sau Tab-ul face ce așteaptă aplicația pe 20–30 de scanări la rând, fără caractere lipsă și fără dubluri.
  • O copie a fișierului exportat e păstrată într-un dosar cu data, ca să poți reveni la o versiune care mergea.

Modelele cu DataWedge preinstalat, de la TC22 și TC27 la TC58e, TC78, TC8300 și MC9400, sunt la terminalele Zebra din magazin.

Cauți echipamentul potrivit?

Echipa ADC Store îți răspunde de luni până vineri, între 8:30 și 16:30, la 021 255 71 74 sau la office@adc-store.ro. Pentru mai multe echipamente îți facem o ofertă pentru tot proiectul.

Echipa ADC StoreIdentificare automată și echipamente POS

Scriem din experiența IMARK SISTEM, companie din grupul Trieurodata care lucrează din 2005 cu identificare automată și echipamente pentru punctul de vânzare: alegerea echipamentelor, integrarea cu programele de gestiune, service și consumabile.

Produsele din acest ghid

Vezi toate: terminale zebra