COGP64 — Ristampa buoni di prelievo¶
Sorgente: cbl/cogp64.cbl | Tipo: Programma GUI standalone (selezione + lancio stampa) | Program-ID: cogp64
Menu: Magazzino > Entrate > Buoni di Prelievo [Ristampa] ; Magazzino > Uscite > Buoni di Prelievo [Ristampa]
Scopo¶
Consente di selezionare un buono di prelippo (BDP) gia' emesso e di rilanciarne la stampa. Il programma non produce direttamente il documento: raccoglie gli estremi del buono (magazzino, anno, numero, mese, giorno), verifica che la testata esista su COGTESBP e delega la stampa al modulo appropriato in base alla configurazione (bdp/modo-stampa) e all'eventuale personalizzazione aziendale.
Puo' funzionare in due contesti:
- Interattivo (da menu): l'operatore compila i campi sulla maschera.
- Chiamato da altro programma (
p64-called = 'COGP64-CALLED'): riceve il riferimento buono gia' valorizzato inp64-buonoe salta direttamente alla lettura/stampa.
La chiave del buono e' composta da due varianti a seconda della configurazione numerazione (tm-cfg-tip-num): campi tm-mag/tm-aa/tm-num/tm-mm/tm-gg (numerazione standard) oppure tm-mag1/tm-aa1/tm-num1 (numerazione alfabetica/alternativa 'A').
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| COGTESBP | cogtesbp.k01 |
Testata buono di prelievo: lettura per verifica esistenza documento (rd-tbp → rd-cogtesbp) |
| COGMAGAZ | cogmagaz.k01 |
Anagrafica magazzini: validazione del magazzino indicato (magz-tipo = 'M') |
| COGCONTA | COGCONTA.CPY |
Contabilita'/divisa: get-divisa-conto per la divisa del conto |
| COGTABEL | via RNEWCONF |
Lettura configurazioni applicative (gruppi GESTBUONIP, PROGCOGV51, PRNTSTABDP, bdp) |
Flusso principale¶
apri— init GUI,open-files,rd-azi,get-divisa-conto; lettura configurazioni conx99-src-cfg,x999-src-cfge (se gestione lavorazioni attiva)x9999-src-cfg.- Se
p64-called = 'COGP64-CALLED': carica il buono dap64-buono(redefinito inrif-buono) e salta aa10_read. a4— default: magazzino principale azienda (az-main-mag) e data di sistema.a-tm-mag…a-tm-gg(oppurea-tm-mag1…a-tm-num1) — accept dei campi chiave con validazionix-controlla-*; F8 su magazzino richiama la scelta magazzino (send-w36→COGW36), F8 su anno il calendario (COGS52), F1 (setm-cfg-ges-lav = 'S') apre la modifica configurazione.a-richiesta-conferma→x-imposta-conferma— validazione complessiva; F3 conferma.a10_read— legge la testata buono suCOGTESBP(rd-tbp); se inesistente mostra "Documento non Esistente" e torna alla selezione (o esce se chiamato).s1-90/s1-100— attende conferma stampa; impostap64-fl-sta(flag stato stampa,'N'o mantenuto'B'di bypass periferica).- Selezione modulo di stampa in
s1-100: - se
tm-cfg-modo-stampa = 'W'→ chiama COGP64W (stampa GUI/Web); - se esiste personalizzazione aziendale (
az-personal) → chiamaCOGP64<personal>.COBconon overflowdi fallback; - altrimenti →
COGP64NO(modulo di stampa standard). fine/z-chiudi— chiusura file e uscita.
Sottoprogrammi chiamati¶
| Programma | Ruolo |
|---|---|
| COGP64W | Modulo di stampa buono in modalita' 'W' (bdp/modo-stampa = 'W') |
| COGP64NO | Modulo di stampa standard del buono |
COGP64<personal> |
Modulo di stampa personalizzato per azienda (az-personal), con fallback su COGP64NO |
COGW36 (sendw36.cpy) |
Aiuto/scelta magazzino (F8), tramite send-w36 |
COGS52 (utils52.cpy) |
Gestore campo data / calendario |
COGU10W (utilu10.cpy) |
Utilita' di gestione (z-u10-gen) |
| COGE67 | (Riferimento IVA — presenza copybook utilw36/util correlati) |
I paragrafi rd-cogtesbp, rd-cogmagaz, ecc. sono le routine di I/O generate (gestori tabella generati).
Configurazioni (RNEWCONF)¶
Tutte lette tramite RNEWCONF (pacchetto 'C'):
| Percorso/Gruppo | Chiavi | Destinazione | Note |
|---|---|---|---|
| GESTBUONIP | euta-c053-tip-num, -ges-lav, -inf-tip, -tip-alb, -inf-cam, -inf-cid | tm-cfg-c053 |
Tipo numerazione, gestione lavorazioni, parametri albero/inferenza (x99-src-cfg) |
| bdp | modo-stampa | tm-cfg-modo-stampa |
Seleziona modulo stampa ('W' = COGP64W) |
| PROGCOGV51 | euta-c041-acc-sco, -qta-dec, -vis-um, -pre-ctr, -db-sca, -db-esc | tm-cfg-c041 |
Configurazione bolle (x999-src-cfg) |
| PRNTSTABDP | euta-c056-speed, -density, -cutter, -printer | tm-cfg-c056 |
Parametri stampante etichette/BDP (x9999-src-cfg), passati ai moduli di stampa |
Parametri di linkage¶
Interfaccia comune via stringhe. Il record di interscambio e' utilp64.cpy (redefine di user-area):
| Campo | Uso |
|---|---|
p64-called |
'COGP64-CALLED' se invocato da altro programma |
p64-buono |
Riferimento buono (mag/anno/num/mese/giorno) in ingresso quando chiamato |
p64-fl-sta |
Flag stato stampa in uscita ('N', oppure 'B' bypass periferica) |
p64-operazione, p64-file |
Operazione e file (interfaccia p64 generica) |
E' presente anche la ridefinizione util-m41 (m41-bolla, m41-tip-doc, m41-called) usata dal contesto chiamante.
Note¶
- La numerazione del buono ha due layout alternativi in maschera; solo uno e' visibile in base a
tm-cfg-tip-num('A'= variante*1). - Il blocco commentato
281117conteneva il controllo "documento gia' chiuso/tramutato in bolla non piu' ristampabile", oggi disattivato: i buoni chiusi sono comunque ristampabili. - I parametri stampante (
tm-cfg-c053,tm-cfg-c056) vengono passati come argomenti aggiuntivi ai moduli di stampa non-W.