COGV67 — Ristampa buoni di consegna (selezione e dispatch stampa)¶
Sorgente: cbl/cogv67.cbl | Tipo: Programma di menu (GUI) / richiamabile | Program-ID: COGV67
Menu: Magazzino > Uscite > Buoni di Consegna [Ristampa] ; Lab.Odont. > Buoni Consegna [Ristampa]
Scopo¶
COGV67 gestisce la ristampa dei buoni di consegna. L'operatore seleziona il buono da ristampare (magazzino, anno, tipo, numero) e il numero di copie; il programma valida l'esistenza del documento sulla testata COGTESBO e poi delega la stampa vera e propria al modulo di stampa appropriato, scelto in base alla personalizzazione azienda e alla configurazione (stampa come DDT o buono standard).
Puo' funzionare in due modi:
- interattivo: presenta la maschera "Ristampa buoni";
- richiamato da un altro programma (linkage
utilv67.cpy, chiavev67-called = "COGV67-CALLED"): se la configurazione non richiede il numero di copie, esegue in modalita' "silent" saltando la maschera; altrimenti mostra i dati del buono in sola visualizzazione e chiede solo il numero di copie.
Il programma di per se' non produce il documento: costruisce il record maschera con i parametri del buono e invoca il modulo di stampa.
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| COGTESBO | cogfiles.cpy (tes-rec) |
Testata buono/documento: validazione esistenza e lettura tipo/anagrafica cliente (tes-tipocf, tes-nonno) |
| COGANAPP | cogfiles.cpy (aap-rec) |
Anagrafica appendice cliente: flag ente pubblico (aap-ente-pub) per copia aggiuntiva |
| COGAPPOG | cogfiles.cpy (app-rec) |
Appoggio anagrafico: tipologia RI (NETQUADRO) per copia aggiuntiva |
Flusso principale¶
main / apri— init programma,ctr-abil,open-files,rd-azi; se richiamato popolaw-dati-calleddautilv67.cpy(archivia, buono, cancel).x99-confi— lettura configurazione via RNEWCONF (stampa come DDT, numero copie di default, richiesta numero copie, richiesta prezzi).- Se richiamato e la configurazione non richiede il numero copie: carica il buono in
tab-mascherae salta direttamente aa-fine-dati(modalita' silent). - Interattivo: prepara la maschera "Ristampa buoni" (
rd-msk-pop,z-costruisci-controlli), imposta i tasti funzione (F1 configura, F3 conferma, F8 calendario). a4— reset maschera, tipo documento defaultB; se richiamato, mostra il buono in display e va aa-fine-dati(se "Archivia") o aa-tm-cfg-cop.a-tm-mag/a-tm-anno/a-tm-numero— accept dei campi del riferimento buono; F1 su magazzino riapre la configurazione.x-controlla-tm-numeroleggeCOGTESBO(rd-cogtesbo) per verificare l'esistenza ("Buono non esistente!") e recupera tipo/codice anagrafica.a-tm-cfg-cop— accept del numero di copie.a-fine-dati— validazione complessiva; per personalizzazione LAB-LORI aggiunge una copia in casi particolari (aggiungi-copia-se-pub-amm); se configurato (tm-cfg-rch-prz = S), tramiterch-prz(dialogo DIALOGS) chiede se invertire l'impostazione generale di stampa prezzi (F9 →causale = "IN").s1-90— se non silent, richiesta di conferma (acc-conf).s-stampa(s1-90-go) — costruisce il recordmaschera(magazzino, anno, tipo, numero, n. copie) e invoca il modulo di stampa opportuno.fine / z-chiudi— chiusura file e uscita.
Selezione del modulo di stampa (s-stampa)¶
- Se
tm-cfg-ddt = "D"(stampa come DDT): varianti personalizzateCOGP72PL(LAB-LORI Padova),COGP72WI(WILOCS),COGP72OV(Ortovert), altrimentiCOGP72standard. - Altrimenti buono standard: se
az-personalvalorizzato provaCOGV67<personal>(nome composto), con fallback suCOGV67NO(stampa standard); seaz-personalvuoto va direttamente aCOGV67NO.
Parametri di linkage¶
Riceve stringhe (wcont/wcont1) e la struttura utilv67.cpy (redefine di user-area):
| Campo | Uso |
|---|---|
v67-called |
"COGV67-CALLED" attiva la modalita' richiamata |
v67-cancel |
Se diverso da N, esegue CANCEL del modulo di stampa dopo la chiamata |
v67-archivia |
Se "Archivia" imposta tipodes = "A" e stampa 1 copia |
v67-bolla |
Chiave del buono (magazzino, anno, tipo, numero) |
Sottoprogrammi chiamati¶
| Programma | Ruolo |
|---|---|
| COGP72 | Stampa buono di consegna come DDT (variante standard) |
| COGP72PL / COGP72WI / COGP72OV | Stampa buono come DDT — varianti personalizzate (LAB-LORI Padova / WILOCS / Ortovert) |
| COGV67NO | Stampa buono di consegna standard (fallback) |
COGV67<personal> |
Stampa buono standard personalizzata per azienda (nome composto a runtime) |
| RNEWCONF | Lettura configurazione stampa buoni |
| DIALOGS | Dialogo di scelta inversione stampa prezzi (rch-prz) |
COGS52 / COGS54 / COGS68 / COGS60 / COGS95 (z-*) |
Gestione controlli maschera (Y*) |
Configurazioni (RNEWCONF)¶
| Pacchetto | Gruppo | Chiave | Variabile | Uso |
|---|---|---|---|---|
| C | GESTBUONIC | euta-c034-ddt | tm-cfg-ddt |
Stampa come DDT (D) o buono standard |
| C | prntbuonic | euta-c025-cop | tm-cfg-cop |
Numero copie di default |
| C | prntbuonic | euta-c025-fl-num / euta-c025-fl-age | — | Flag ausiliari copie |
| C | prntbuonic | rch-n-copie | tm-cfg-rch-n-copie |
Se S richiede il numero copie anche in modalita' richiamata |
| C | PRNTSTBOLL | euta-c022-rch-prz | tm-cfg-rch-prz |
Se S chiede se invertire la stampa prezzi (default forzato a N) |
Note¶
- Modalita' silent: attiva quando il programma e' richiamato e
rch-n-copienon e'S; salta ogni interazione e stampa direttamente. - La copia aggiuntiva per enti pubblici / NETQUADRO (
aggiungi-copia-se-pub-amm) e' applicata solo per personalizzazione LAB-LORI (k-personal-lab-lori); leggeCOGANAPP(ente pubblico) eCOGAPPOG(tipologiaRI). - Personalizzazione WILOCS: forza stampa non-DDT (
tm-cfg-ddta spazi) prima della selezione modulo. - Il campo
causaledel recordmaschera, storicamente inutilizzato, viene riusato per veicolare"IN"(inverti stampa prezzi) al modulo di stampa. - Il sorgente contiene un
perform s-stampa thru ex-s: pattern legacy del programma originale.