Vai al contenuto

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-chia1 e w-doc-riga azzerati, cosi' i campi ordine sull'etichetta restano vuoti.
  • Anagrafica azzerata (imita il versamento a magazzino, cogmomag con mag-tipo "P"): tm-ana-cod, tm-ana-tip, tm-ana-padre, tm-ana-padre-orig posti 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-date viene valorizzato come trimestre + anno di produzione del lotto tramite a3-cerca-data-produzione-lotto (su mlt-rec gia' 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 *qui con 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).