25/06/2025 - biron79 ha scritto:
se non è presente il 128 manualmente nella combo si inserisce il codice prodotto e automaticamente popola altre caselle di testo; quello che vorrei fare è popolare la combo tramite ricerca dell' ean13 e assegnare alla combo il codiceprodotto.
se non ho capito male....
hai il 128 dove le prime cifre dopo le parentesi sono l'ean13 del prodotto....
devi modificare l'estrazione che fai dal gs1-128.
esempio reale: ean128: (02)08026053624897(10)BB20062025(37)18
dice che il prodotto ean13 08026053624897 ha lotto BB20062025 e ci sono 18 confezioni
quando batti l'ean 128 devi riconoscere (anche tramite una funzione dedicata che ti ritorna i vari codici - lotto, scadenza, pezzi, confezioni ecc...) il suo ean13 (sempre dalla posizione 5 alla posizione 18).
la ricerca del prodotto nell'anagrafica articoli (o sarebbe meglio dire nella tabella barcodearticoli) la fai con l'ean13 che ti ritorna la funzione.
fin qui credo che lo faccia...
se hai solo l'ean13 bypassi l'estrapolazione dell'ean13 e vai direttamente alla ricerca in tabella barcodearticoli (o come vuoi chiamarla).
dalla tabella dei barcode risali all'articolo e precarichi tutto quello che ti serve per fare il carico (anche andare a selezionare la voce della combo).
un consiglio: dal textbox di ricerca io farei il controllo su: ean13, se non lo trova o non è un ean13, provi con ean128, se non esiste cerchi ref del fornitore, idarticolo se lo conosco a memoria, parziale descrizione dell'articolo (like %blabla%bli bli%) ecc... ecc.. e in extremis, aprirei il form articoli per avviare una ricerca (magari è un nuovo articolo e devo caricarlo usando duplica).
P.S. l'ean va sempre in una tabella a parte mai nell'anagrafica articoli. succede che lo stesso prodotto provenga da paesi diversi e quindi l'ean cambia (80 a inizio ean13 identifica l'italia, un prodotto fatto in italia) quindi un articolo molti ean13 (anche il dun14 che moltiplica il pezzo per il nr. confezioni)
quindi la tabella sarà ean13, idarticolo, nrpezzi.