Vai al contenuto

COGE61 -- Saldi Giornalieri Schede

Sorgente: cbl/coge61.cbl | Program-ID: COGE61 | Tipo: Stampa

Menu: Contabilita' > Prima Nota > Stampe > Saldi Giornalieri Schede


Scopo

Stampa i saldi giornalieri per un singolo conto contabile in un intervallo di date. I movimenti vengono letti da COGCOATT (contabilizzato) e/o COGPNONC (non contabilizzato), scritti su un file transito COGTRANS ordinato per data/documento/progressivo, e poi stampati con dettaglio per giorno e saldi progressivi. Distingue tra conti di reddito e patrimoniali per il calcolo del saldo iniziale.


Struttura della maschera

Parametri di selezione

Campo Variabile Descrizione
Esercizio anno precedente tm-ese "S" = esercizio precedente, "N" = anno attuale
Movimenti non contabilizzati tm-contab "S" = includi non contabilizzati, "N" = solo contabilizzati
P.Nota Provvisoria tm-prov "S" = includi provvisori (visibile solo se az-ges-ip = "S")
Sequenza 8-6-9 tm-869 "S" = attiva (F8/F6/F9 dalla maschera P.Nota Provvisoria)
Piano dei Conti tm-pc (mas/con/sot) Conto contabile da stampare. F9 ricerca avanzata.
Da data tm-data-da Data inizio periodo (formato AAAAMMGG)
A data tm-data-a Data fine periodo (formato AAAAMMGG)

Logica di elaborazione

Flusso principale

  1. apri: inizializzazione, lettura azienda, apertura file, creazione COGTRANS temporaneo, lettura tabella generica contabilita' (COGTABEL tipo 66, record conta-rec), display maschera
  2. a4: reinizializzazione parametri (default: tm-ese = "N", tm-contab = "N", tm-prov = "S")
  3. Accept parametri: a-tm-ese -> a-tm-contab -> a-tm-prov -> a-tm-pc (piano dei conti, tramite z-s67-tm-pc) -> a-tm-data-da -> a-tm-data-a
  4. a-riga-fine: validazione, configurazione COGS54 (stampa, 132 colonne), apertura COGCOATT (anno attuale o precedente tramite open-pn-contabilizzata), avvio elaborazione

Fase 1: Caricamento dati su COGTRANS

Scansione sequenziale dei file contabili, filtrando per il conto selezionato (con logica multi-livello: mastro, conto, sottoconto):

  1. Da COGCOATT (cr-00-loop): lettura movimenti contabilizzati tramite chiave secondaria (chia2 = mastro/conto/sconto/datamov/docum), conversione divisa tramite COGU10, scrittura su COGTRANS con trs-tipo-file = "C"
  2. Da COGPNONC (cr-30 -> cr-30-loop): se tm-contab = "N", lettura movimenti non contabilizzati con stessa logica, con filtraggio P.Nota provvisoria (pno-fl-pro), scrittura su COGTRANS con trs-tipo-file = "N"

Fase 2: Stampa (a030 -> stampa loop)

Lettura sequenziale di COGTRANS e generazione stampa:

  1. Lettura piano dei conti (rd-cogpncon): per determinare se il conto e' di reddito (pco-reddito = "R") o patrimoniale
  2. Filtro per competenza:
  3. Conti di reddito: solo movimenti nel periodo dell'esercizio corrente
  4. Conti patrimoniali: inclusi movimenti precedenti per saldo iniziale
  5. Intestazione conto (a031): alla prima occorrenza del conto, legge descrizioni da COGPNCON e COGGEANA (se anagrafico)
  6. Rotazione data (a037): al cambio data, stampa subtotali giornalieri (rotconto)
  7. Stampa movimento: data, documento, fattura, protocollo, causale, descrizione, importo dare/avere
  8. Rotazione conto (rotconto): stampa saldo finale del conto

Layout stampa (132 colonne)

Riga Contenuto
rig1 Intestazione: "SALDI GIORNALIERI PER SINGOLO CONTO", data stampa, periodo, pagina
rig2 Codice e descrizione conto
rig3 Header colonne: DATA, DOCUM., N.FATT, DEL, PROT., DESCRIZIONE CAUSALE, DESCRIZIONE VARIABILE, DARE, AVERE
rig5 Riga movimento: data (gg/mm/aaaa), documento, provvisorio, n.fattura, data fattura, protocollo, causale, descrizione, dare, avere
rigsot Separatore (asterischi)

File utilizzati

File Accesso Scopo
COGCOATT Input Movimenti contabilizzati (anno attuale o precedente, apertura dinamica tramite open-pn-contabilizzata)
COGPNONC Input Prima nota non contabilizzata
COGPNCON Lettura Piano dei conti (descrizione, tipo reddito/patrimoniale, tipo anagrafico)
COGGEANA Lettura Anagrafica generale (nome per conti con tipo anagrafico)
COGTABEL Lettura Tabella generica contabilita' (tipo 66 -- esercizio, date chiusura)
COGTRANS I-O File transito temporaneo (in ext-tmp-dir, nome #$COGE61.{operatore})
FLSTA Output File spool stampa

Struttura COGTRANS

trs-chia1:
  trs-datamov     pic 9(08)   Data movimento (AAAAMMGG)
    trs-mova      pic 9(04)   Anno
    trs-movm      pic 9(02)   Mese
    trs-movg      pic 9(02)   Giorno
  trs-docum       pic 9(06)   Numero documento
  trs-pro         pic 9(04)   Progressivo
trs-con:
  trs-mastro      pic 9(02)   Mastro
  trs-conto       pic 9(02)   Conto
  trs-sconto      pic 9(06)   Sottoconto
trs-dataeff       pic 9(08)   Data effettiva
trs-to            pic 9(03)   Tipo operazione
trs-des           pic x(40)   Descrizione
trs-segno         pic x(01)   Segno (D/A)
trs-datafat       pic 9(08)   Data fattura
trs-nfatt         pic x(08)   Numero fattura
trs-niva          pic 9(08)   Numero IVA
trs-valuta        pic 9(08)   Data valuta
trs-importo       pic 9(12)v9(06) Importo
trs-currency      pic x(02)   Divisa
trs-tipo-file     pic x(01)   "C" contabilizzato / "N" non contabilizzato
trs-prov          pic x(01)   Flag provvisorio

Programmi chiamati

Programma Scopo
COGS52W Calendario (date picker, F8)
COGS54 Gestione stampa/spooler (132 colonne)
COGU10W Conversione divisa (cambio importi in divisa di conto)

Copybook principali

coge61.wrk, coge61.select, coge61.fd, coge61.decla, coge61-01.scr, k-u10.cpy, cogcoatt.cpy, cogconta.cpy, cogazien.cpy, flsta.cpy, utils52.cpy, utils54.cpy, utils67.cpy, utilu10.cpy


Note

  • La variabile fl-pno-pro controlla il filtro sulla Prima Nota provvisoria: " " = escludi provvisori, "P" = includi provvisori, "O" = includi anche sequenza 8-6-9.
  • I movimenti con data effettiva (trs-dataeff > 0) vengono riattribuiti alla data effettiva per il calcolo del saldo. Questo gestisce il caso di movimenti di competenza di un periodo diverso dalla data di registrazione.
  • Il saldo iniziale dei conti patrimoniali viene calcolato considerando tutti i movimenti precedenti alla data di partenza.
  • Il programma supporta la selezione a livello di mastro (sottoconto e conto a zero): in questo caso stampa tutti i conti del mastro selezionato.