Vai al contenuto

COGP71B - Stampa Elenco Buoni di Prelievo per Cliente

Scopo

Stampa un elenco dei buoni di prelievo raggruppati per cliente, con dettaglio righe, totali per buono, per cliente e totale generale. Supporta filtri per cliente, prodotto, periodo e stato del documento.

Posizioni menu

  • Magazzino > Entrate > Buoni di Prelievo > Stampa Elenco x Cliente
  • Magazzino > Uscite > Buoni di Prelievo > Stampa Elenco x Cliente

File e Tabelle

File Copybook Utilizzo
FEURTAB cogfiles.cpy Tabella file di sistema
COGTESBP cogp71b.fd Testata buoni di prelievo
COGRIGBP cogp71b.fd Righe buoni di prelievo
COGMERCI cogp71b.fd Anagrafica merci (per descrizione)
COGGEANA cogp71b.fd Anagrafica generale (per nome cliente)
FLSTA flsta.cpy File stampante

Copybook

  • cogfiles.cpy, cogp71b.select, cogp71b.fd, cogp71b.wrk, cogp71b-01.scr
  • flsta.cpy, k-u10.cpy
  • wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy
  • utils52.cpy, utils54.cpy, utils65.cpy, utils68.cpy, utilu10.cpy
  • cogazien.cpy, wcont.cpy, wcont1.cpy
  • stato1.cpy, stato.cpy, winmsg.cpy, grave.cpy, mmmask.cpy, opengen.cpy
  • cogp71b.prc, GetDCont.cpy, printer.cpy
  • cogtesbp.k03, cogrigbp.k02, cogrigbp.k03

CALL

Programma Scopo
COGS52 Input data con calendario
COGS54 Gestione parametri stampante e anteprima
COGS65W Ricerca anagrafica (cliente) con zoom
COGS68W Ricerca prodotto con zoom
COGU10W Conversione divisa, arrotondamento, formattazione importi

Logica di elaborazione

Parametri input (tab-maschera)

  • tm-cli: cliente (0 = tutti)
  • tm-da-merce / tm-a-merce: range prodotti
  • tm-da-data / tm-a-data: range date
  • tm-tipo: T=Tutti, C=Chiusi, A=Aperti, S=Sospesi
  • tm-mag: magazzino
  • tm-divisa: divisa di riferimento (dal conto)

Flusso di stampa (b-stampa)

  1. Posizionamento su COGTESBP per chiave 3 (cli + data + mag), st-cogtesbp-notmin-chia3
  2. Loop sulle testate buoni (b10-loop):
  3. Filtro per cliente, date, tipo documento
  4. Rottura per cliente: stampa totale cliente precedente + nuova testata cliente
  5. Per ogni testata buono, scorre COGRIGBP (b20-loop)
  6. Per ogni riga buono (b20-loop):
  7. Filtro range prodotti (bool-riga)
  8. Conversione prezzo nella divisa di riferimento (COGU10W con operazione "Cambio")
  9. Calcolo importo = prezzo * quantita', arrotondamento
  10. Accumulo totali (per buono ri-tot-bdp, per cliente ri-tot-cli, generale ri-tot-gen)
  11. Stampa totali buono, cliente, generale a fine elaborazione

Gestione salto pagina

  • bool-new-pg1/3/4/5: verificano se ci sono righe sufficienti prima di stampare sezioni che richiedono 1/3/4/5 righe, effettuando eventualmente un salto pagina con nuova testata.

Note tecniche

  • GUI (screen section con cogp71b-01.scr)
  • Larghezza stampa: 80 caratteri
  • Divisa del conto determinata con get-divisa-conto all'apertura
  • I prezzi delle righe vengono convertiti nella divisa del conto prima del calcolo importo