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.
Menu¶
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.cpycog013.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— routineget-divisa-contoper 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¶
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).- 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 indep-nome-arc(2)edep-nome-arc(3)); il nome dell'archivio non contabilizzato deriva da COGTABEL tipo 45 (dep-nome-arc(1)). a4: inizializza la maschera, ricava la divisa del conto (get-divisa-conto), popola i nomi archivio nei campi selezionabili e prepara la griglia vuota.a-tm-sel-01/02/03: accept dei tre flag di selezione archivio (S/N); almeno un archivio deve essere selezionato (a-inizio-dati).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).- 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-importocon 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 tramiteb1-mov-okcon la descrizione dell'errore (w-des). b1-mov-ok: accoda l'elemento anomalo nella tabellatm-tab(maxk-max-ele-tab= 900 elementi) recuperando descrizione conto (COGPNCON) e importo convertito/editato via COGU10W; l'origine archivio e' marcata "N"/"A"/"P".z-costruisci-grid: svuota e ripopola la griglia GRIDADMN con i record accodati (x-riempi-grid-recordmappatm-*→grid-record).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 viafine/z-chiudichiudendo 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 dib-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 aziendaaz-personal = "UN". - Gli importi sono sempre convertiti nella divisa del conto ed editati tramite COGU10W (
z-u10, operazionik-u10-cambio/k-u10-edita). - Le descrizioni di anomalia possibili sono: "C.Costo non trovato", "Non quadra Importo.", "Non quadra Conto.", "CDC codice zero.".