COSO55 - Carico Quote Paghe¶
Funzione¶
Contabilizzazione addebiti soci da file esterno paghe a tracciato fisso (ADDEBITI.ARC). Identifica i soci per codice fiscale o partita IVA, e genera movimenti in prima nota non contabilizzata (COGPNONC). Gestisce sconti automatici basati su percentuali in anagrafica.
Menu¶
- Contabilita' > Unione soci/clienti > Movimenti > Carico quote paghe
Tracciato del file di input¶
Il file ADDEBITI.ARC viene letto come record di lunghezza fissa con il seguente layout (definito direttamente in FD qquote):
| Posizione | Lunghezza | Campo | Tipo | Significato |
|---|---|---|---|---|
| 1 | 1 | inp-tpt |
x(01) | Tipo record (es. 4 per quote IVA, altri per servizi) |
| 2 | 4 | filler | x(04) | Riservato |
| 6 | 16 | inp-codfis |
x(16) | Codice fiscale socio (o, troncato dalla pos. 6 per 11, partita IVA) |
| 22 | 107 | filler | x(107) | Riservato |
| 129 | 16 | inp-valore |
9(14)v9(02) | Importo (zoned decimal con 2 decimali impliciti) |
Il path completo viene costruito come ext-arc-dir + ext-os-slash + "ADDEBITI.ARC".
Tabelle e file principali¶
| Tabella/File | Descrizione | Accesso |
|---|---|---|
| QQUOTE | File input fisso ADDEBITI.ARC |
Input (open i-o, read sequential) |
| UNANASO | Anagrafica soci/clienti | Lettura (chiave 2 per P.IVA, chiave 6 per cod.fiscale completo, chiave 6 troncata per cod.fiscale 11 char) |
| COGPNONC (pno-rec) | Prima nota non contabilizzata | Scrittura (wr-cogpnonc) |
| COGPNCON (pco-chia) | Piano dei conti | Lettura (rd-cogpncon) |
| COGTABEL (euta-tipo=66) | Tabella generica contabilita' | Lettura configurazione |
Copybook e sottoprogrammi¶
| Elemento | Tipo | Ruolo |
|---|---|---|
| cogconta.cpy | Copybook | Record contabilita' (conta-rec) |
| cogfiles.cpy | Copybook | File configurazione |
| cogazien.cpy | Copybook | Dati azienda |
| coso55.select / .fd / .wrk / .prc | Screen | Definizioni screen |
| utilncnf.cpy | Copybook | Utility configurazione (RNEWCONF) |
| unanaso.k02 / unanaso.k06 | Copybook chiave | Chiave 2 (P.IVA) e chiave 6 (codice fiscale) UNANASO |
| COGS52 | Sottoprogramma | Gestione campi data (calendario) |
| COGS67 | Sottoprogramma (via utils67) | Lookup conti contabili |
| COGS99W | Sottoprogramma | Lookup causali contabili |
| COGS25 | Sottoprogramma | Generazione numero documento |
Logica principale¶
- Inizializzazione: legge tabella contabilita' (euta-tipo=66), verifica conto di sconto da configurazione RNEWCONF (
SOCI/conto-di-sconto) - Maschera parametri: conferma SI/NO, data registrazione, data valuta, conto dare (mastro/conto), conto avere (mastro/conto/sottoconto), causale, descrizione
- Controllo presenza file: il paragrafo
x-controlla-presenza-fileapreADDEBITI.ARCin i-o e verifica che esista (errore35-> "Archivio inesistente !!") - Lettura file: legge sequenzialmente i record a tracciato fisso (no UNSTRING / no delimitatore)
- Identificazione socio in cascata via paragrafi
cerca-unanaso-valido-*: cerca-unanaso-valido-chia6conanas-cofi = inp-codfis(codice fiscale completo)- se non trovato:
cerca-unanaso-valido-chia6-bisconanas-cofi = inp-codfis(6:11)(cod. fiscale troncato) - se non trovato:
cerca-unanaso-valido-chia2conanas-piva = inp-codfis(6:11)eanas-tipo2 = k-ana-tipo-cli(partita IVA) - Se
unanaso-dimesso: messaggio "Socio dimesso :Importo: prendere nota, questo movimento non verra' inserito." con box-msg, poigo to a325 - Se nessun match: messaggio "Socio non codificato:
" + importo, poi salto - Generazione movimenti per ogni socio trovato:
contab: scrive movimento DARE in COGPNONC (pno-segno="D", importo dal file)controp: scrive contropartita AVERE- Se data registrazione rientra nel periodo sconto del socio e sconto > 0:
contab-sconto: calcola sconto (importo * percentuale sconto) e scrive in AVERE (pno-segno="A")controp-sconto: scrive contropartita sconto sul conto di sconto configurato
- Lo sconto differisce per tipo record:
inp-tpt != 4usaanas-sconto-srv,inp-tpt = 4usaanas-sconto-iva - Fine: mostra numero documento creato
Note¶
- Limite massimo 9997 movimenti per esecuzione (contatore ctr)
- La tabella contabilita' (euta-tipo=66) fornisce parametri di esercizio in cogconta.cpy (conta-rec)
- Il conto di sconto viene letto dalla configurazione RNEWCONF (
SOCI/conto-di-sconto->tm-cfg-conto-di-sconto) - L'archivio COGPNONC deve essere stato salvato prima dell'esecuzione (ripristino in caso di errore)
Storico modifiche¶
Maggio 2026 — Tracciato fisso e rimozione import Excel/CSV¶
Riscrittura del flusso di acquisizione:
- Rimossi: tasto F5 "Apri file" con dialogo
C$OPENSAVEBOX, conversione Excel viaESTRXLS, copia client/server viaCOPIAF, parsing CSV viaUNSTRINGcon delimitatore configurabile. - Rimosse dipendenze:
utilestrxls.cpy,opensave.def,l-copiaf.cpy,u-copiaf.cpy. - Rimossa chiave RNEWCONF
cogesys/delimitatore-colonne-excel(parametrotm-cfg-delimiter);ncnf-pntridotto da 02 a 01. - Sostituita la logica inline di lookup socio (
st-unanaso-chia6-notmin+st-unanaso-chia2-notmincon gestione manuale dimesso/non dimesso) con i paragrafi standardcerca-unanaso-valido-chia6/chia6-bis/chia2e il flagunanaso-dimesso. - Aggiunta copy
unanaso.k06nella catena finale (oltre allaunanaso.k02gia' presente). - Tracciato file: ora fisso (
ADDEBITI.ARC), letto direttamente in FDqquotecon layoutinp-tpt+ filler +inp-codfis+ filler +inp-valore.
Variante COSO55A¶
A fianco del sorgente storico cbl/coso55.cbl esiste una variante cbl/coso55a.cbl con lo stesso program-id. coso55. ma compilata come COSO55A. Viene richiamata da COSO54 per la stampa finale degli addebiti (file addebiti.arc). Le due varianti condividono la logica principale; la versione "a" introduce il nuovo calcolo quote richiesto dall'Unione Agricoltori di Bologna ed e' la versione attiva per quella catena di chiamata.