COGP10 — Stampa etichette clienti / fornitori / soci¶
Sorgente: cbl/cogp10.cbl | Tipo: interattivo a maschera con elaborazione batch di stampa | Program-ID: cogp10
Menu: Contabilita' > Archivi & Tabelle > Stampe > Clienti > Etichette ; Contabilita' > Archivi & Tabelle > Stampe > Fornitori > Etichette ; Contabilita' > Archivi & Tabelle > Stampe > Soci > Etichette
Scopo¶
Stampa le etichette di indirizzo delle anagrafiche clienti, fornitori o soci. Il tipo di anagrafica trattata dipende dal parametro wo-parametro passato in linkage ("C" clienti, "F" fornitori, "S"/"G" soci), che determina anche il titolo maschera e i tipi anagrafici usati come chiave su COGGEANA (ana-tipo).
L'operatore sceglie il criterio di selezione (tm-sel) dei nominativi, l'ordinamento, l'intervallo, ed eventuali filtri (agente, tipologia, destinazione, periodo). Il formato fisico dell'etichetta non e' scelto in maschera ma deriva dalla configurazione (x99-src-cfg → tab-config): tm-cfg-tp-eti seleziona il layout, tm-cfg-file il numero di etichette per fila, tm-cfg-num-rig-etic il numero di righe. La stampa e' gestita da COGS54 (selezione stampante/emulazione).
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
FEURTAB / COGTABEL |
cogfiles.cpy (FD), cogp10.fd |
Tabelle generiche; tipo 84 (euta-tpl-tit) per il "titolo" da stampare in base alla tipologia cliente |
COGGEANA |
tramite cogp10.fd/paragrafi rd-/rdnxt-coggeana |
Anagrafica clienti/fornitori/soci: ana-tipo, ana-cod, ana-nome, ana-ind, ana-cap, ana-loca, ana-prov, ana-agente, ana-val |
COGAPPOG |
cogappog (via rd-cogappog) |
Dati di appoggio anagrafica: app-tip-stt (tipologia/stato) per selezione T e titolo |
COGFATTU |
via rd-/st-cogfattu |
Selezione per periodo di fatturazione (tm-sel = "F"): scansione fatture con ricerca dicotomica |
COGMOMAG |
via st-cogmomag-notmin-chia4 |
Selezione clienti con movimenti in data (tm-sel = "M") |
COGANAPP |
via rd-coganapp (aap-rec) |
Recupero indirizzo per etichette Eltron personalizzate |
sta (PRINTER) / flsta |
flsta.cpy |
File di stampa: sta per stampanti a righe, flsta per output su file (formato Eltron/EPL2) |
Servizi: w92 (utilw92.cpy) per destinazioni/indirizzi alternativi; utils52, utils54, utils65, copybook lingua/status-bar.
Criteri di selezione (tm-sel)¶
C— da cliente a cliente (intervallo di codici);E— elenco selezionato con F5 (multi-selezioneCOGU04);F— per periodo di fatturazione (solo clienti/soci);M— con movimenti di magazzino in un intervallo di date;T— con tipologia determinata (tm-tip-stt, aiutoCOGF10).
Filtri aggiuntivi: ordinamento per codice/descrizione (tm-ord), agente (tm-age-cod, solo clienti), destinazione merce (tm-dst-id-idx), flag inclusione anagrafiche cancellate (tm-fl-canc), intervallo date movimento.
Formati etichetta (tm-cfg-tp-eti)¶
1— etichette su modulo continuo, righer1/r1-1/r2/r3(personalizzazioniUN,ME); numero righe da configurazione.2— etichette su modulo A4 in continuo, righel0/l1/l2/l3(titolo, nominativo, indirizzo, CAP-localita'-prov).3/5— etichette laser su piu' file (righea1/a1-1/a2/a3), posizionamento pilotato datm-v-pos/tm-o-pos(paragrafia10-print/print-fila, gestionew-kyo-*).4— stampa su etichettatrice Eltron/EPL2 (s-stampa-eti-eltron), comandi ZPL-like scritti suflstaconSTRIP_TRAILING_SPACES.
Ogni riga porta nominativo (ana-nome), eventuale "C/O" e recapito da destinazione alternativa (w92-dest-*), indirizzo, CAP, localita', provincia. Per i fornitori il titolo e' forzato a "Spett.le".
Flusso principale¶
apri— init programma,rd-azi,open-files, lettura configurazione (x99-src-cfg), titolo maschera in base awo-parametro, definizione tasti funzione,rd-msk-pop.a4— inizializzatab-mascheracon default (tm-sel = "C", ordinamento codice, 1 copia).a-tm-sel...a-tm-copie— catena di accept dei campi maschera (tipo selezione, filtri, posizioni, copie); ogni campo hax-controlla-tm-*e navigazione F2/mouse (x-test-mouse).a-riga-fine—x-imposta-conferma: rivalida tutti i campi; se F3 ok procede.st-00— conferma stampa viaCOGS54(scelta stampante/emulazione, chr-stampa e emulazione dipendono datm-cfg-tp-eti); apresta/flstain output.stampa— dispatch sul criterio:st-10-loop(da/a codice),st-10-alf(ordinamento descrizione),st-10-fat(fatturazione, conricerca/src_loop/src_back_loopdicotomici),st-10-eln(elenco),st-10-tip(tipologia),st-10-mov(movimenti).st-20/st-20-ok/a10-print/print-fila— composizione righe etichetta e write sul formato attivo.fine2/sta-99— chiusura pagina, chiusura file di stampa,COGS54after-print, messaggio se nulla stampato.fine/z-chiudi— chiude i file e termina.
Sottoprogrammi chiamati¶
| Programma | Ruolo |
|---|---|
COGS54 |
Selezione stampante/emulazione e gestione del ciclo di stampa (before/after print) |
COGS52W |
Editing/validazione date movimento (da/a) |
COGU04 |
Multi-selezione nominativi per l'elenco (tm-sel = "E") |
COGF10 |
Aiuto/gestione tipologia (tm-tip-stt) su F8 |
send-w92 (COGW92) |
Recupero destinazioni/indirizzi alternativi e formattazione recapito |
Note¶
- Il formato etichetta e la disposizione (numero per fila, righe, emulazione) provengono dalla configurazione, non dalla maschera: modifiche al layout richiedono coordinamento con
tab-config/x99-src-cfg. - Numerose personalizzazioni cliente sono cablate su
az-personal(UN,LO,ME) e sutm-cfg-tp-eti4/5 (etichette Eltron per "Artic Seals"); il paragrafos-stampa-eti-eltron-articesiste ma la sua chiamata e' commentata. - La selezione per fatturazione (
st-10-fat) usa una ricerca dicotomica suCOGFATTU(ricerca,src_loop,src_back_loop) per posizionarsi sulla prima fattura nell'intervallo date: logica delicata, non modificare senza verificare gli estremiw_ini/w_fin. - Il sorgente usa estesamente
GO TOfra i paragrafi di accept e i loop di stampa, e alcuniPERFORM ... THRU(controlla-ordine thru ex-controlla-ordine,x7-acc-start thru ex-x7): forme legacy della conversione, da non replicare.