Vai al contenuto

COGP37 - Valorizzazione x Q.ta

Scopo

Stampa le distinte base valorizzate per una quantita' specificata dall'utente. Per ogni distinta nel range selezionato, stampa i componenti con prezzo di acquisto, quantita' calcolata e valore, calcolando il costo totale del prodotto.

Struttura

Programma standalone di stampa con maschera GUI (mmmask.cpy). Flusso:

  1. Parametri: ordinamento, range merci, quantita', flag note/descrizioni aggiuntive, divisa
  2. Selezione stampante: tramite COGS54
  3. Elaborazione: scansione distinte tramite COGU16W, per ognuna stampa componenti da COGDBASE
  4. Stampa: testata per distinta, corpo per componenti, totale costi

Tabelle/File utilizzati

Tabella Accesso Descrizione
COGMERCI Lettura Anagrafica merci - scansione distinte e lettura componenti
COGDBASE Lettura Distinta base - elenco componenti di ciascuna distinta
FEURTAB Configurazione Tabella configurazioni standard

Logica di elaborazione

Ciclo principale (ela-10-loop / ela-20-loop)

  1. COGU16W ("Leggi") fornisce la prossima merce nel range
  2. Filtra solo distinte (mer-padre = "P")
  3. Per la distinta corrente:
  4. Stampa testata con descrizione merce, UM, quantita' e divisa
  5. Scansione COGDBASE (dba-gru/sot/cod) per i componenti
  6. Per ogni componente (ela-20-loop):
  7. Legge la merce componente da COGMERCI
  8. Recupera il prezzo di acquisto tramite COGL61 (ultimo prezzo acquisto)
  9. Converte il prezzo nella divisa selezionata tramite COGU10W ("Cambio")
  10. Calcola: w-qta-cmp = dba-qta * tm-qta (quantita' calcolata)
  11. Calcola: w-val-cmp = w-qta-cmp * w-pre (valore calcolato)
  12. Arrotonda secondo la divisa
  13. Stampa riga con descrizione (COGS50), UM, quantita', prezzo, quantita' calcolata e valore calcolato
  14. Se componente e' a sua volta distinta (mer-padre = "P"), marca con "D"
  15. Se richieste descrizioni aggiuntive (tm-desc-agg = "S"), stampa desc-agg
  16. Accumula tot-importo (prezzo * quantita' unitaria) e tot-importo-clc (valore calcolato)
  17. A fine distinta (ela-50): stampa riga totale e note se richieste

Gestione note (c2-note)

Se tm-note = "S", stampa le note associate alla distinta.

Descrizioni aggiuntive

Per personalizzazione BB-Elettronica, le descrizioni aggiuntive sono abilitate di default.

Chiamate a sottoprogrammi

Programma Scopo
COGU16W Gestione ordinamento e scansione range merci
COGL61 Recupero ultimo prezzo di acquisto componente
COGU10W Conversione valuta e formattazione importi
COGS50 Formattazione descrizione merce per stampa
COGS54 Gestione stampante
COGS68W Gestione campo merce con ricerca avanzata

COPY utilizzate

File/Select

  • feurtab.fd, cogp37.select, cogp37.fd, flsta.fd, flsta.cpy

Working storage

  • cogp37.wrk, k-u10.cpy
  • wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy
  • utils54.cpy, utilu10.cpy, utilu20.cpy, utilu16.cpy, utils50.cpy, utils68.cpy
  • cogazien.cpy, utilcogl61.cpy

Linkage

  • wcont.cpy, util021.cpy, wcont1.cpy

Screen

  • cogp37-01.scr

Procedure

  • cogp37.prc, grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy

Note

  • Il formato di stampa usa 80 colonne (s54-chr-stampa = 80).
  • I codici colore nella stampa (C17, CRE) sono comandi per stampante per evidenziare le righe descrittive.
  • L'identificativo cursore divisa e' DSVL (Distinta Stampa VaLorizzata).
  • Il prezzo di acquisto viene recuperato da COGL61 con cogl61-in-prezacq = "S" (prezzo acquisto).
  • La personalizzazione BB-Elettronica (az-personal = k-bb-elettronica) abilita le descrizioni aggiuntive di default.