Vai al contenuto

COG013 - Ricerca Movimenti Contabili con Centro di Costo a Zero

Scopo

Programma di visualizzazione (griglia) che ricerca i movimenti contabili di prima nota su conti di reddito il cui collegamento con i centri di costo risulta anomalo: centro di costo non trovato, importo non quadrante tra prima nota e movimenti c/costo, conto non corrispondente oppure (per personalizzazione "UN") codice CDC a zero. L'operatore seleziona uno o piu' archivi contabili (non contabilizzato, anno attuale, anno precedente) e ottiene in una griglia l'elenco dei movimenti da correggere.

Contabilita' > Centri di Costo > Vis. Movimenti con C/Costo a Zero

File e tabelle

File Tipo Descrizione
FEURTAB Parametri File parametri di ambiente / anagrafica azienda
COGTABEL Indicizzato Tabelle generiche; tipo 66 = tabella generica contabilita' (per nomi archivi contabilizzati), tipo 45 = archivio non contabilizzato; chiave euta-key/euta-tipo/euta-codr
COGPNCON Indicizzato Piano dei conti; chiave pco-chia (pco-mastro/conto/sconto); campi pco-reddito, pco-des
COGMOVCC Indicizzato Movimenti centri di costo; chiave cdc-chia; campi cdc-con, cdc-segno, cdc-importo, cdc-liv1/2/3
COGPNONC Indicizzato (dinamico) Archivio movimenti di prima nota da controllare; assegnato di volta in volta al nome archivio selezionato (nf-name-14); chiave pno-chia; campi pno-mastro/conto/sconto, pno-importo, pno-segno, pno-currency

I tre archivi contabili scorsi sono file dello stesso tracciato COGPNONC, aperti in sequenza sui nomi ricavati da: archivio non contabilizzato (COGTABEL tipo 45, nf-name-14), archivio anno attuale e archivio anno precedente (aperti tramite open-pn-contabilizzata con w-opn-contabilizzata = "ATT"/"PRE").

Copybook

File e select

  • feurtab.fd, cogfiles.cpy
  • cog013.select, cog013.fd, cog013.wrk, cog013-01.scr, cog013.decla, cog013.prc

Costanti

  • k-u10.cpy — operazioni di cambio/edit divisa

Working-storage standard

  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy

Utilita'

  • wgrid.cpy, utilgrid.cpy, utilgdad.cpy — gestione griglia (GRIDADMN)
  • cogconta.cpy — record della tabella generica contabilita'
  • utils52.cpy — gestione date (COGS52W)
  • utilu10.cpy — conversione/edit importi e divise (COGU10W)
  • GetDCont.cpy — routine get-divisa-conto per la divisa del conto

Linkage

  • wcont.cpy, wcont1.cpy

Procedure

  • mmmask.cpy (programma standalone), grave.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy

CALL

Programma Descrizione
GRIDADMN Gestione della griglia di dettaglio (preparazione colonne, add/svuota record, amministrazione S-F4)
COGU10W Conversione degli importi in divisa ed edizione formattata (paragrafo z-u10)

Logica di elaborazione

  1. apri: inizializza abilitazioni (ctr-abil), z-99-init-program, carica la lingua, legge l'anagrafica azienda (rd-azi), apre i file (open-files); imposta i t.f. disponibili (F3 conferma, S-F4 griglia); prepara la griglia (z-prepara-tm-grid) e i controlli (z-costruisci-controlli).
  2. Individuazione nomi archivi: legge COGTABEL tipo 66 per l'esercizio contabile (blocca con "Esercizio contabile non presente!!" se assente), poi apre gli archivi di prima nota contabilizzata anno attuale e anno precedente via open-pn-contabilizzata (nomi salvati in dep-nome-arc(2) e dep-nome-arc(3)); il nome dell'archivio non contabilizzato deriva da COGTABEL tipo 45 (dep-nome-arc(1)).
  3. a4: inizializza la maschera, ricava la divisa del conto (get-divisa-conto), popola i nomi archivio nei campi selezionabili e prepara la griglia vuota.
  4. a-tm-sel-01/02/03: accept dei tre flag di selezione archivio (S/N); almeno un archivio deve essere selezionato (a-inizio-dati).
  5. carica-dati (a-95/b-src-arc/b-rd-arc): per ogni archivio selezionato apre il relativo file COGPNONC e lo scorre in sequenza (b-10-loop).
  6. Controllo di quadratura (b-10-loop/b-20): per ogni movimento di conto di reddito (pco-reddito = "R" letto da COGPNCON) somma i movimenti c/costo corrispondenti su COGMOVCC (cdc-importo con segno D/A) e confronta con l'importo di prima nota. Se il centro di costo non e' trovato, se l'importo non quadra, se il conto non corrisponde (cdc-con) o (personalizzazione "UN") se un livello CDC e' a zero, marca il movimento come anomalo tramite b1-mov-ok con la descrizione dell'errore (w-des).
  7. b1-mov-ok: accoda l'elemento anomalo nella tabella tm-tab (max k-max-ele-tab = 900 elementi) recuperando descrizione conto (COGPNCON) e importo convertito/editato via COGU10W; l'origine archivio e' marcata "N"/"A"/"P".
  8. z-costruisci-grid: svuota e ripopola la griglia GRIDADMN con i record accodati (x-riempi-grid-record mappa tm-*grid-record).
  9. a-grid/a-accept-grid: gestione della griglia di dettaglio; S-F4 apre l'amministrazione griglia (GRIDADMN). ESC torna alla maschera; la funzione si chiude via fine/z-chiudi chiudendo COGTABEL, COGPNCON, COGMOVCC.

Note tecniche

  • La costante k-max-ele-tab (valore 900) limita il numero di elementi in griglia; al superamento viene mostrato un avviso "Tabella Piena!" e gli elementi eccedenti sono scartati.
  • L'archivio di prima nota da controllare e' un unico tracciato COGPNONC riassegnato dinamicamente al nome dell'archivio selezionato (nf-name-14), aperto/chiuso all'interno di b-rd-arc/b-90; l'apertura fallita produce il messaggio "Archivio ... Mancante o rovinato".
  • Il controllo dei livelli CDC a zero (cdc-liv1/2/3) e' attivo solo per la personalizzazione azienda az-personal = "UN".
  • Gli importi sono sempre convertiti nella divisa del conto ed editati tramite COGU10W (z-u10, operazioni k-u10-cambio/k-u10-edita).
  • Le descrizioni di anomalia possibili sono: "C.Costo non trovato", "Non quadra Importo.", "Non quadra Conto.", "CDC codice zero.".