Vai al contenuto

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.

  • 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

  1. 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).
  2. 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).
  3. Movimenti del periodo: scorre COGMOMAG per il periodo selezionato, stampando ogni movimento con data, causale, quantita', valore. Accumula totali del periodo (tot-att-*).
  4. Saldi finali: calcola i totali prodotto (tot-pro-*) sommando precedente + periodo.
  5. Totali generali: accumula in ttt-gen i totali su tutti gli articoli stampati.
  6. Export Excel: se richiesto, genera file Excel con magazzino, descrizione, quantita'.

Copybook principali

  • cogv20.wrk, cogv20.select, cogv20.fd - Working, select, file descriptor
  • k-u10.cpy - Costanti U10
  • k-personal.cpy - Personalizzazioni
  • cogfiles.cpy - Struttura FEURTAB
  • logfile.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-cli consente di filtrare per cliente specifico (tm-cli).
  • Supporta personalizzazione tramite k-personal.cpy e az-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:

  1. Lettura testata documento: prima del calcolo dei valori, il programma legge COGTESBO (chiavi tes-mag = mag-mag1, tes-anno = mag-anno, tes-tipob = mag-tipob1, tes-bolla3 = mag-bolla1) per recuperare tes-data (data documento) e tes-cambio (cambio applicato sul documento).
  2. Passaggio a COGU10W: nelle chiamate z-u10-mag-valore (movimenti precedenti, periodo, totali), se mag-currency e' diverso da w-currency-conto vengono valorizzati u10-data-cambio = tes-data e, se tes-cambio e' valorizzato, u10-cambio = tes-cambio. Questo bypassa il calcolo automatico di U10 basato sulla data sistema.
  3. Fallback: se la lettura di COGTESBO non trova il documento (verbo non OK), tes-rec viene 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.