COGV20 - Stampa Movimenti per Merce¶
Funzione¶
Stampa dei movimenti di magazzino per articolo con saldi precedenti, movimenti del periodo e saldi finali. Supporta visualizzazione quantita' e valori, con opzioni di riepilogo, quadratura e export Excel.
Menu¶
- Magazzino > Stampe > Movimenti x Merce
Tabelle e file principali¶
| Tabella/File | Descrizione | Accesso |
|---|---|---|
| COGMOMAG | Movimenti magazzino | Lettura (scan) |
| COGMERCI | Anagrafica merci | Lettura |
| COGMEMOR | Consolidato magazzino (saldi precedenti) | Lettura |
| COGTESBO | Testata bolla/documento (tes-rec) — usata per recuperare data e cambio del documento di origine del movimento (TASK-5135) |
Lettura |
| COGTABEL | Tabelle generali (tipo 57 per date consolidamento) | Lettura/Scrittura |
| FEURTAB | File path tabelle | Lettura |
| FLSTA | File di stampa | Scrittura |
| LOGFILE | File di log | Scrittura |
| filexls | File export Excel (line sequential) | Scrittura |
Logica principale¶
- Maschera parametri: accetta data ultimo consolidamento, periodo (da/a), range articoli, magazzino, ordinamento merce, opzioni di visualizzazione (
tm-rie,tm-val,tm-quad,tm-mov,tm-rot,tm-sm,tm-conto-terzi,tm-stampa-data,tm-escl-servizio,tm-fl-merci-cli). - Calcolo saldi precedenti: per ogni articolo, parte dal consolidato (COGMEMOR) e scorre i movimenti di COGMOMAG antecedenti al periodo per calcolare saldo precedente (pezzi e quantita' caricate e scaricate:
tot-pre-pez-car/sca,tot-pre-qta-car/sca,tot-pre-val-car/sca). - Movimenti del periodo: scorre COGMOMAG per il periodo selezionato, stampando ogni movimento con data, causale, quantita', valore. Accumula totali del periodo (
tot-att-*). - Saldi finali: calcola i totali prodotto (
tot-pro-*) sommando precedente + periodo. - Totali generali: accumula in
ttt-geni totali su tutti gli articoli stampati. - Export Excel: se richiesto, genera file Excel con magazzino, descrizione, quantita'.
Copybook principali¶
cogv20.wrk,cogv20.select,cogv20.fd- Working, select, file descriptork-u10.cpy- Costanti U10k-personal.cpy- Personalizzazionicogfiles.cpy- Struttura FEURTABlogfile.cpy- Struttura file di log
Note¶
- Il programma gestisce un salto di 18 righe per pagina (
k-salto = 18). - I totalizzatori sono organizzati in tre livelli: precedente (
tot-pre-*), periodo (tot-att-*), prodotto (tot-pro-*), e generali (ttt-*). - Il campo
tm-fl-merci-cliconsente di filtrare per cliente specifico (tm-cli). - Supporta personalizzazione tramite
k-personal.cpyeaz-personal. - Il cursore
w-cur-id = "SMQV"identifica il tipo di stampa (Stampa Movimenti Quantita' e Valore).
Storico modifiche¶
2026-06-01 - TASK-5135: valorizzazione con cambio storico del documento¶
Per i movimenti riferiti a documenti in valuta estera, la conversione di valore tramite COGU10W ora utilizza la data e il cambio del documento di origine anziche' la data sistema e il cambio corrente. La conversione storica risulta cosi' coerente con i valori riportati sul documento (bolla / fattura) anche se nel frattempo le quotazioni di cambio sono cambiate.
Modifiche operative:
- Lettura testata documento: prima del calcolo dei valori, il programma legge
COGTESBO(chiavites-mag = mag-mag1,tes-anno = mag-anno,tes-tipob = mag-tipob1,tes-bolla3 = mag-bolla1) per recuperaretes-data(data documento) etes-cambio(cambio applicato sul documento). - Passaggio a COGU10W: nelle chiamate
z-u10-mag-valore(movimenti precedenti, periodo, totali), semag-currencye' diverso daw-currency-contovengono valorizzatiu10-data-cambio = tes-datae, setes-cambioe' valorizzato,u10-cambio = tes-cambio. Questo bypassa il calcolo automatico di U10 basato sulla data sistema. - Fallback: se la lettura di
COGTESBOnon trova il documento (verbo non OK),tes-recviene reinizializzato e si torna al comportamento storico (data sistema, cambio calcolato da U10).
La modifica e' stata introdotta originariamente per le bolle di Reso Clienti (vedi anche TASK-5135 su COGS33), ma in COGV20 si applica a tutti i movimenti che abbiano un documento in valuta estera.