COGP78HT - Stampa etichette¶
Funzione¶
Sottoprogramma per la stampa di etichette su stampanti Eltron/ZPL, con formati personalizzati per diversi clienti.
Tipo¶
Sottoprogramma (non a menu)
Modifiche recenti¶
Nuovo formato etichetta GAPI (Artic Seals)¶
Aggiunto paragrafo s-stampa-eti-eltron-artic-gapi-new: nuovo layout etichetta per il cliente GAPI basato sul modello fornito.
Contenuto etichetta:
- Barcode GAPI composto da codice articolo (allineato a dx), quantita', peso, lotto trascodificato
- Trascodifica lotto: dal formato AAAA/NNNNNNNN al formato ZZZZZAA (anno + 22)
- Data produzione (cure date): formato Qn/aaaa se da lotto, altrimenti data documento
- Codice articolo avanzato (con escape caratteri speciali)
- Descrizione articolo
- Informazioni ordine (numero conferma)
- Informazioni cliente GAPI (codice riferimento, articolo sub-cliente da COGRORAG)
- Dicitura "Made in Italy"
Tabelle/file utilizzati: - COGMERCI (dati articolo) - COGRORAG (riga aggiuntiva ordine: articolo sub-cliente) - COGGEANA (anagrafica: codice riferimento cliente) - File di stampa (flsta)
Chiamate:
- a2-cerca-peso — Ricerca peso articolo
- a3-cerca-data-produzione-lotto — Data produzione da lotto
- m-escape-rcm-cod-ava — Escape caratteri speciali codice avanzato
- m-escape-mer-descr — Escape caratteri speciali descrizione
Stampa lotto di produzione su NiceLabel (l-lotto-nicelabel)¶
La stampa dell'etichetta di lotto di produzione (operazione documento "L") sceglie ora la rotta in base alla periferica selezionata:
- Se
s54-periferica-att = "NICELABEL"->perform l-lotto-nicelabel(rotta COGPA9/NiceLabel) - Altrimenti ->
perform l-lotto-ava(etichetta termica EPL2, comportamento precedente invariato)
Il nuovo paragrafo l-lotto-nicelabel prepara i dati partendo dai campi del lotto passati in linkage (w-dc-la-*: merce, numero lotto, copie, quantita', note) e poi riusa la pipeline di stampa NiceLabel s-stampa con tm-estrazione = "E". Punti chiave:
- Nessun ordine di vendita collegato:
w-ror-chia1ew-doc-rigaazzerati, cosi' i campi ordine sull'etichetta restano vuoti. - Anagrafica azzerata (imita il versamento a magazzino,
cogmomagconmag-tipo "P"):tm-ana-cod,tm-ana-tip,tm-ana-padre,tm-ana-padre-origposti a zero/spazio. Lo scopo e' far entrare in modo deterministico il blocco "padre per famiglia" (cliente e CMC forzati da configurazione famiglia-cliente), evitando dati sporchi lasciati da un programma residente. - Cure-date calcolata esplicitamente: viene impostato il flag
w-cure-da-lotto = "S"(azzerato a fine paragrafo). Nella composizione del record NiceLabel, quando il flag e' attivo,m-nl-cure-dateviene valorizzato cometrimestre + annodi produzione del lotto tramitea3-cerca-data-produzione-lotto(sumlt-recgia' letto). Nel flusso termico/GAPI la cure-date e' un effetto collaterale delle routine di stampa; per la stampa NiceLabel da lotto va calcolata qui esplicitamente.
Nuova working: w-cure-da-lotto pic x(01) (default "N").
l-lotto-nicelabel passa per a1-estrai-documento (ramo "L") per riusare la stessa chiamata COGU05 dei documenti, cosi' l'operatore puo' editare copie/note/lotto prima della stampa; poi rilegge da COGU05 i valori eventualmente modificati (merce, lotto interno, copie, note, quantita' a piena precisione da u05-qta-conf).
Estrazione merce dal lotto (a1x-estrai-lotto)¶
Per i documenti di tipo "L" (stampa da lotto di produzione, senza documento di magazzino) a1-estrai-documento instrada ora su a1x-estrai-lotto. Il paragrafo compone la chiave lotto (AAAA/00NNNNNN da w-dc-la-lot-ann/w-dc-la-lot-num), legge la commessa di produzione (COGLAVOR, cla-rec) per ricavare merce e magazzino, e tramite COGMERLT (chiave chia2) risolve la chiave mlt-chia1 del lotto-merce. Predispone quindi una singola riga in u05-ele (1) con merce, progressivo e magazzino del lotto, lasciando la nota vuota.
I chiamanti COGF64 e COGQ16 sono stati aggiunti (accanto a COGV43 e COGL01A) al ramo Artic Seals che abilita l'editing di copie per lotto interno (u05-ope = "Lotto-int-copie").
Costanti formato etichetta rimosse¶
Le costanti k-info-formato-eti-sped (valore 5) e k-info-formato-eti-termica (valore 6) erano definite ma non utilizzate e sono state rimosse.
Correzione validazione lotto (formato GAPI)¶
La trascodifica lotto dal formato AAAA/NNNNNNNN e' stata corretta:
- La lettura del suffisso anno avviene ora dalla posizione 8 per 2 caratteri (pos 8:2) invece che dalla posizione 9.
- Il lotto viene troncato a 7 caratteri (anziche' 8) per allineamento al formato di stampa GAPI.
Forzatura modello "ETI-ARTIC-FILM" per macchine imbustatrici (2026-05-19)¶
In s-stampa-eti-eltron-artic-film la scrittura del record COGPA9-DATI per K-IE-N-COGP78-MOD-ETI non riporta piu' sempre m-nl-modello. Se la periferica selezionata e' una delle imbustatrici (s54-prf-sel = 214 / 215 / 216), il campo viene forzato a "ETI-ARTIC-FILM" (richiesta interna di Gianni). Questa forzatura serve a far riconoscere il modello corretto al downstream di stampa indipendentemente dalla configurazione del modello sulla periferica.
Note¶
- Il codice contiene un marcatore
*quicon comandi EPL grezzi non ancora integrati nel flusso — probabile WIP. - La versione precedente del formato GAPI (
s-stampa-eti-eltron-artic-gapi) resta attiva; la nuova versione (s-stampa-eti-eltron-artic-gapi-new) e' una variante con layout aggiornato.
Storico Modifiche¶
| Data | Descrizione |
|---|---|
| 2026/05 | Rimossi formati etichetta inutilizzati (sped, termica). Corretta validazione lotto: troncamento a 7 caratteri per allineamento formato GAPI |
| 2026/05/19 | Forzatura modello ETI-ARTIC-FILM per periferiche 214/215/216 (imbustatrici) in s-stampa-eti-eltron-artic-film. |
| 2026/05/21 | Aggiunto nuovo paragrafo s-stampa-eti-eltron-artic-gapi-new con layout etichetta GAPI completo (barcode, lotto trascodificato, codice/articolo/descrizione, ordine, cliente, cure date, riquadri grafici). |
| 2026/06/16 | Stampa lotto di produzione ("L") instradata su NiceLabel quando s54-periferica-att = "NICELABEL": nuovo paragrafo l-lotto-nicelabel (riusa s-stampa, azzera anagrafica per il blocco "padre per famiglia", calcola la cure-date dal lotto via w-cure-da-lotto / a3-cerca-data-produzione-lotto); il ramo termico EPL2 (l-lotto-ava) resta per le altre periferiche. |
| 2026/06/17 | Estrazione dati per documento di tipo "L": nuovo paragrafo a1x-estrai-lotto (risolve merce/lotto da COGLAVOR + COGMERLT e predispone la riga u05-ele). Aggiunti COGF64 e COGQ16 tra i chiamanti abilitati all'editing copie per lotto interno (ramo Artic Seals). |