Blog - Developer - 30/11/2018
Esempio gestione lettore codice a barre
Questo esempio mostra come integrare un lettore di codici a barre all'interno di un documento fiscale:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
--GESTIONE DEL CODICE A BARRE PER LA FATTURA output.clear() if datafield.name() == "codice_a_barre" then if string.sub(datafield.getvalue(),-1) == "£" then --output.print(datafield.getvalue()) s = string.sub(datafield.getvalue(),1,string.len(datafield.getvalue())-1) datafield.setvalue("") --controllo se esiste già una riga con questo codice --se esiste aumento la quantità voto = 0 tabellarighe = dataview.getatable("fatture_rows") nrighe = tabellarighe.countrows() righe = tabellarighe.getrows() for i = 1,nrighe do codice = righe[i].getvalue("codice") output.print("codice") if codice == s then --aumento la quantità q = righe[i].getvalue("qta") q = q + 1 righe[i].setvalue("qta",q) voto = 1 tabellarighe.update() end end if voto == 0 then --cerco il codice dentro la tabella articoli tabellaarticolo = database.getsql("SELECT * FROM articoli WHERE codice='" .. s .. "'") if tabellaarticolo.countrows() > 0 then righe = tabellaarticolo.getrows() riga = tabellarighe.adddatarow() riga.setvalue("codice",s) riga.setvalue("gguid_codice",righe[1].getvalue("gguid")) riga.setvalue("descrizione",righe[1].getvalue("descrizione")) riga.setvalue("um",righe[1].getvalue("um")) riga.setvalue("prezzo_iniziale",righe[1].getvalue("prezzo")) riga.setvalue("codice_iva_prezzo",righe[1].getvalue("codice_iva_prezzo")) riga.setvalue("gguid_codice_iva_prezzo",righe[1].getvalue("gguid_codice_iva_prezzo")) riga.setvalue("descrizione_iva_prezzo",righe[1].getvalue("descrizione_iva_prezzo")) riga.setvalue("iva_prezzo",righe[1].getvalue("aliquotaiva_prezzo")) riga.setvalue("servizio",righe[1].getvalue("servizio")) riga.setvalue("qta",1) tabellarighe.update() else --se devo gestire la creazione end end end end |
In questo esempio è stato inserito un campo "codice_a_barre" all'interno del documento e attivato lo script sulla sua modifica. Quando viene modificato (leggo un codice a barre con il cursore posizionato dentro di esso) lo script se trova il carattere "£" in fondo esegue la ricerca del codice all'interno degli articoli. Il carattere è stato scelto perchè non verrà mai utilizzato all'interno dei codici. Questo carattere viene inserito automaticamente alla fine della lettura del codice da parte del lettore (per eseguire questo settaggio vedere le possibili impostazioni del lettore). Se viene trovato l'articolo si creare una nuova riga all'interno del documento caricando i suoi dati. Se esiste già una riga che richiama il codice viene aumentata la quantità.