Vai al contenuto

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 in p64-buono e 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-tbprd-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

  1. apri — init GUI, open-files, rd-azi, get-divisa-conto; lettura configurazioni con x99-src-cfg, x999-src-cfg e (se gestione lavorazioni attiva) x9999-src-cfg.
  2. Se p64-called = 'COGP64-CALLED': carica il buono da p64-buono (redefinito in rif-buono) e salta a a10_read.
  3. a4 — default: magazzino principale azienda (az-main-mag) e data di sistema.
  4. a-tm-maga-tm-gg (oppure a-tm-mag1a-tm-num1) — accept dei campi chiave con validazioni x-controlla-*; F8 su magazzino richiama la scelta magazzino (send-w36COGW36), F8 su anno il calendario (COGS52), F1 (se tm-cfg-ges-lav = 'S') apre la modifica configurazione.
  5. a-richiesta-confermax-imposta-conferma — validazione complessiva; F3 conferma.
  6. a10_read — legge la testata buono su COGTESBP (rd-tbp); se inesistente mostra "Documento non Esistente" e torna alla selezione (o esce se chiamato).
  7. s1-90 / s1-100 — attende conferma stampa; imposta p64-fl-sta (flag stato stampa, 'N' o mantenuto 'B' di bypass periferica).
  8. Selezione modulo di stampa in s1-100:
  9. se tm-cfg-modo-stampa = 'W' → chiama COGP64W (stampa GUI/Web);
  10. se esiste personalizzazione aziendale (az-personal) → chiama COGP64<personal>.COB con on overflow di fallback;
  11. altrimenti → COGP64NO (modulo di stampa standard).
  12. 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 281117 conteneva 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.