COSO41 - Stampa Analitica Quote¶
Funzione¶
Stampa dettagliata (analitica) del conteggio quote soci dell'Unione Agricoltori. Per ogni socio elenca il dettaglio per conduzione (superficie, quote fisse, valori unitari), acconti, sconti e quota dovuta. Produce totali per zona e totale generale con riepilogo soci e superfici.
Menu¶
- Contabilita' > Unione soci/clienti > Quote > Stampa Analitica Quote
Tabelle e file principali¶
| Tabella/File | Descrizione | Accesso |
|---|---|---|
| QQUOTE (newquote) | Archivio quote soci, file indicizzato per anno | Input |
| UNANASO | Anagrafica soci/clienti | Lettura (chiave 1, 5) |
| COGTABEL (euta-tipo=06) | Tabelle generiche: zone (codso1=90), conduzioni, conteggi | Lettura |
| FLSTA | File di stampa | Output |
Copybook e sottoprogrammi¶
| Elemento | Tipo | Ruolo |
|---|---|---|
| newquote.cpy / newquote.fd | Copybook | Record e SELECT file quote |
| flsta.cpy / flsta.fd | Copybook | File di stampa |
| cogfiles.cpy | Copybook | File configurazione |
| cogazien.cpy | Copybook | Dati azienda |
| coso41.select / .fd / .wrk / .prc | Screen | Definizioni screen |
| COGS54 | Sottoprogramma | Gestione stampante |
| COGS65W | Sottoprogramma | Lookup socio con ricerca |
| COSO30 | Sottoprogramma | Help/lookup zona (F8) |
| unanaso.k05 | Copybook | Accesso anagrafica per zona |
| getdcont.cpy | Copybook | Lettura divisa conto |
| utils52 / utils54 / utils65 / utilu10 / utilo30 | Copybook | Utility varie (date, stampa, anagrafica, lookup) |
Logica principale¶
- Maschera parametri: anno (obbligatorio), tipo quota, socio (0=tutti), zona (999=tutte), ordine stampa (G=generale, Z=per zona)
- Apertura archivio: verifica esistenza file quote per l'anno indicato (QUOaaaa.ARC)
- Scansione soci: lettura sequenziale dell'anagrafica soci (UNANASO), filtrata per zona se specificata; usa chiave 1 (alfabetica) per stampa generale, chiave 5 (per zona) per stampa raggruppata
- Per ogni socio: cerca record in QQUOTE per socio/anno. Per ogni record:
- quo-mode = "S" (superficie): stampa dettaglio conduzione con ettari, quote fisse, valori unitari, accumula superfici per tipo conduzione (CD/PBA)
- quo-mode = "A" (acconto): stampa riga acconto
- quo-mode = "T" (totale): stampa totale socio con lordo, sconto e quota dovuta; accumula in totali zona e generali
- Rottura zona: se ordine per zona, stampa totale zona al cambio di zona
- Fine: stampa totale generale, riepilogo soci (conduttori/proprietari), superfici e valori per tipo conduzione
Note¶
- I soci con codice > 89999 sono esclusi
- I soci senza zona assegnata (anas-zona2 = 0) sono esclusi nella stampa per tutte le zone
- La stampa usa formato 132 colonne (k-chr-stampa = 132)
- Utilizza PERFORM THRU in vari punti (pattern legacy del programma)
- La tabella figure giuridiche e' definita inline ma non sembra utilizzata nella stampa analitica
Storico modifiche¶
Maggio 2026 — Conteggio soci con superfici nulle¶
Rimosso il salto go to a29 che escludeva dai totali i soci con wtot-superf-cds = 0 e wtot-superf-pbs = 0. Le due IF di guardia (la seconda era anche buggata: testava due volte wtot-superf-cds) sono state eliminate.
Ora il socio viene sempre conteggiato: per l'IF if wtot-superf-cds >= wtot-superf-pbs, in caso di superfici entrambe nulle il ramo CD risulta vero (uguaglianza). Conseguenze:
wtot-socio-cdviene incrementato di 1 per ogni socio con entrambe le superfici nulle (prima non lo era).wtot-socio-totviene comunque incrementato in coda al paragrafo (prima ilgo to a29saltava anche questoadd).wtot-valore-cd/wtot-valore-totricevono ilquo-valoredel socio anche con superfici nulle (sequo-valore> 0).
L'output utente: le ripartizioni "Conduttori Diretti" e "Proprietari" includono ora anche i soci senza superficie attribuita, e il totale generale soci diventa coerente con il conteggio dell'elenco.