Bilancio normale di verifica (raffronto)
"F1" AZZERA_TOTALI
#TIPOSTAMPA
#SYSTEM.RAGSOC
#SYSTEM.DATE
MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DESCRIZ
#DATA_INIZIALE
#DATA_FINALE
MESSAGE ISAMREAD,CDC,CODCOSTO=#101,DESCRIZ
MESSAGE ISAMREAD,COMMESSE,CODCMS=#102,DESCRIZ
MESSAGE ISAMREAD,FASI,CODCMSFAS=#CMSCDC!CODFASE=#103,DESCRIZ
NP
NP
MESSAGE TABLEREAD,NPENT,#104,S0
#COSTO
#COMMESSA
#FASE
NP
#CONTSEP
CODCONTO:2!=""
CODCONTO:1
"CODCONTO:1" @
"F2.101" !
"DESCR:1" @
"F2.102" !
"F2" AZZERA_TOTALI
CODCONTO:3!=""
CODCONTO:2
"CODCONTO:2" @
"F3.101" !
"DESCR:2" @
"F3.102" !
"F3" AZZERA_TOTALI
CODCONTO:4 != ""
CODCONTO:3
"CODCONTO:3" @
"F4.101" ! \ Copia il codice conto nel footer
"DESCR:3" @
"F4.102" !
"F4" AZZERA_TOTALI
CODCONTO
CA_FORMAT_CONTO
DESCR
SALDO:INI_DAREP
MESSAGE ADD,F2.103|ADD,F3.103|ADD,F4.103
SALDO:INI_AVEREP
MESSAGE ADD,F2.104|ADD,F3.104|ADD,F4.104
SALDO:MOV_DAREP
MESSAGE ADD,F2.105|ADD,F3.105|ADD,F4.105
SALDO:MOV_AVEREP
MESSAGE ADD,F2.106|ADD,F3.106|ADD,F4.106
SALDO:FIN_DAREP
MESSAGE ADD,F2.107|ADD,F3.107|ADD,F4.107
SALDO:FIN_AVEREP
MESSAGE ADD,F2.108|ADD,F3.108|ADD,F4.108
SALDO:INI_DAREC
MESSAGE ADD,F2.103|ADD,F3.103|ADD,F4.103
SALDO:INI_AVEREC
MESSAGE ADD,F2.104|ADD,F3.104|ADD,F4.104
SALDO:MOV_DAREC
MESSAGE ADD,F2.105|ADD,F3.105|ADD,F4.105
SALDO:MOV_AVEREC
MESSAGE ADD,F2.106|ADD,F3.106|ADD,F4.106
SALDO:FIN_DAREC
MESSAGE ADD,F2.107|ADD,F3.107|ADD,F4.107
SALDO:FIN_AVEREC
MESSAGE ADD,F2.108|ADD,F3.108|ADD,F4.108
#103 + #203
303 DARE_AVERE
MESSAGE ADD,F2.303|ADD,F3.303|ADD,F4.303
#104 + #204
MESSAGE ADD,F2.304|ADD,F3.304|ADD,F4.304
#105 + #205
305 DARE_AVERE
MESSAGE ADD,F2.305|ADD,F3.305|ADD,F4.305
#106 + #206
MESSAGE ADD,F2.306|ADD,F3.306|ADD,F4.306
#107 + #207
307 DARE_AVERE
MESSAGE ADD,F2.307|ADD,F3.307|ADD,F4.307
#108 + #208
MESSAGE ADD,F2.308|ADD,F3.308|ADD,F4.308
#COSTO
CA_FORMAT_COSTO
#COMMESSA
CA_FORMAT_COMMESSA
#FASE
CA_FORMAT_FASE
NP
#CONTSEP
#101 != ""
CA_FORMAT_CONTO
103 DARE_AVERE
107 DARE_AVERE
103 DARE_AVERE
107 DARE_AVERE
103 DARE_AVERE
107 DARE_AVERE
#101 != ""
CA_FORMAT_CONTO
103 DARE_AVERE
107 DARE_AVERE
103 DARE_AVERE
107 DARE_AVERE
103 DARE_AVERE
107 DARE_AVERE
#101 != ""
CA_FORMAT_CONTO
103 DARE_AVERE
107 DARE_AVERE
103 DARE_AVERE
107 DARE_AVERE
103 DARE_AVERE
107 DARE_AVERE
USE PCONANA
: AZZERA_TOTALI ( ID_SEC - )
109 103 DO
DUP \ Duplica codice sezione
"." + \ Aggiunge punto
I + \ Aggiunge codice campo
0 SWAP ! \ Lo azzera
LOOP
DROP
;
: DARE_AVERE ( ID_DARE -- )
VARIABLE _DARE
VARIABLE _AVERE
DUP
_DARE !
1 + _AVERE !
_DARE @ @ \ DARE
_AVERE @ @ \ AVERE
- \ DARE-AVERE
DUP
0 C; IF \ Se negativo
-1 * \ Cambia segno
_AVERE @ ! \ Setta AVERE
0 _DARE @ ! \ Azzera DARE
ELSE
_DARE @ ! \ Setta DARE
0 _AVERE @ ! \ Azzera AVERE
THEN
;