Vai al contenuto

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, chiave v67-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

  1. main / apri — init programma, ctr-abil, open-files, rd-azi; se richiamato popola w-dati-called da utilv67.cpy (archivia, buono, cancel).
  2. x99-confi — lettura configurazione via RNEWCONF (stampa come DDT, numero copie di default, richiesta numero copie, richiesta prezzi).
  3. Se richiamato e la configurazione non richiede il numero copie: carica il buono in tab-maschera e salta direttamente a a-fine-dati (modalita' silent).
  4. Interattivo: prepara la maschera "Ristampa buoni" (rd-msk-pop, z-costruisci-controlli), imposta i tasti funzione (F1 configura, F3 conferma, F8 calendario).
  5. a4 — reset maschera, tipo documento default B; se richiamato, mostra il buono in display e va a a-fine-dati (se "Archivia") o a a-tm-cfg-cop.
  6. a-tm-mag / a-tm-anno / a-tm-numero — accept dei campi del riferimento buono; F1 su magazzino riapre la configurazione. x-controlla-tm-numero legge COGTESBO (rd-cogtesbo) per verificare l'esistenza ("Buono non esistente!") e recupera tipo/codice anagrafica.
  7. a-tm-cfg-cop — accept del numero di copie.
  8. 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), tramite rch-prz (dialogo DIALOGS) chiede se invertire l'impostazione generale di stampa prezzi (F9 → causale = "IN").
  9. s1-90 — se non silent, richiesta di conferma (acc-conf).
  10. s-stampa (s1-90-go) — costruisce il record maschera (magazzino, anno, tipo, numero, n. copie) e invoca il modulo di stampa opportuno.
  11. fine / z-chiudi — chiusura file e uscita.

Selezione del modulo di stampa (s-stampa)

  • Se tm-cfg-ddt = "D" (stampa come DDT): varianti personalizzate COGP72PL (LAB-LORI Padova), COGP72WI (WILOCS), COGP72OV (Ortovert), altrimenti COGP72 standard.
  • Altrimenti buono standard: se az-personal valorizzato prova COGV67<personal> (nome composto), con fallback su COGV67NO (stampa standard); se az-personal vuoto va direttamente a COGV67NO.

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-copie non 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); legge COGANAPP (ente pubblico) e COGAPPOG (tipologia RI).
  • Personalizzazione WILOCS: forza stampa non-DDT (tm-cfg-ddt a spazi) prima della selezione modulo.
  • Il campo causale del record maschera, 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.