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:
- Parametri: ordinamento, range merci, quantita', flag note/descrizioni aggiuntive, divisa
- Selezione stampante: tramite COGS54
- Elaborazione: scansione distinte tramite COGU16W, per ognuna stampa componenti da COGDBASE
- 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)¶
COGU16W("Leggi") fornisce la prossima merce nel range- Filtra solo distinte (
mer-padre = "P") - Per la distinta corrente:
- Stampa testata con descrizione merce, UM, quantita' e divisa
- Scansione COGDBASE (
dba-gru/sot/cod) per i componenti - Per ogni componente (ela-20-loop):
- Legge la merce componente da COGMERCI
- Recupera il prezzo di acquisto tramite
COGL61(ultimo prezzo acquisto) - Converte il prezzo nella divisa selezionata tramite
COGU10W("Cambio") - Calcola:
w-qta-cmp = dba-qta * tm-qta(quantita' calcolata) - Calcola:
w-val-cmp = w-qta-cmp * w-pre(valore calcolato) - Arrotonda secondo la divisa
- Stampa riga con descrizione (COGS50), UM, quantita', prezzo, quantita' calcolata e valore calcolato
- Se componente e' a sua volta distinta (
mer-padre = "P"), marca con "D" - Se richieste descrizioni aggiuntive (
tm-desc-agg = "S"), stampa desc-agg - Accumula
tot-importo(prezzo * quantita' unitaria) etot-importo-clc(valore calcolato) - 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.cpywstato.cpy,wgrave.cpy,wopenf.cpy,wnscr.cpyutils54.cpy,utilu10.cpy,utilu20.cpy,utilu16.cpy,utils50.cpy,utils68.cpycogazien.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.