Corretta gestione abbuoni
git-svn-id: svn://10.65.10.50/trunk@1729 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3efc5de8c8
commit
a7ca6ce82d
2506
cg/cg2100.cpp
2506
cg/cg2100.cpp
File diff suppressed because it is too large
Load Diff
258
cg/cg2100.h
258
cg/cg2100.h
@ -1,129 +1,129 @@
|
|||||||
#ifndef __CG2100_H
|
#ifndef __CG2100_H
|
||||||
#define __CG2100_H
|
#define __CG2100_H
|
||||||
|
|
||||||
#define F_CODDITTA 101
|
#define F_CODDITTA 101
|
||||||
#define F_RAGSOC 102
|
#define F_RAGSOC 102
|
||||||
#define F_DATAREG 103
|
#define F_DATAREG 103
|
||||||
#define F_NUMREG 104
|
#define F_NUMREG 104
|
||||||
#define F_CODCAUS 105
|
#define F_CODCAUS 105
|
||||||
#define F_DESCRCAUS 106
|
#define F_DESCRCAUS 106
|
||||||
#define F_DOCUMENTO 107
|
#define F_DOCUMENTO 107
|
||||||
#define F_TIPODOC 108
|
#define F_TIPODOC 108
|
||||||
#define F_CODREG 109
|
#define F_CODREG 109
|
||||||
#define F_PROTIVA 110
|
#define F_PROTIVA 110
|
||||||
#define F_RIEPILOGO 111
|
#define F_RIEPILOGO 111
|
||||||
#define F_DESCR 112
|
#define F_DESCR 112
|
||||||
#define F_DATADOC 113
|
#define F_DATADOC 113
|
||||||
#define F_NUMDOC 114
|
#define F_NUMDOC 114
|
||||||
#define F_ANNOES 115
|
#define F_ANNOES 115
|
||||||
#define F_DATACOMP 116
|
#define F_DATACOMP 116
|
||||||
#define F_ANNOIVA 117
|
#define F_ANNOIVA 117
|
||||||
#define F_CLIFO 150
|
#define F_CLIFO 150
|
||||||
#define F_CLIENTE 151
|
#define F_CLIENTE 151
|
||||||
#define F_RAGSOCCLIENTE 152
|
#define F_RAGSOCCLIENTE 152
|
||||||
#define F_STATOPAIV 153
|
#define F_STATOPAIV 153
|
||||||
#define F_PIVACLIENTE 154
|
#define F_PIVACLIENTE 154
|
||||||
#define F_COFICLIENTE 155
|
#define F_COFICLIENTE 155
|
||||||
#define F_FORNITORE 161
|
#define F_FORNITORE 161
|
||||||
#define F_RAGSOCFORNITORE 162
|
#define F_RAGSOCFORNITORE 162
|
||||||
#define F_PIVAFORNITORE 164
|
#define F_PIVAFORNITORE 164
|
||||||
#define F_COFIFORNITORE 165
|
#define F_COFIFORNITORE 165
|
||||||
#define F_GRUPPOCLIFO 170
|
#define F_GRUPPOCLIFO 170
|
||||||
#define F_CONTOCLIFO 171
|
#define F_CONTOCLIFO 171
|
||||||
#define F_TOTALE 118
|
#define F_TOTALE 118
|
||||||
#define F_CODIVA 119
|
#define F_CODIVA 119
|
||||||
#define F_RITFIS 120
|
#define F_RITFIS 120
|
||||||
#define F_RITSOC 121
|
#define F_RITSOC 121
|
||||||
#define F_CODPAG 122
|
#define F_CODPAG 122
|
||||||
#define F_ANNORIF 123
|
#define F_ANNORIF 123
|
||||||
#define F_NUMRIF 124
|
#define F_NUMRIF 124
|
||||||
#define F_PROVVISORIO 129
|
#define F_PROVVISORIO 129
|
||||||
#define F_TIPOMOV 130
|
#define F_TIPOMOV 130
|
||||||
#define F_OCCASEDIT 131
|
#define F_OCCASEDIT 131
|
||||||
#define F_SOLAIVA 132
|
#define F_SOLAIVA 132
|
||||||
#define F_CORRLIRE 133
|
#define F_CORRLIRE 133
|
||||||
#define F_CORRVALUTA 134
|
#define F_CORRVALUTA 134
|
||||||
#define F_DATA74TER 135
|
#define F_DATA74TER 135
|
||||||
#define F_DESCAGG 136
|
#define F_DESCAGG 136
|
||||||
#define F_DARE 137
|
#define F_DARE 137
|
||||||
#define F_AVERE 138
|
#define F_AVERE 138
|
||||||
#define F_IMPONIBILI 139
|
#define F_IMPONIBILI 139
|
||||||
#define F_IMPOSTE 140
|
#define F_IMPOSTE 140
|
||||||
#define F_VALUTAINTRA 141
|
#define F_VALUTAINTRA 141
|
||||||
#define F_CAMBIOINTRA 142
|
#define F_CAMBIOINTRA 142
|
||||||
#define F_STAMPATO 143
|
#define F_STAMPATO 143
|
||||||
#define F_REGST 144
|
#define F_REGST 144
|
||||||
#define F_SHEETCG 190
|
#define F_SHEETCG 190
|
||||||
#define F_SHEETIVA 191
|
#define F_SHEETIVA 191
|
||||||
|
|
||||||
// Campi ripetuti sulla seconda pagina
|
// Campi ripetuti sulla seconda pagina
|
||||||
#define H_DATAREG 201
|
#define H_DATAREG 201
|
||||||
#define H_NUMREG 202
|
#define H_NUMREG 202
|
||||||
#define H_CODCAUS 203
|
#define H_CODCAUS 203
|
||||||
#define H_DESCRCAUS 204
|
#define H_DESCRCAUS 204
|
||||||
#define H_ANNOES 205
|
#define H_ANNOES 205
|
||||||
|
|
||||||
// Maschera clienti/fornitori occasionali
|
// Maschera clienti/fornitori occasionali
|
||||||
#define O_CODICE 100
|
#define O_CODICE 100
|
||||||
#define O_RAGSOC 101
|
#define O_RAGSOC 101
|
||||||
#define O_STATO 102
|
#define O_STATO 102
|
||||||
#define O_COMUNE 103
|
#define O_COMUNE 103
|
||||||
#define O_DENCOM 104
|
#define O_DENCOM 104
|
||||||
#define O_CAP 105
|
#define O_CAP 105
|
||||||
#define O_INDIRIZZO 106
|
#define O_INDIRIZZO 106
|
||||||
#define O_NUMERO 107
|
#define O_NUMERO 107
|
||||||
#define O_SESSO 110
|
#define O_SESSO 110
|
||||||
#define O_DATANAS 111
|
#define O_DATANAS 111
|
||||||
#define O_STATONAS 112
|
#define O_STATONAS 112
|
||||||
#define O_COMUNENAS 113
|
#define O_COMUNENAS 113
|
||||||
#define O_DENCOMNAS 114
|
#define O_DENCOMNAS 114
|
||||||
|
|
||||||
// Maschera incasso/pagamento immediato
|
// Maschera incasso/pagamento immediato
|
||||||
#define I_SEZIONE1 201
|
#define I_SEZIONE1 201
|
||||||
#define I_IMPORTO1 202
|
#define I_IMPORTO1 202
|
||||||
#define I_SOTTOCONTO 203
|
#define I_SOTTOCONTO 203
|
||||||
|
|
||||||
#define I_SEZIONE2 210
|
#define I_SEZIONE2 210
|
||||||
#define I_IMPORTO2 211
|
#define I_IMPORTO2 211
|
||||||
#define I_GRUPPO2 212
|
#define I_GRUPPO2 212
|
||||||
#define I_CONTO2 213
|
#define I_CONTO2 213
|
||||||
#define I_SOTTOCONTO2 214
|
#define I_SOTTOCONTO2 214
|
||||||
|
|
||||||
#define I_SEZIONE3 220
|
#define I_SEZIONE3 220
|
||||||
#define I_IMPORTO3 221
|
#define I_IMPORTO3 221
|
||||||
#define I_GRUPPO3 222
|
#define I_GRUPPO3 222
|
||||||
#define I_CONTO3 223
|
#define I_CONTO3 223
|
||||||
#define I_SOTTOCONTO3 224
|
#define I_SOTTOCONTO3 224
|
||||||
|
|
||||||
#define I_SEZIONE4 230
|
#define I_SEZIONE4 230
|
||||||
#define I_IMPORTO4 231
|
#define I_IMPORTO4 231
|
||||||
#define I_GRUPPO4 232
|
#define I_GRUPPO4 232
|
||||||
#define I_CONTO4 233
|
#define I_CONTO4 233
|
||||||
#define I_SOTTOCONTO4 234
|
#define I_SOTTOCONTO4 234
|
||||||
|
|
||||||
// Saldaconto
|
// Saldaconto
|
||||||
#define S_TOTDOC 301
|
#define S_TOTDOC 301
|
||||||
#define S_TOTDOCVAL 302
|
#define S_TOTDOCVAL 302
|
||||||
#define S_VALUTA 303
|
#define S_VALUTA 303
|
||||||
#define S_DATACAMBIO 304
|
#define S_DATACAMBIO 304
|
||||||
#define S_CAMBIO 305
|
#define S_CAMBIO 305
|
||||||
#define S_TIPORIGA 306
|
#define S_TIPORIGA 306
|
||||||
|
|
||||||
// copie 2a pag.
|
// copie 2a pag.
|
||||||
#define K_CODDITTA 401
|
#define K_CODDITTA 401
|
||||||
#define K_RAGSOC 402
|
#define K_RAGSOC 402
|
||||||
#define K_DATAREG 403
|
#define K_DATAREG 403
|
||||||
#define K_NUMREG 404
|
#define K_NUMREG 404
|
||||||
#define K_CODCAUS 405
|
#define K_CODCAUS 405
|
||||||
#define K_DESCRCAUS 406
|
#define K_DESCRCAUS 406
|
||||||
#define K_DOCUMENTO 407
|
#define K_DOCUMENTO 407
|
||||||
#define K_TIPODOC 408
|
#define K_TIPODOC 408
|
||||||
#define K_PROTIVA 409
|
#define K_PROTIVA 409
|
||||||
#define K_PROVVISORIO 410
|
#define K_PROVVISORIO 410
|
||||||
#define K_DESCR 411
|
#define K_DESCR 411
|
||||||
#define K_DATADOC 412
|
#define K_DATADOC 412
|
||||||
#define K_NUMDOC 413
|
#define K_NUMDOC 413
|
||||||
#define K_ANNOES 414
|
#define K_ANNOES 414
|
||||||
#define K_DATACOMP 415
|
#define K_DATACOMP 415
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
750
cg/cg2100b.uml
750
cg/cg2100b.uml
@ -1,375 +1,375 @@
|
|||||||
#include "cg2100.h"
|
#include "cg2100.h"
|
||||||
|
|
||||||
TOOLBAR "" 0 20 0 2
|
TOOLBAR "" 0 20 0 2
|
||||||
|
|
||||||
#include <toolbar.h>
|
#include <toolbar.h>
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "OPERAZIONE DI PRIMA NOTA" -1 -1 77 20
|
PAGE "OPERAZIONE DI PRIMA NOTA" -1 -1 77 20
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 3
|
GROUPBOX DLG_NULL 78 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 0 "@BMovimento di sola contabilita'"
|
PROMPT 1 0 "@BMovimento di sola contabilita'"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_CODDITTA 5
|
NUMBER F_CODDITTA 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 1 "Ditta "
|
PROMPT 3 1 "Ditta "
|
||||||
FLAGS "DFR"
|
FLAGS "DFR"
|
||||||
USE LF_NDITTE KEY 1
|
USE LF_NDITTE KEY 1
|
||||||
INPUT CODDITTA F_CODDITTA
|
INPUT CODDITTA F_CODDITTA
|
||||||
OUTPUT K_CODDITTA CODDITTA
|
OUTPUT K_CODDITTA CODDITTA
|
||||||
OUTPUT F_RAGSOC RAGSOC
|
OUTPUT F_RAGSOC RAGSOC
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_RAGSOC 50
|
STRING F_RAGSOC 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 17 1 "Ragione "
|
PROMPT 17 1 "Ragione "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
MESSAGE COPY,K_RAGSOC
|
MESSAGE COPY,K_RAGSOC
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_NUMREG 7
|
NUMBER F_NUMREG 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 56 3 "Operazione n. "
|
PROMPT 56 3 "Operazione n. "
|
||||||
FIELD NUMREG
|
FIELD NUMREG
|
||||||
FLAGS "DGR"
|
FLAGS "DGR"
|
||||||
MESSAGE COPY,K_NUMREG
|
MESSAGE COPY,K_NUMREG
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATAREG
|
DATE F_DATAREG
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 3 "Data operazione "
|
PROMPT 1 3 "Data operazione "
|
||||||
HELP "Data in cui viene effettuata l'operazione"
|
HELP "Data in cui viene effettuata l'operazione"
|
||||||
FIELD DATAREG
|
FIELD DATAREG
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
MESSAGE COPY,K_DATAREG
|
MESSAGE COPY,K_DATAREG
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
DATE F_DATACOMP
|
DATE F_DATACOMP
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 4 "Data di competenza "
|
PROMPT 1 4 "Data di competenza "
|
||||||
HELP "Data di competenza dell'operazione"
|
HELP "Data di competenza dell'operazione"
|
||||||
FIELD DATACOMP
|
FIELD DATACOMP
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
MESSAGE COPY,K_DATACOMP
|
MESSAGE COPY,K_DATACOMP
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_ANNOES 4
|
NUMBER F_ANNOES 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 56 4 "Esercizio "
|
PROMPT 56 4 "Esercizio "
|
||||||
FIELD ANNOES
|
FIELD ANNOES
|
||||||
MESSAGE COPY,K_ANNOES
|
MESSAGE COPY,K_ANNOES
|
||||||
FLAGS "DGZ"
|
FLAGS "DGZ"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CODCAUS 3
|
STRING F_CODCAUS 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 "Causale "
|
PROMPT 1 5 "Causale "
|
||||||
HELP "Codice della causale generante l'operazione"
|
HELP "Codice della causale generante l'operazione"
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
FIELD CODCAUS
|
FIELD CODCAUS
|
||||||
USE LF_CAUSALI
|
USE LF_CAUSALI
|
||||||
INPUT CODCAUS F_CODCAUS
|
INPUT CODCAUS F_CODCAUS
|
||||||
DISPLAY "Codice" CODCAUS
|
DISPLAY "Codice" CODCAUS
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
DISPLAY "Tipo" TIPODOC
|
DISPLAY "Tipo" TIPODOC
|
||||||
DISPLAY "Registro" REG
|
DISPLAY "Registro" REG
|
||||||
OUTPUT F_CODCAUS CODCAUS
|
OUTPUT F_CODCAUS CODCAUS
|
||||||
OUTPUT F_DESCRCAUS DESCR
|
OUTPUT F_DESCRCAUS DESCR
|
||||||
OUTPUT F_TIPODOC TIPODOC
|
OUTPUT F_TIPODOC TIPODOC
|
||||||
OUTPUT F_TIPOMOV TIPOMOV
|
OUTPUT F_TIPOMOV TIPOMOV
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
ADD RUN cg0 -4
|
ADD RUN cg0 -4
|
||||||
MESSAGE COPY,K_CODCAUS
|
MESSAGE COPY,K_CODCAUS
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESCRCAUS 50
|
STRING F_DESCRCAUS 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 5 ""
|
PROMPT 25 5 ""
|
||||||
HELP "Descrizione della causale generante l'operazione"
|
HELP "Descrizione della causale generante l'operazione"
|
||||||
USE LF_CAUSALI KEY 2
|
USE LF_CAUSALI KEY 2
|
||||||
INPUT DESCR F_DESCRCAUS
|
INPUT DESCR F_DESCRCAUS
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
DISPLAY "Codice" CODCAUS
|
DISPLAY "Codice" CODCAUS
|
||||||
COPY OUTPUT F_CODCAUS
|
COPY OUTPUT F_CODCAUS
|
||||||
MESSAGE COPY,K_DESCRCAUS
|
MESSAGE COPY,K_DESCRCAUS
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST F_PROVVISORIO 1 25
|
LIST F_PROVVISORIO 1 25
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 6 "Movimento provvisorio "
|
PROMPT 1 6 "Movimento provvisorio "
|
||||||
HELP "Indicare se si tratta di movimento provvisorio"
|
HELP "Indicare se si tratta di movimento provvisorio"
|
||||||
FIELD PROVVIS
|
FIELD PROVVIS
|
||||||
ITEM " |No (movimento normale)"
|
ITEM " |No (movimento normale)"
|
||||||
ITEM "P|Si (cancellabile)"
|
ITEM "P|Si (cancellabile)"
|
||||||
MESSAGE COPY,K_PROVVISORIO
|
MESSAGE COPY,K_PROVVISORIO
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_TIPODOC 2
|
STRING F_TIPODOC 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 60 6 "Tipo documento "
|
PROMPT 60 6 "Tipo documento "
|
||||||
FIELD TIPODOC
|
FIELD TIPODOC
|
||||||
FLAGS "DG"
|
FLAGS "DG"
|
||||||
MESSAGE COPY,K_TIPODOC
|
MESSAGE COPY,K_TIPODOC
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_TIPOMOV 1
|
NUMBER F_TIPOMOV 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 6 "Tipo movimento "
|
PROMPT 32 6 "Tipo movimento "
|
||||||
FIELD LF_MOV->TIPOMOV
|
FIELD LF_MOV->TIPOMOV
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATADOC
|
DATE F_DATADOC
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 7 "Data del documento "
|
PROMPT 1 7 "Data del documento "
|
||||||
HELP "Data del documento generante il movimento"
|
HELP "Data del documento generante il movimento"
|
||||||
FIELD DATADOC
|
FIELD DATADOC
|
||||||
WARNING "Specificare una data del documento non superiore a quella dell'operazione"
|
WARNING "Specificare una data del documento non superiore a quella dell'operazione"
|
||||||
VALIDATE DATE_CMP_FUNC <= F_DATAREG
|
VALIDATE DATE_CMP_FUNC <= F_DATAREG
|
||||||
MESSAGE COPY,K_DATADOC
|
MESSAGE COPY,K_DATADOC
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_NUMDOC 7
|
STRING F_NUMDOC 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 56 7 "Documento n. "
|
PROMPT 56 7 "Documento n. "
|
||||||
HELP "Numero del documento generante il movimento"
|
HELP "Numero del documento generante il movimento"
|
||||||
FIELD NUMDOC
|
FIELD NUMDOC
|
||||||
WARNING "La causale impone di specificare il numero documento"
|
WARNING "La causale impone di specificare il numero documento"
|
||||||
MESSAGE COPY,K_NUMDOC
|
MESSAGE COPY,K_NUMDOC
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_ANNOIVA 4
|
NUMBER F_ANNOIVA 4
|
||||||
BEGIN
|
BEGIN
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESCAGG 5
|
STRING F_DESCAGG 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 8 "Descrizione "
|
PROMPT 1 8 "Descrizione "
|
||||||
HELP "Codice descrizione del movimento di contabilita'"
|
HELP "Codice descrizione del movimento di contabilita'"
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
USE %DPN
|
USE %DPN
|
||||||
INPUT CODTAB F_DESCAGG
|
INPUT CODTAB F_DESCAGG
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
OUTPUT F_DESCAGG CODTAB
|
OUTPUT F_DESCAGG CODTAB
|
||||||
OUTPUT F_DESCR S0
|
OUTPUT F_DESCR S0
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESCR 50
|
STRING F_DESCR 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 8 ""
|
PROMPT 25 8 ""
|
||||||
HELP "Descrizione del movimento di contabilita'"
|
HELP "Descrizione del movimento di contabilita'"
|
||||||
FIELD DESCR
|
FIELD DESCR
|
||||||
USE %DPN KEY 2
|
USE %DPN KEY 2
|
||||||
INPUT S0 F_DESCR
|
INPUT S0 F_DESCR
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
COPY OUTPUT F_DESCAGG
|
COPY OUTPUT F_DESCAGG
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 8
|
GROUPBOX DLG_NULL 78 8
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 10 "Voci per saldaconto"
|
PROMPT 1 10 "Voci per saldaconto"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER S_TOTDOC 15 0
|
NUMBER S_TOTDOC 15 0
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 11 "Totale documento "
|
PROMPT 2 11 "Totale documento "
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
PICTURE "."
|
PICTURE "."
|
||||||
GROUP 5
|
GROUP 5
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER S_TOTDOCVAL 15 2
|
NUMBER S_TOTDOCVAL 15 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 44 11 "Totale in valuta "
|
PROMPT 44 11 "Totale in valuta "
|
||||||
HELP ""
|
HELP ""
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
PICTURE ".2"
|
PICTURE ".2"
|
||||||
GROUP 3
|
GROUP 3
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
STRING S_VALUTA 3
|
STRING S_VALUTA 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 13 "Valuta "
|
PROMPT 2 13 "Valuta "
|
||||||
HELP "Codice della valuta per movimento"
|
HELP "Codice della valuta per movimento"
|
||||||
FIELD LF_MOV->CODVAL
|
FIELD LF_MOV->CODVAL
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
GROUP 3
|
GROUP 3
|
||||||
USE %VAL
|
USE %VAL
|
||||||
INPUT CODTAB S_VALUTA
|
INPUT CODTAB S_VALUTA
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
DISPLAY "Nome@50" S0
|
DISPLAY "Nome@50" S0
|
||||||
DISPLAY "Ultimo cambio@15" R10
|
DISPLAY "Ultimo cambio@15" R10
|
||||||
DISPLAY "Ultimo aggiornamento" D0
|
DISPLAY "Ultimo aggiornamento" D0
|
||||||
OUTPUT S_VALUTA CODTAB
|
OUTPUT S_VALUTA CODTAB
|
||||||
OUTPUT S_CAMBIO R10
|
OUTPUT S_CAMBIO R10
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE S_DATACAMBIO
|
DATE S_DATACAMBIO
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 22 13 "Data cambio "
|
PROMPT 22 13 "Data cambio "
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
USE CAM
|
USE CAM
|
||||||
INPUT CODTAB[1,3] S_VALUTA
|
INPUT CODTAB[1,3] S_VALUTA
|
||||||
INPUT CODTAB[4,11] S_DATACAMBIO
|
INPUT CODTAB[4,11] S_DATACAMBIO
|
||||||
DISPLAY "Valuta" CODTAB[1,3]
|
DISPLAY "Valuta" CODTAB[1,3]
|
||||||
DISPLAY "Data@10" D0
|
DISPLAY "Data@10" D0
|
||||||
DISPLAY "Cambio@18" R10
|
DISPLAY "Cambio@18" R10
|
||||||
OUTPUT S_VALUTA CODTAB[1,3]
|
OUTPUT S_VALUTA CODTAB[1,3]
|
||||||
OUTPUT S_DATACAMBIO D0
|
OUTPUT S_DATACAMBIO D0
|
||||||
OUTPUT S_CAMBIO R10
|
OUTPUT S_CAMBIO R10
|
||||||
GROUP 3
|
GROUP 3
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER S_CAMBIO 15 5
|
NUMBER S_CAMBIO 15 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 54 13 "Cambio "
|
PROMPT 54 13 "Cambio "
|
||||||
HELP "Cambio della valuta"
|
HELP "Cambio della valuta"
|
||||||
FIELD LF_MOV->CAMBIO
|
FIELD LF_MOV->CAMBIO
|
||||||
FLAGS "RU"
|
FLAGS "RU"
|
||||||
GROUP 3
|
GROUP 3
|
||||||
PICTURE ".5"
|
PICTURE ".5"
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "OPERAZIONE DI PRIMA NOTA" -1 -1 77 20
|
PAGE "OPERAZIONE DI PRIMA NOTA" -1 -1 77 20
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 3
|
GROUPBOX DLG_NULL 78 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 0 "@BMovimento di sola contabilita'"
|
PROMPT 1 0 "@BMovimento di sola contabilita'"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER K_CODDITTA 5
|
NUMBER K_CODDITTA 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 1 "Ditta "
|
PROMPT 3 1 "Ditta "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING K_RAGSOC 50
|
STRING K_RAGSOC 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 17 1 "Ragione "
|
PROMPT 17 1 "Ragione "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER K_NUMREG 7
|
NUMBER K_NUMREG 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 56 3 "Operazione n. "
|
PROMPT 56 3 "Operazione n. "
|
||||||
FLAGS "RD"
|
FLAGS "RD"
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE K_DATAREG
|
DATE K_DATAREG
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 3 "Data operazione "
|
PROMPT 1 3 "Data operazione "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE K_DATACOMP
|
DATE K_DATACOMP
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 4 "Data di competenza "
|
PROMPT 1 4 "Data di competenza "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER K_ANNOES 4
|
NUMBER K_ANNOES 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 56 4 "Esercizio "
|
PROMPT 56 4 "Esercizio "
|
||||||
FLAGS "DZ"
|
FLAGS "DZ"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING K_CODCAUS 3
|
STRING K_CODCAUS 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 "Causale "
|
PROMPT 1 5 "Causale "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING K_DESCRCAUS 50
|
STRING K_DESCRCAUS 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 5 ""
|
PROMPT 25 5 ""
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST K_PROVVISORIO 1 25
|
LIST K_PROVVISORIO 1 25
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 6 "Movimento provvisorio "
|
PROMPT 1 6 "Movimento provvisorio "
|
||||||
ITEM " |No (movimento normale)"
|
ITEM " |No (movimento normale)"
|
||||||
ITEM "P|Si (cancellabile)"
|
ITEM "P|Si (cancellabile)"
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING K_TIPODOC 2
|
STRING K_TIPODOC 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 60 6 "Tipo documento "
|
PROMPT 60 6 "Tipo documento "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE K_DATADOC
|
DATE K_DATADOC
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 7 "Data del documento "
|
PROMPT 1 7 "Data del documento "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING K_NUMDOC 7
|
STRING K_NUMDOC 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 38 7 "Num. "
|
PROMPT 38 7 "Num. "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST S_TIPORIGA 1 13
|
LIST S_TIPORIGA 1 13
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 60 7 "Riga "
|
PROMPT 60 7 "Riga "
|
||||||
ITEM "K|Saldaconto"
|
ITEM "K|Saldaconto"
|
||||||
ITEM "S|Spese"
|
ITEM "S|Spese"
|
||||||
END
|
END
|
||||||
|
|
||||||
SPREADSHEET F_SHEETCG
|
SPREADSHEET F_SHEETCG
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 8 ""
|
PROMPT 0 8 ""
|
||||||
ITEM "Dare@15"
|
ITEM "Dare@15"
|
||||||
ITEM "Avere@15"
|
ITEM "Avere@15"
|
||||||
ITEM "CF@1"
|
ITEM "CF@1"
|
||||||
ITEM "Gr."
|
ITEM "Gr."
|
||||||
ITEM "Co."
|
ITEM "Co."
|
||||||
ITEM "Sottoc.@6"
|
ITEM "Sottoc.@6"
|
||||||
ITEM "Descrizione conto@50"
|
ITEM "Descrizione conto@50"
|
||||||
ITEM "Codice"
|
ITEM "Codice"
|
||||||
ITEM "Descrizione riga@50"
|
ITEM "Descrizione riga@50"
|
||||||
ITEM "CF@1"
|
ITEM "CF@1"
|
||||||
ITEM "Gr./c@3"
|
ITEM "Gr./c@3"
|
||||||
ITEM "Co./c@3"
|
ITEM "Co./c@3"
|
||||||
ITEM "Sottoc./c@6"
|
ITEM "Sottoc./c@6"
|
||||||
ITEM "Descrizione contropartita@50"
|
ITEM "Descrizione contropartita@50"
|
||||||
ITEM "Giornale"
|
ITEM "Giornale"
|
||||||
ITEM " @1"
|
ITEM " @1"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_DARE 15
|
NUMBER F_DARE 15
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 -1 "Sbilancio Dare "
|
PROMPT 1 -1 "Sbilancio Dare "
|
||||||
FLAGS "DRV"
|
FLAGS "DRV"
|
||||||
PICTURE "."
|
PICTURE "."
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_AVERE 15
|
NUMBER F_AVERE 15
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 41 -1 "Sbilancio Avere "
|
PROMPT 41 -1 "Sbilancio Avere "
|
||||||
FLAGS "DRV"
|
FLAGS "DRV"
|
||||||
PICTURE "."
|
PICTURE "."
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
|
||||||
#include "cg21cg.uml"
|
#include "cg21cg.uml"
|
||||||
|
|
||||||
z
|
z
|
||||||
|
3924
cg/cg2102.cpp
3924
cg/cg2102.cpp
File diff suppressed because it is too large
Load Diff
464
cg/cg2102.h
464
cg/cg2102.h
@ -1,232 +1,232 @@
|
|||||||
#ifndef __CG2102_H
|
#ifndef __CG2102_H
|
||||||
#define __CG2102_H
|
#define __CG2102_H
|
||||||
|
|
||||||
#ifndef __RELAPP_H
|
#ifndef __RELAPP_H
|
||||||
#include <relapp.h>
|
#include <relapp.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __PAGAMENT_H
|
#ifndef __PAGAMENT_H
|
||||||
#include "pagament.h"
|
#include "pagament.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __CGLIB_H
|
#ifndef __CGLIB_H
|
||||||
#include "cglib.h"
|
#include "cglib.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __CG2101_H
|
#ifndef __CG2101_H
|
||||||
#include "cg2101.h"
|
#include "cg2101.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __CG2103_H
|
#ifndef __CG2103_H
|
||||||
#include "cg2103.h"
|
#include "cg2103.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class TPrimanota_application : public TRelation_application
|
class TPrimanota_application : public TRelation_application
|
||||||
{
|
{
|
||||||
TMovimentoPN* _rel;
|
TMovimentoPN* _rel;
|
||||||
TLocalisamfile* _tabcom;
|
TLocalisamfile* _tabcom;
|
||||||
TLocalisamfile* _tab;
|
TLocalisamfile* _tab;
|
||||||
TLocalisamfile* _caus;
|
TLocalisamfile* _caus;
|
||||||
TLocalisamfile* _rcaus;
|
TLocalisamfile* _rcaus;
|
||||||
TLocalisamfile* _clifo;
|
TLocalisamfile* _clifo;
|
||||||
TLocalisamfile* _pcon;
|
TLocalisamfile* _pcon;
|
||||||
TLocalisamfile* _attiv;
|
TLocalisamfile* _attiv;
|
||||||
TLocalisamfile* _saldo;
|
TLocalisamfile* _saldo;
|
||||||
TLocalisamfile* _comuni;
|
TLocalisamfile* _comuni;
|
||||||
TLocalisamfile* _occas;
|
TLocalisamfile* _occas;
|
||||||
TLocalisamfile* _nditte;
|
TLocalisamfile* _nditte;
|
||||||
TLocalisamfile* _scadenze;
|
TLocalisamfile* _scadenze;
|
||||||
TLocalisamfile* _pagamenti;
|
TLocalisamfile* _pagamenti;
|
||||||
|
|
||||||
TPagamento* _pag;
|
TPagamento* _pag;
|
||||||
|
|
||||||
TCausale* _causale; // Causale corrente
|
TCausale* _causale; // Causale corrente
|
||||||
TLibro_giornale* _giornale; // Libro giornale corrente
|
TLibro_giornale* _giornale; // Libro giornale corrente
|
||||||
TipoIVA _iva; // Tipo di IVA corrente
|
TipoIVA _iva; // Tipo di IVA corrente
|
||||||
bool _ges_val, _ges_sal; // Gestione valuta e saldaconto
|
bool _ges_val, _ges_sal; // Gestione valuta e saldaconto
|
||||||
bool _num_cli, _num_for; // Riferimento partita allineato a destra
|
bool _num_cli, _num_for; // Riferimento partita allineato a destra
|
||||||
|
|
||||||
bool _skip_giornale_check; // Ignora controllo data stampa libro giornale
|
bool _skip_giornale_check; // Ignora controllo data stampa libro giornale
|
||||||
bool _skip_bollato_check; // Ignora controllo data stampa bollato
|
bool _skip_bollato_check; // Ignora controllo data stampa bollato
|
||||||
|
|
||||||
bool _savenew; // Registra e nuovo
|
bool _savenew; // Registra e nuovo
|
||||||
short _firstfocus; // Primo campo della maschera a prendere il focus
|
short _firstfocus; // Primo campo della maschera a prendere il focus
|
||||||
|
|
||||||
bool _iva_showed; // Lo sheet IVA e' gia' stato visualizzato una volta?
|
bool _iva_showed; // Lo sheet IVA e' gia' stato visualizzato una volta?
|
||||||
|
|
||||||
bool _is_saldaconto; // saldaconto si/no (vede parametri e causale)
|
bool _is_saldaconto; // saldaconto si/no (vede parametri e causale)
|
||||||
|
|
||||||
TSaldo_agg _saldi; // Saldi da aggiornare
|
TSaldo_agg _saldi; // Saldi da aggiornare
|
||||||
TPartite_array _partite; // Partite coinvolte
|
TPartite_array _partite; // Partite coinvolte
|
||||||
|
|
||||||
TMask* _msk[4]; // Maschere di query, cg, iva
|
TMask* _msk[4]; // Maschere di query, cg, iva
|
||||||
long _lastreg; // Numero ultima registrazione
|
long _lastreg; // Numero ultima registrazione
|
||||||
int _mode; // Modo maschera corrente
|
int _mode; // Modo maschera corrente
|
||||||
|
|
||||||
TBill _conto_ricavo; // Conto di ricavo del clifo
|
TBill _conto_ricavo; // Conto di ricavo del clifo
|
||||||
TString_array _pag_rows;
|
TString_array _pag_rows;
|
||||||
|
|
||||||
static bool showpartite_handler(TMask_field& f, KEY k);
|
static bool showpartite_handler(TMask_field& f, KEY k);
|
||||||
static bool speserimb_handler(TMask_field& f, KEY k);
|
static bool speserimb_handler(TMask_field& f, KEY k);
|
||||||
static bool altrespese_handler(TMask_field& f, KEY k);
|
static bool altrespese_handler(TMask_field& f, KEY k);
|
||||||
static bool abbatt_handler(TMask_field& f, KEY k);
|
static bool abbatt_handler(TMask_field& f, KEY k);
|
||||||
static bool abbpass_handler(TMask_field& f, KEY k);
|
static bool abbpass_handler(TMask_field& f, KEY k);
|
||||||
static bool ritprof_handler(TMask_field& f, KEY k);
|
static bool ritprof_handler(TMask_field& f, KEY k);
|
||||||
static bool diffcamb_handler(TMask_field& f, KEY k);
|
static bool diffcamb_handler(TMask_field& f, KEY k);
|
||||||
static bool suspended_handler(TMask_field& f, KEY k);
|
static bool suspended_handler(TMask_field& f, KEY k);
|
||||||
static bool num_handler(TMask_field& f, KEY key);
|
static bool num_handler(TMask_field& f, KEY key);
|
||||||
static bool caus_query_handler(TMask_field& f, KEY key);
|
static bool caus_query_handler(TMask_field& f, KEY key);
|
||||||
static bool caus_modify_handler(TMask_field& f, KEY key);
|
static bool caus_modify_handler(TMask_field& f, KEY key);
|
||||||
static bool datareg_handler(TMask_field& f, KEY key);
|
static bool datareg_handler(TMask_field& f, KEY key);
|
||||||
static bool datacomp_handler(TMask_field& f, KEY key);
|
static bool datacomp_handler(TMask_field& f, KEY key);
|
||||||
static bool data74ter_handler(TMask_field& f, KEY key);
|
static bool data74ter_handler(TMask_field& f, KEY key);
|
||||||
static bool doc_handler(TMask_field& f, KEY key);
|
static bool doc_handler(TMask_field& f, KEY key);
|
||||||
static bool protiva_handler(TMask_field& f, KEY key);
|
static bool protiva_handler(TMask_field& f, KEY key);
|
||||||
static bool clifo_handler(TMask_field& f, KEY key);
|
static bool clifo_handler(TMask_field& f, KEY key);
|
||||||
static bool totale_handler(TMask_field& f, KEY key);
|
static bool totale_handler(TMask_field& f, KEY key);
|
||||||
static bool totdoc_handler(TMask_field& f, KEY key);
|
static bool totdoc_handler(TMask_field& f, KEY key);
|
||||||
static bool ritfis_handler(TMask_field& f, KEY key);
|
static bool ritfis_handler(TMask_field& f, KEY key);
|
||||||
static bool ritsoc_handler(TMask_field& f, KEY key);
|
static bool ritsoc_handler(TMask_field& f, KEY key);
|
||||||
static bool main_codiva_handler(TMask_field& f, KEY key);
|
static bool main_codiva_handler(TMask_field& f, KEY key);
|
||||||
static bool corrlire_handler(TMask_field& f, KEY key);
|
static bool corrlire_handler(TMask_field& f, KEY key);
|
||||||
static bool corrvaluta_handler(TMask_field& f, KEY key);
|
static bool corrvaluta_handler(TMask_field& f, KEY key);
|
||||||
static bool occas_code_handler(TMask_field& f, KEY key);
|
static bool occas_code_handler(TMask_field& f, KEY key);
|
||||||
static bool occas_handler(TMask_field& f, KEY key);
|
static bool occas_handler(TMask_field& f, KEY key);
|
||||||
static bool solaiva_handler(TMask_field& f, KEY key);
|
static bool solaiva_handler(TMask_field& f, KEY key);
|
||||||
static bool descr_handler(TMask_field& f, KEY k);
|
static bool descr_handler(TMask_field& f, KEY k);
|
||||||
|
|
||||||
static bool sheet_clifo_handler(TMask_field& f, KEY k);
|
static bool sheet_clifo_handler(TMask_field& f, KEY k);
|
||||||
static bool iva_sottoconto_handler(TMask_field& f, KEY k);
|
static bool iva_sottoconto_handler(TMask_field& f, KEY k);
|
||||||
static bool imponibile_handler(TMask_field& f, KEY key);
|
static bool imponibile_handler(TMask_field& f, KEY key);
|
||||||
static bool detrazione_handler(TMask_field& f, KEY key);
|
static bool detrazione_handler(TMask_field& f, KEY key);
|
||||||
static bool codiva_handler(TMask_field& f, KEY key);
|
static bool codiva_handler(TMask_field& f, KEY key);
|
||||||
static bool imposta_handler(TMask_field& f, KEY key);
|
static bool imposta_handler(TMask_field& f, KEY key);
|
||||||
static bool dareavere_handler(TMask_field& f, KEY k);
|
static bool dareavere_handler(TMask_field& f, KEY k);
|
||||||
static bool cg_conto_handler(TMask_field& f, KEY key);
|
static bool cg_conto_handler(TMask_field& f, KEY key);
|
||||||
static bool codpag_handler(TMask_field& f, KEY key);
|
static bool codpag_handler(TMask_field& f, KEY key);
|
||||||
|
|
||||||
static bool iva_notify(TSheet_field& s, int r, KEY key);
|
static bool iva_notify(TSheet_field& s, int r, KEY key);
|
||||||
static bool iva_handler(TMask_field& f, KEY key);
|
static bool iva_handler(TMask_field& f, KEY key);
|
||||||
static bool cg_notify(TSheet_field& s, int r, KEY key);
|
static bool cg_notify(TSheet_field& s, int r, KEY key);
|
||||||
static bool cg_handler(TMask_field& f, KEY key);
|
static bool cg_handler(TMask_field& f, KEY key);
|
||||||
static bool pag_notify(TSheet_field& s, int r, KEY key);
|
static bool pag_notify(TSheet_field& s, int r, KEY key);
|
||||||
|
|
||||||
void reset_sheet_row(TSheet_field& s, int n);
|
void reset_sheet_row(TSheet_field& s, int n);
|
||||||
|
|
||||||
protected: // TApplication
|
protected: // TApplication
|
||||||
virtual void on_firm_change();
|
virtual void on_firm_change();
|
||||||
virtual void on_config_change();
|
virtual void on_config_change();
|
||||||
virtual void print();
|
virtual void print();
|
||||||
|
|
||||||
protected: // TRelation_application
|
protected: // TRelation_application
|
||||||
virtual bool user_create();
|
virtual bool user_create();
|
||||||
virtual bool user_destroy();
|
virtual bool user_destroy();
|
||||||
virtual bool changing_mask(int mode);
|
virtual bool changing_mask(int mode);
|
||||||
virtual TMask* get_mask(int mode);
|
virtual TMask* get_mask(int mode);
|
||||||
virtual TRelation* get_relation() const { return _rel; }
|
virtual TRelation* get_relation() const { return _rel; }
|
||||||
virtual void init_query_mode(TMask& m);
|
virtual void init_query_mode(TMask& m);
|
||||||
virtual void init_insert_mode(TMask& m);
|
virtual void init_insert_mode(TMask& m);
|
||||||
virtual void init_modify_mode(TMask& m);
|
virtual void init_modify_mode(TMask& m);
|
||||||
virtual bool save_and_new() const;
|
virtual bool save_and_new() const;
|
||||||
virtual const char* get_next_key();
|
virtual const char* get_next_key();
|
||||||
virtual int read(TMask& m);
|
virtual int read(TMask& m);
|
||||||
virtual int write(const TMask& m);
|
virtual int write(const TMask& m);
|
||||||
virtual int rewrite(const TMask& m);
|
virtual int rewrite(const TMask& m);
|
||||||
virtual bool remove();
|
virtual bool remove();
|
||||||
virtual void write_enable(bool) {}
|
virtual void write_enable(bool) {}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void check_saldi();
|
void check_saldi();
|
||||||
void genera_incasso(const char* causimm);
|
void genera_incasso(const char* causimm);
|
||||||
|
|
||||||
TMask* load_mask(int n);
|
TMask* load_mask(int n);
|
||||||
TMask& occas_mask() { return *load_mask(3); }
|
TMask& occas_mask() { return *load_mask(3); }
|
||||||
|
|
||||||
void mask2rel(const TMask& m);
|
void mask2rel(const TMask& m);
|
||||||
|
|
||||||
TipoIVA iva() const { return _iva; }
|
TipoIVA iva() const { return _iva; }
|
||||||
char clifo() const { return iva() == iva_vendite ? 'C' : 'F'; }
|
char clifo() const { return iva() == iva_vendite ? 'C' : 'F'; }
|
||||||
bool gestione_valuta() const { return _ges_val; }
|
bool gestione_valuta() const { return _ges_val; }
|
||||||
bool gestione_saldaconto() const { return _ges_sal; }
|
bool gestione_saldaconto() const { return _ges_sal; }
|
||||||
bool is_saldaconto() const { return _is_saldaconto; }
|
bool is_saldaconto() const { return _is_saldaconto; }
|
||||||
void set_saldaconto(bool b) { _is_saldaconto = b; }
|
void set_saldaconto(bool b) { _is_saldaconto = b; }
|
||||||
|
|
||||||
void fill_sheet(TMask& m) const;
|
void fill_sheet(TMask& m) const;
|
||||||
void init_mask(TMask& m);
|
void init_mask(TMask& m);
|
||||||
|
|
||||||
static TipoIVA reg2IVA(const char* registro, int anno);
|
static TipoIVA reg2IVA(const char* registro, int anno);
|
||||||
static TipoIVA cau2IVA(const char* causale, int anno);
|
static TipoIVA cau2IVA(const char* causale, int anno);
|
||||||
static int type2pos(char tipo);
|
static int type2pos(char tipo);
|
||||||
static const real& cod2IVA(const TMask& m);
|
static const real& cod2IVA(const TMask& m);
|
||||||
static real scorpora(real& imponibile, const real& percentuale);
|
static real scorpora(real& imponibile, const real& percentuale);
|
||||||
static bool detraibile(TToken_string& row);
|
static bool detraibile(TToken_string& row);
|
||||||
static int bill2pos(const TBill& conto, char tipo);
|
static int bill2pos(const TBill& conto, char tipo);
|
||||||
|
|
||||||
bool IVA2bill(const TCodiceIVA& iva, TBill& bill);
|
bool IVA2bill(const TCodiceIVA& iva, TBill& bill);
|
||||||
int bill2contr(const TBill& c, char sezione) const;
|
int bill2contr(const TBill& c, char sezione) const;
|
||||||
int bill_used(const TBill& conto) const;
|
int bill_used(const TBill& conto) const;
|
||||||
int det_used(char detraib) const;
|
int det_used(char detraib) const;
|
||||||
TBill& ivas_bill(TBill& tc);
|
TBill& ivas_bill(TBill& tc);
|
||||||
|
|
||||||
bool read_caus(const char* cod, int year);
|
bool read_caus(const char* cod, int year);
|
||||||
TCausale& causale() { return *_causale; }
|
TCausale& causale() { return *_causale; }
|
||||||
TLibro_giornale& giornale() { return *_giornale; }
|
TLibro_giornale& giornale() { return *_giornale; }
|
||||||
|
|
||||||
bool test_swap(bool ritsoc);
|
bool test_swap(bool ritsoc);
|
||||||
TImporto real2imp(const real& r, char tipo);
|
TImporto real2imp(const real& r, char tipo);
|
||||||
real totale_documento();
|
real totale_documento();
|
||||||
|
|
||||||
void ivas_pack();
|
void ivas_pack();
|
||||||
void cgs_pack();
|
void cgs_pack();
|
||||||
bool ci_sono_importi() const;
|
bool ci_sono_importi() const;
|
||||||
real calcola_saldo() const;
|
real calcola_saldo() const;
|
||||||
real calcola_imp() const;
|
real calcola_imp() const;
|
||||||
|
|
||||||
void add_cgs_tot(TMask& m);
|
void add_cgs_tot(TMask& m);
|
||||||
int set_cgs_row(int n, const TImporto& importo, TBill& conto, const char* desc, char tipo);
|
int set_cgs_row(int n, const TImporto& importo, TBill& conto, const char* desc, char tipo);
|
||||||
void set_cgs_imp(int n, const TImporto& importo);
|
void set_cgs_imp(int n, const TImporto& importo);
|
||||||
TImporto get_cgs_imp(int n);
|
TImporto get_cgs_imp(int n);
|
||||||
bool add_cgs_imp(int n, const TImporto& importo);
|
bool add_cgs_imp(int n, const TImporto& importo);
|
||||||
bool sub_cgs_imp(int n, const TImporto& importo);
|
bool sub_cgs_imp(int n, const TImporto& importo);
|
||||||
void disable_cgs_cells(int n, char tipo);
|
void disable_cgs_cells(int n, char tipo);
|
||||||
|
|
||||||
void add_cgs_rit(bool fisc);
|
void add_cgs_rit(bool fisc);
|
||||||
void generazione_righe_cg(int r);
|
void generazione_righe_cg(int r);
|
||||||
|
|
||||||
void reset_cgs_row(int n) { reset_sheet_row(cgs(), n); }
|
void reset_cgs_row(int n) { reset_sheet_row(cgs(), n); }
|
||||||
void reset_ivas_row(int n) { reset_sheet_row(ivas(), n); }
|
void reset_ivas_row(int n) { reset_sheet_row(ivas(), n); }
|
||||||
|
|
||||||
TPagamento& pagamento() { CHECK(_pag, "Pagamento nullo"); return *_pag; }
|
TPagamento& pagamento() { CHECK(_pag, "Pagamento nullo"); return *_pag; }
|
||||||
void set_pagamento(const char* c, const char* d);
|
void set_pagamento(const char* c, const char* d);
|
||||||
void reset_pagamento();
|
void reset_pagamento();
|
||||||
void set_scadenze(TMask& m);
|
void set_scadenze(TMask& m);
|
||||||
bool read_scadenze(TMask& m);
|
bool read_scadenze(TMask& m);
|
||||||
void write_scadenze(const TMask& m);
|
void write_scadenze(const TMask& m);
|
||||||
|
|
||||||
bool edit_partite(int riga);
|
bool edit_partite(int riga);
|
||||||
|
|
||||||
bool notify_cgline_deletion(TPartita& partita, long nreg, int numrig);
|
bool notify_cgline_deletion(TPartita& partita, long nreg, int numrig);
|
||||||
bool notify_cgline_deletion(int numrig);
|
bool notify_cgline_deletion(int numrig);
|
||||||
|
|
||||||
bool notify_edit_pagamento(TPartita& partita, TRectype& new_pag);
|
bool notify_edit_pagamento(TPartita& partita, TRectype& new_pag);
|
||||||
|
|
||||||
long calcola_m770(int tipo_coll, real& spese, real& compenso, real& iva, real& ritfis);
|
long calcola_m770(int tipo_coll, real& spese, real& compenso, real& iva, real& ritfis);
|
||||||
bool link_m770();
|
bool link_m770();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TPartite_array& partite() { return _partite; } // Partite editate
|
TPartite_array& partite() { return _partite; } // Partite editate
|
||||||
int nuovo_pagamento(TPartita& p, int nriga, int rata, int rmov);
|
int nuovo_pagamento(TPartita& p, int nriga, int rata, int rmov);
|
||||||
bool edit_pagamento(TPartita& p, int nriga, int nrata, int nrigp);
|
bool edit_pagamento(TPartita& p, int nriga, int nrata, int nrigp);
|
||||||
|
|
||||||
TSheet_field& cgs() const;
|
TSheet_field& cgs() const;
|
||||||
TSheet_field& ivas() const;
|
TSheet_field& ivas() const;
|
||||||
TSheet_field& pags() const;
|
TSheet_field& pags() const;
|
||||||
TString_array& pag_rows() { return _pag_rows; }
|
TString_array& pag_rows() { return _pag_rows; }
|
||||||
|
|
||||||
TPrimanota_application();
|
TPrimanota_application();
|
||||||
};
|
};
|
||||||
|
|
||||||
inline TPrimanota_application& app()
|
inline TPrimanota_application& app()
|
||||||
{ return (TPrimanota_application&)main_app(); }
|
{ return (TPrimanota_application&)main_app(); }
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
1368
cg/cg2105.cpp
1368
cg/cg2105.cpp
File diff suppressed because it is too large
Load Diff
774
cg/cg21cg.uml
774
cg/cg21cg.uml
@ -1,387 +1,387 @@
|
|||||||
PAGE "RIGA PRIMA NOTA" -1 -1 67 16
|
PAGE "RIGA PRIMA NOTA" -1 -1 67 16
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 66 3
|
GROUPBOX DLG_NULL 66 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 "Descrizione"
|
PROMPT 1 1 "Descrizione"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 108 5
|
STRING 108 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 ""
|
PROMPT 2 2 ""
|
||||||
HELP "Codice della descrizione aggiuntiva della riga"
|
HELP "Codice della descrizione aggiuntiva della riga"
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
USE %DPN
|
USE %DPN
|
||||||
INPUT CODTAB 108
|
INPUT CODTAB 108
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
INPUT CODTAB 108
|
INPUT CODTAB 108
|
||||||
OUTPUT 108 CODTAB
|
OUTPUT 108 CODTAB
|
||||||
OUTPUT 109 S0
|
OUTPUT 109 S0
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 109 50
|
STRING 109 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 12 2 ""
|
PROMPT 12 2 ""
|
||||||
USE %DPN KEY 2
|
USE %DPN KEY 2
|
||||||
INPUT S0 109
|
INPUT S0 109
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
COPY OUTPUT 108
|
COPY OUTPUT 108
|
||||||
HELP "Descrizione aggiuntiva della riga"
|
HELP "Descrizione aggiuntiva della riga"
|
||||||
FIELD DESCR
|
FIELD DESCR
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 66 5
|
GROUPBOX DLG_NULL 66 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 4 "Conto principale"
|
PROMPT 1 4 "Conto principale"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 101 15
|
NUMBER 101 15
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 5 "Dare "
|
PROMPT 2 5 "Dare "
|
||||||
HELP "Importo 'dare' del conto della riga"
|
HELP "Importo 'dare' del conto della riga"
|
||||||
FLAGS "RV"
|
FLAGS "RV"
|
||||||
PICTURE "."
|
PICTURE "."
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 102 15
|
NUMBER 102 15
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 42 5 "Avere "
|
PROMPT 42 5 "Avere "
|
||||||
HELP "Importo 'avere' del conto della riga"
|
HELP "Importo 'avere' del conto della riga"
|
||||||
FLAGS "RV"
|
FLAGS "RV"
|
||||||
PICTURE "."
|
PICTURE "."
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST 103 1 12
|
LIST 103 1 12
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 6 "Tipo "
|
PROMPT 2 6 "Tipo "
|
||||||
HELP "Tipo del conto principale della riga"
|
HELP "Tipo del conto principale della riga"
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
ITEM " |Conto" MESSAGE SHOW,106|HIDE,206|HIDE,306|SHOW,107|HIDE,207|HIDE,307
|
ITEM " |Conto" MESSAGE SHOW,106|HIDE,206|HIDE,306|SHOW,107|HIDE,207|HIDE,307
|
||||||
ITEM "C|Cliente" MESSAGE SHOW,206|HIDE,106|HIDE,306|SHOW,207|HIDE,107|HIDE,307
|
ITEM "C|Cliente" MESSAGE SHOW,206|HIDE,106|HIDE,306|SHOW,207|HIDE,107|HIDE,307
|
||||||
ITEM "F|Fornitore" MESSAGE SHOW,306|HIDE,106|HIDE,206|SHOW,307|HIDE,107|HIDE,207
|
ITEM "F|Fornitore" MESSAGE SHOW,306|HIDE,106|HIDE,206|SHOW,307|HIDE,107|HIDE,207
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 104 3
|
NUMBER 104 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 20 6 "Gruppo "
|
PROMPT 20 6 "Gruppo "
|
||||||
HELP "Codice del conto delle riga"
|
HELP "Codice del conto delle riga"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 105 3
|
NUMBER 105 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 6 "Conto "
|
PROMPT 32 6 "Conto "
|
||||||
HELP "Codice del conto delle riga"
|
HELP "Codice del conto delle riga"
|
||||||
FIELD LF_PCON->CONTO
|
FIELD LF_PCON->CONTO
|
||||||
USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
|
USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
|
||||||
INPUT GRUPPO 104
|
INPUT GRUPPO 104
|
||||||
INPUT CONTO 105
|
INPUT CONTO 105
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
DISPLAY "Tipo" TMCF
|
DISPLAY "Tipo" TMCF
|
||||||
OUTPUT 103 TMCF
|
OUTPUT 103 TMCF
|
||||||
OUTPUT 104 GRUPPO
|
OUTPUT 104 GRUPPO
|
||||||
OUTPUT 105 CONTO
|
OUTPUT 105 CONTO
|
||||||
OUTPUT 107 DESCR
|
OUTPUT 107 DESCR
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
MESSAGE DIRTY,106|DIRTY,206|DIRTY,306
|
MESSAGE DIRTY,106|DIRTY,206|DIRTY,306
|
||||||
WARNING "Conto inesistente o mancante sulla riga contabile"
|
WARNING "Conto inesistente o mancante sulla riga contabile"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 106 6
|
NUMBER 106 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 45 6 "Sottoconto "
|
PROMPT 45 6 "Sottoconto "
|
||||||
HELP "Codice del conto delle riga"
|
HELP "Codice del conto delle riga"
|
||||||
FIELD LF_PCON->SOTTOCONTO
|
FIELD LF_PCON->SOTTOCONTO
|
||||||
USE LF_PCON SELECT SOTTOCONTO!=""
|
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||||
INPUT GRUPPO 104
|
INPUT GRUPPO 104
|
||||||
INPUT CONTO 105
|
INPUT CONTO 105
|
||||||
INPUT SOTTOCONTO 106
|
INPUT SOTTOCONTO 106
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Sottoconto" SOTTOCONTO
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
OUTPUT 106 SOTTOCONTO
|
OUTPUT 106 SOTTOCONTO
|
||||||
OUTPUT 104 GRUPPO
|
OUTPUT 104 GRUPPO
|
||||||
OUTPUT 105 CONTO
|
OUTPUT 105 CONTO
|
||||||
OUTPUT 107 DESCR
|
OUTPUT 107 DESCR
|
||||||
ADD RUN cg0 -0
|
ADD RUN cg0 -0
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
WARNING "Sottoconto inesistente sulla riga contabile"
|
WARNING "Sottoconto inesistente sulla riga contabile"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 206 6
|
NUMBER 206 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 45 6 "Cliente "
|
PROMPT 45 6 "Cliente "
|
||||||
HELP "Codice del cliente delle riga"
|
HELP "Codice del cliente delle riga"
|
||||||
FIELD LF_PCON->SOTTOCONTO
|
FIELD LF_PCON->SOTTOCONTO
|
||||||
USE LF_CLIFO
|
USE LF_CLIFO
|
||||||
INPUT TIPOCF "C"
|
INPUT TIPOCF "C"
|
||||||
INPUT CODCF 206
|
INPUT CODCF 206
|
||||||
DISPLAY "Codice" CODCF
|
DISPLAY "Codice" CODCF
|
||||||
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
OUTPUT 206 CODCF
|
OUTPUT 206 CODCF
|
||||||
OUTPUT 207 RAGSOC
|
OUTPUT 207 RAGSOC
|
||||||
MESSAGE COPY,106
|
MESSAGE COPY,106
|
||||||
ADD RUN cg0 -1 C
|
ADD RUN cg0 -1 C
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
WARNING "Cliente inesistente sulla riga contabile"
|
WARNING "Cliente inesistente sulla riga contabile"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 306 6
|
NUMBER 306 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 45 6 "Fornitore "
|
PROMPT 45 6 "Fornitore "
|
||||||
HELP "Codice del fornitore delle riga"
|
HELP "Codice del fornitore delle riga"
|
||||||
FIELD LF_PCON->SOTTOCONTO
|
FIELD LF_PCON->SOTTOCONTO
|
||||||
USE LF_CLIFO
|
USE LF_CLIFO
|
||||||
INPUT TIPOCF "F"
|
INPUT TIPOCF "F"
|
||||||
INPUT CODCF 306
|
INPUT CODCF 306
|
||||||
DISPLAY "Codice" CODCF
|
DISPLAY "Codice" CODCF
|
||||||
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
OUTPUT 306 CODCF
|
OUTPUT 306 CODCF
|
||||||
OUTPUT 307 RAGSOC
|
OUTPUT 307 RAGSOC
|
||||||
MESSAGE COPY,106
|
MESSAGE COPY,106
|
||||||
ADD RUN cg0 -1 F
|
ADD RUN cg0 -1 F
|
||||||
MESSAGE COPY,106
|
MESSAGE COPY,106
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
WARNING "Fornitore inesistente sulla riga contabile"
|
WARNING "Fornitore inesistente sulla riga contabile"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 107 50
|
STRING 107 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 7 "Descriz. "
|
PROMPT 2 7 "Descriz. "
|
||||||
HELP "Descrizione del conto delle riga"
|
HELP "Descrizione del conto delle riga"
|
||||||
FIELD LF_PCON->DESCR
|
FIELD LF_PCON->DESCR
|
||||||
USE LF_PCON KEY 2
|
USE LF_PCON KEY 2
|
||||||
INPUT DESCR 107
|
INPUT DESCR 107
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Sottoconto" SOTTOCONTO
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
COPY OUTPUT 106
|
COPY OUTPUT 106
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
WARNING "Sottoconto inesistente o mancante sulla riga contabile"
|
WARNING "Sottoconto inesistente o mancante sulla riga contabile"
|
||||||
ADD RUN cg0 -0
|
ADD RUN cg0 -0
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 207 50
|
STRING 207 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 7 "Cliente "
|
PROMPT 2 7 "Cliente "
|
||||||
HELP "Ragione sociale del cliente delle riga"
|
HELP "Ragione sociale del cliente delle riga"
|
||||||
FIELD LF_CLIFO->RAGSOC
|
FIELD LF_CLIFO->RAGSOC
|
||||||
USE LF_CLIFO KEY 2
|
USE LF_CLIFO KEY 2
|
||||||
INPUT TIPOCF "C"
|
INPUT TIPOCF "C"
|
||||||
INPUT RAGSOC 207
|
INPUT RAGSOC 207
|
||||||
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Codice" CODCF
|
DISPLAY "Codice" CODCF
|
||||||
COPY OUTPUT 206
|
COPY OUTPUT 206
|
||||||
MESSAGE COPY,107
|
MESSAGE COPY,107
|
||||||
ADD RUN cg0 -1 C
|
ADD RUN cg0 -1 C
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
WARNING "Cliente inesistente sulla riga contabile"
|
WARNING "Cliente inesistente sulla riga contabile"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 307 50
|
STRING 307 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 7 "Fornitore "
|
PROMPT 2 7 "Fornitore "
|
||||||
HELP "Ragione sociale del fonitore delle riga"
|
HELP "Ragione sociale del fonitore delle riga"
|
||||||
FIELD LF_PCON->SOTTOCONTO
|
FIELD LF_PCON->SOTTOCONTO
|
||||||
USE LF_CLIFO KEY 2
|
USE LF_CLIFO KEY 2
|
||||||
INPUT TIPOCF "F"
|
INPUT TIPOCF "F"
|
||||||
INPUT RAGSOC 307
|
INPUT RAGSOC 307
|
||||||
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Codice" CODCF
|
DISPLAY "Codice" CODCF
|
||||||
COPY OUTPUT 306
|
COPY OUTPUT 306
|
||||||
MESSAGE COPY,107
|
MESSAGE COPY,107
|
||||||
ADD RUN cg0 -1 F
|
ADD RUN cg0 -1 F
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
WARNING "Fornitore inesistente sulla riga contabile"
|
WARNING "Fornitore inesistente sulla riga contabile"
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 66 4
|
GROUPBOX DLG_NULL 66 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 9 "Contropartita"
|
PROMPT 1 9 "Contropartita"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST 110 1 12
|
LIST 110 1 12
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 10 "Tipo "
|
PROMPT 2 10 "Tipo "
|
||||||
HELP "Tipo del conto di contropartita della riga"
|
HELP "Tipo del conto di contropartita della riga"
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
ITEM " |Conto" MESSAGE SHOW,113|HIDE,213|HIDE,313|SHOW,114|HIDE,214|HIDE,314
|
ITEM " |Conto" MESSAGE SHOW,113|HIDE,213|HIDE,313|SHOW,114|HIDE,214|HIDE,314
|
||||||
ITEM "C|Cliente" MESSAGE SHOW,213|HIDE,113|HIDE,313|SHOW,214|HIDE,114|HIDE,314
|
ITEM "C|Cliente" MESSAGE SHOW,213|HIDE,113|HIDE,313|SHOW,214|HIDE,114|HIDE,314
|
||||||
ITEM "F|Fornitore" MESSAGE SHOW,313|HIDE,113|HIDE,213|SHOW,314|HIDE,114|HIDE,214
|
ITEM "F|Fornitore" MESSAGE SHOW,313|HIDE,113|HIDE,213|SHOW,314|HIDE,114|HIDE,214
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 111 3
|
NUMBER 111 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 20 10 "Gruppo "
|
PROMPT 20 10 "Gruppo "
|
||||||
HELP "Codice del conto di contropartita delle riga"
|
HELP "Codice del conto di contropartita delle riga"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 112 3
|
NUMBER 112 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 10 "Conto "
|
PROMPT 32 10 "Conto "
|
||||||
HELP "Codice del conto di contropartita delle riga"
|
HELP "Codice del conto di contropartita delle riga"
|
||||||
FIELD LF_PCON->CONTO
|
FIELD LF_PCON->CONTO
|
||||||
COPY USE 105
|
COPY USE 105
|
||||||
INPUT GRUPPO 111
|
INPUT GRUPPO 111
|
||||||
INPUT CONTO 112
|
INPUT CONTO 112
|
||||||
COPY DISPLAY 105
|
COPY DISPLAY 105
|
||||||
OUTPUT 110 TMCF
|
OUTPUT 110 TMCF
|
||||||
OUTPUT 111 GRUPPO
|
OUTPUT 111 GRUPPO
|
||||||
OUTPUT 112 CONTO
|
OUTPUT 112 CONTO
|
||||||
OUTPUT 114 DESCR
|
OUTPUT 114 DESCR
|
||||||
ADD RUN CG0 -0
|
ADD RUN CG0 -0
|
||||||
MESSAGE DIRTY,113|DIRTY,213|DIRTY,313
|
MESSAGE DIRTY,113|DIRTY,213|DIRTY,313
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
VALIDATE REQIF_FUNC 3 113 213 313
|
VALIDATE REQIF_FUNC 3 113 213 313
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 113 6
|
NUMBER 113 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 45 10 "Sottoconto "
|
PROMPT 45 10 "Sottoconto "
|
||||||
HELP "Codice del conto di contropartita delle riga"
|
HELP "Codice del conto di contropartita delle riga"
|
||||||
FIELD LF_PCON->SOTTOCONTO
|
FIELD LF_PCON->SOTTOCONTO
|
||||||
COPY USE 106
|
COPY USE 106
|
||||||
COPY INPUT 112
|
COPY INPUT 112
|
||||||
INPUT SOTTOCONTO 113
|
INPUT SOTTOCONTO 113
|
||||||
COPY DISPLAY 106
|
COPY DISPLAY 106
|
||||||
OUTPUT 113 SOTTOCONTO
|
OUTPUT 113 SOTTOCONTO
|
||||||
OUTPUT 111 GRUPPO
|
OUTPUT 111 GRUPPO
|
||||||
OUTPUT 112 CONTO
|
OUTPUT 112 CONTO
|
||||||
OUTPUT 114 DESCR
|
OUTPUT 114 DESCR
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 213 6
|
NUMBER 213 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 45 10 "Cliente "
|
PROMPT 45 10 "Cliente "
|
||||||
HELP "Codice del cliente di contropartita delle riga"
|
HELP "Codice del cliente di contropartita delle riga"
|
||||||
FIELD LF_CLIFO->CODCF
|
FIELD LF_CLIFO->CODCF
|
||||||
COPY USE 206
|
COPY USE 206
|
||||||
INPUT TIPOCF "C"
|
INPUT TIPOCF "C"
|
||||||
INPUT CODCF 213
|
INPUT CODCF 213
|
||||||
COPY DISPLAY 206
|
COPY DISPLAY 206
|
||||||
OUTPUT 213 CODCF
|
OUTPUT 213 CODCF
|
||||||
OUTPUT 214 RAGSOC
|
OUTPUT 214 RAGSOC
|
||||||
MESSAGE COPY,113
|
MESSAGE COPY,113
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 313 6
|
NUMBER 313 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 45 10 "Fornitore "
|
PROMPT 45 10 "Fornitore "
|
||||||
HELP "Codice del fornitore di contropartita delle riga"
|
HELP "Codice del fornitore di contropartita delle riga"
|
||||||
FIELD LF_CLIFO->CODCF
|
FIELD LF_CLIFO->CODCF
|
||||||
COPY USE 306
|
COPY USE 306
|
||||||
INPUT TIPOCF "F"
|
INPUT TIPOCF "F"
|
||||||
INPUT CODCF 313
|
INPUT CODCF 313
|
||||||
COPY DISPLAY 306
|
COPY DISPLAY 306
|
||||||
OUTPUT 313 CODCF
|
OUTPUT 313 CODCF
|
||||||
OUTPUT 314 RAGSOC
|
OUTPUT 314 RAGSOC
|
||||||
MESSAGE COPY,113
|
MESSAGE COPY,113
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 114 50
|
STRING 114 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 11 "Descriz. "
|
PROMPT 2 11 "Descriz. "
|
||||||
HELP "Descrizione del conto di contropartita delle riga"
|
HELP "Descrizione del conto di contropartita delle riga"
|
||||||
FIELD LF_PCON->DESCR
|
FIELD LF_PCON->DESCR
|
||||||
COPY USE 107
|
COPY USE 107
|
||||||
INPUT DESCR 114
|
INPUT DESCR 114
|
||||||
COPY DISPLAY 107
|
COPY DISPLAY 107
|
||||||
COPY OUTPUT 113
|
COPY OUTPUT 113
|
||||||
ADD RUN cg0 -0
|
ADD RUN cg0 -0
|
||||||
WARNING "Conto inesistente sulla riga contabile"
|
WARNING "Conto inesistente sulla riga contabile"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 214 50
|
STRING 214 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 11 "Cliente "
|
PROMPT 2 11 "Cliente "
|
||||||
HELP "Ragione sociale del cliente di contropartita delle riga"
|
HELP "Ragione sociale del cliente di contropartita delle riga"
|
||||||
FIELD LF_CLIFO->RAGSOC
|
FIELD LF_CLIFO->RAGSOC
|
||||||
COPY USE 207
|
COPY USE 207
|
||||||
INPUT TIPOCF "C"
|
INPUT TIPOCF "C"
|
||||||
INPUT RAGSOC 214
|
INPUT RAGSOC 214
|
||||||
COPY DISPLAY 207
|
COPY DISPLAY 207
|
||||||
COPY OUTPUT 213
|
COPY OUTPUT 213
|
||||||
ADD RUN cg0 -1 C
|
ADD RUN cg0 -1 C
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
WARNING "Cliente inesistente sulla riga contabile"
|
WARNING "Cliente inesistente sulla riga contabile"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 314 50
|
STRING 314 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 11 "Fornitore "
|
PROMPT 2 11 "Fornitore "
|
||||||
HELP "Ragione sociale del fornitore di contropartita delle riga"
|
HELP "Ragione sociale del fornitore di contropartita delle riga"
|
||||||
FIELD LF_CLIFO->RAGSOC
|
FIELD LF_CLIFO->RAGSOC
|
||||||
COPY USE 307
|
COPY USE 307
|
||||||
INPUT TIPOCF "F"
|
INPUT TIPOCF "F"
|
||||||
INPUT RAGSOC 314
|
INPUT RAGSOC 314
|
||||||
COPY DISPLAY 307
|
COPY DISPLAY 307
|
||||||
COPY OUTPUT 313
|
COPY OUTPUT 313
|
||||||
ADD RUN cg0 -1 F
|
ADD RUN cg0 -1 F
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
WARNING "Fornitore inesistente sulla riga contabile"
|
WARNING "Fornitore inesistente sulla riga contabile"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER 115 7
|
NUMBER 115 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 13 "Riga giornale "
|
PROMPT 2 13 "Riga giornale "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST 116 20
|
LIST 116 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 30 13 "Tipo riga "
|
PROMPT 30 13 "Tipo riga "
|
||||||
ITEM " |Sola contabilita'"
|
ITEM " |Sola contabilita'"
|
||||||
ITEM "C|Gestione saldaconto"
|
ITEM "C|Gestione saldaconto"
|
||||||
ITEM "D|IVA detraibile"
|
ITEM "D|IVA detraibile"
|
||||||
ITEM "F|Ritenute fiscali"
|
ITEM "F|Ritenute fiscali"
|
||||||
ITEM "I|Riga di IVA"
|
ITEM "I|Riga di IVA"
|
||||||
ITEM "K|Riga Cliente/Fornitore"
|
ITEM "K|Riga Cliente/Fornitore"
|
||||||
ITEM "N|IVA non detraibile"
|
ITEM "N|IVA non detraibile"
|
||||||
ITEM "S|Ritenute sociali"
|
ITEM "S|Ritenute sociali"
|
||||||
ITEM "T|Totale documento"
|
ITEM "T|Totale documento"
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
BUTTON DLG_OK 9 2
|
BUTTON DLG_OK 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -14 -1 ""
|
PROMPT -14 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_CANCEL 9 2
|
BUTTON DLG_CANCEL 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -24 -1 ""
|
PROMPT -24 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_DELREC 9 2
|
BUTTON DLG_DELREC 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -34 -1 "Elimina"
|
PROMPT -34 -1 "Elimina"
|
||||||
MESSAGE EXIT,K_DEL
|
MESSAGE EXIT,K_DEL
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON 100 9 2
|
BUTTON 100 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -44 -1 "Partite"
|
PROMPT -44 -1 "Partite"
|
||||||
MESSAGE EXIT,K_DEL
|
MESSAGE EXIT,K_DEL
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
3600
cg/pagament.cpp
3600
cg/pagament.cpp
File diff suppressed because it is too large
Load Diff
698
cg/pagament.h
698
cg/pagament.h
@ -1,347 +1,351 @@
|
|||||||
#ifndef __PAGAMENT_H
|
#ifndef __PAGAMENT_H
|
||||||
#define __PAGAMENT_H
|
#define __PAGAMENT_H
|
||||||
|
|
||||||
#ifndef __ASSOC_H
|
#ifndef __ASSOC_H
|
||||||
#include <assoc.h>
|
#include <assoc.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __MSKSHEET_H
|
#ifndef __MSKSHEET_H
|
||||||
#include <msksheet.h>
|
#include <msksheet.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __RELATION_H
|
#ifndef __RELATION_H
|
||||||
#include <relation.h>
|
#include <relation.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __TABUTIL_H
|
#ifndef __TABUTIL_H
|
||||||
#include <tabutil.h>
|
#include <tabutil.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __CONTO_H
|
#ifndef __CONTO_H
|
||||||
#include "conto.h"
|
#include "conto.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Error codes for pagation
|
// Error codes for pagation
|
||||||
const word P_OK = 0x0000; // ok
|
const word P_OK = 0x0000; // ok
|
||||||
const word P_RSUM = 0x0001; // percentages do not sum up to 100
|
const word P_RSUM = 0x0001; // percentages do not sum up to 100
|
||||||
const word P_IMPNC = 0x0002; // inconsistenza percentuali / importi
|
const word P_IMPNC = 0x0002; // inconsistenza percentuali / importi
|
||||||
const word P_SCAD = 0x0004; // scadenze non consecutive
|
const word P_SCAD = 0x0004; // scadenze non consecutive
|
||||||
const word P_INIZIO = 0x0008; // data 1a rata < data inizio pagamenti
|
const word P_INIZIO = 0x0008; // data 1a rata < data inizio pagamenti
|
||||||
|
|
||||||
class TPagamento : public TObject
|
class TPagamento : public TObject
|
||||||
{
|
{
|
||||||
TString _code; // codice
|
TString _code; // codice
|
||||||
TString _name; // descrizione
|
TString _name; // descrizione
|
||||||
real _imponibile; // imponibile da affettare
|
real _imponibile; // imponibile da affettare
|
||||||
real _imposta; // imposta da affettare
|
real _imposta; // imposta da affettare
|
||||||
real _spese; // spese da affettare
|
real _spese; // spese da affettare
|
||||||
TDistrib _slicer; // affettatrice
|
TDistrib _slicer; // affettatrice
|
||||||
bool _new; // non letto da database
|
bool _new; // non letto da database
|
||||||
TArray _rate; // rate medesime
|
TArray _rate; // rate medesime
|
||||||
char _inscad; // inizio scadenze: S1
|
char _inscad; // inizio scadenze: S1
|
||||||
bool _mcomm; // mese commerciale: B0
|
bool _mcomm; // mese commerciale: B0
|
||||||
bool _rdiff; // rate differenziate: B1
|
bool _rdiff; // rate differenziate: B1
|
||||||
int _tpr; // tipo prima rata: S3
|
int _tpr; // tipo prima rata: S3
|
||||||
bool _dirty; // modificato (strutturalmente!)
|
bool _dirty; // modificato (strutturalmente!)
|
||||||
TDate _inizio; // data inizio pagamenti
|
TDate _inizio; // data inizio pagamenti
|
||||||
bool _inited; // vero se c'e' un movimento di riferimento
|
bool _inited; // vero se c'e' un movimento di riferimento
|
||||||
real _firstr; // importo da pagare in prima rata (o distribuire se tpr == 0)
|
real _firstr; // importo da pagare in prima rata (o distribuire se tpr == 0)
|
||||||
real _secndr; // importo da distribuire
|
real _secndr; // importo da distribuire
|
||||||
|
|
||||||
int _fixd[3]; // giorni scadenza fissa, se desiderati
|
int _fixd[3]; // giorni scadenza fissa, se desiderati
|
||||||
int _round; // decimali arrotondamento importo
|
int _round; // decimali arrotondamento importo
|
||||||
int _int_rate;
|
int _int_rate;
|
||||||
|
|
||||||
int _rata_ifield(int n, int f) const;
|
int _rata_ifield(int n, int f) const;
|
||||||
real _rata_rfield(int n, int f) const;
|
real _rata_rfield(int n, int f) const;
|
||||||
TDate _rata_dfield(int n, int f) const;
|
TDate _rata_dfield(int n, int f) const;
|
||||||
const char* _rata_sfield(int n, int f) const;
|
const char* _rata_sfield(int n, int f) const;
|
||||||
|
|
||||||
int _def_tpr; // tipo rata default
|
int _def_tpr; // tipo rata default
|
||||||
TString16 _def_ulc; // ulteriore classificazione default
|
TString16 _def_ulc; // ulteriore classificazione default
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// pregasi notare la straordinaria dovizia di const
|
// pregasi notare la straordinaria dovizia di const
|
||||||
int n_rate() const { return _rate.items(); }
|
int n_rate() const { return _rate.items(); }
|
||||||
bool is_new() const { return _new; }
|
bool is_new() const { return _new; }
|
||||||
bool dirty() const { return _dirty; }
|
bool dirty() const { return _dirty; }
|
||||||
|
|
||||||
real imponibile() const { return _imponibile; }
|
real imponibile() const { return _imponibile; }
|
||||||
real imposta() const { return _imposta; }
|
real imposta() const { return _imposta; }
|
||||||
real spese() const { return _spese; }
|
real spese() const { return _spese; }
|
||||||
|
|
||||||
int tipo_rata(int n) const { return _rata_ifield(n,2);}
|
int tipo_rata(int n) const { return _rata_ifield(n,2);}
|
||||||
real perc_rata(int n) const { return _rata_rfield(n,1);}
|
real perc_rata(int n) const { return _rata_rfield(n,1);}
|
||||||
int scad_rata(int n) const { return _rata_ifield(n,0);}
|
int scad_rata(int n) const { return _rata_ifield(n,0);}
|
||||||
TDate data_rata(int n) const { return _rata_dfield(n,3);}
|
TDate data_rata(int n) const { return _rata_dfield(n,3);}
|
||||||
real tpay_rata(int n) const { return _rata_rfield(n,4);}
|
real tpay_rata(int n) const { return _rata_rfield(n,4);}
|
||||||
const char* ulc_rata(int n) const { return _rata_sfield(n,5);}
|
const char* ulc_rata(int n) const { return _rata_sfield(n,5);}
|
||||||
char inizio_scadenza() const { return _inscad; }
|
char inizio_scadenza() const { return _inscad; }
|
||||||
bool mese_commerciale() const { return _mcomm; }
|
bool mese_commerciale() const { return _mcomm; }
|
||||||
bool rate_differenziate() const { return _rdiff; }
|
bool rate_differenziate() const { return _rdiff; }
|
||||||
int tipo_prima_rata() const { return _tpr; }
|
int tipo_prima_rata() const { return _tpr; }
|
||||||
int decs() const { return _round; }
|
int decs() const { return _round; }
|
||||||
|
|
||||||
// mi scuso per la mancanza di underscore, ma mi piaceva cosi'
|
// mi scuso per la mancanza di underscore, ma mi piaceva cosi'
|
||||||
bool ratapagata(int n);
|
bool ratapagata(int n);
|
||||||
|
|
||||||
const TString& name() const { return _name; }
|
const TString& name() const { return _name; }
|
||||||
const TString& code() const { return _code; }
|
const TString& code() const { return _code; }
|
||||||
const char* desc_tpr() const;
|
const char* desc_tpr() const;
|
||||||
const char* desc_tipo(int) const;
|
const char* desc_tipo(int) const;
|
||||||
|
|
||||||
// giorni scadenza fissi, aggiunti poi
|
// giorni scadenza fissi, aggiunti poi
|
||||||
void set_fixed_scad(int a, int ind) { _fixd[ind] = a; }
|
void set_fixed_scad(int a, int ind) { _fixd[ind] = a; }
|
||||||
|
|
||||||
// queste vengono usate solo per movimenti editabili nella struttura
|
// queste vengono usate solo per movimenti editabili nella struttura
|
||||||
// (da tabella pagamenti) e riaggiustano tutte le rate in accordo
|
// (da tabella pagamenti) e riaggiustano tutte le rate in accordo
|
||||||
// con il parametro modificato
|
// con il parametro modificato
|
||||||
void set_intervallo_rate(int i);
|
void set_intervallo_rate(int i);
|
||||||
void set_mese_commerciale(bool v, int& sscad);
|
void set_mese_commerciale(bool v, int& sscad);
|
||||||
void set_rate_differenziate(int v);
|
void set_rate_differenziate(int v);
|
||||||
void set_tipo_prima_rata(int v, int sscad = -1);
|
void set_tipo_prima_rata(int v, int sscad = -1);
|
||||||
void set_numero_rate(int n, int sscad = -1);
|
void set_numero_rate(int n, int sscad = -1);
|
||||||
|
|
||||||
void set_inizio_scadenza(char v) { _inscad = v; }
|
void set_inizio_scadenza(char v) { _inscad = v; }
|
||||||
void set_code(const char* c) { _code = c; }
|
void set_code(const char* c) { _code = c; }
|
||||||
void set_round(int n) { _round = n; }
|
void set_round(int n) { _round = n; }
|
||||||
|
|
||||||
// check consistency: returns word with errors flagged, 0 if ok
|
// check consistency: returns word with errors flagged, 0 if ok
|
||||||
word validate() const;
|
word validate() const;
|
||||||
void strerr(word err, TString& s);
|
void strerr(word err, TString& s);
|
||||||
|
|
||||||
// read/write from database
|
// read/write from database
|
||||||
// relapp passa i files, se no vengono aperti
|
// relapp passa i files, se no vengono aperti
|
||||||
bool read(TTable* cpg = NULL, TTable* rpg = NULL);
|
bool read(TTable* cpg = NULL, TTable* rpg = NULL);
|
||||||
|
|
||||||
// chiamabili solo da relapp, agiscono solo su %RPG
|
// chiamabili solo da relapp, agiscono solo su %RPG
|
||||||
int write(TTable& rpg);
|
int write(TTable& rpg);
|
||||||
int rewrite(TTable& rpg);
|
int rewrite(TTable& rpg);
|
||||||
int remove(TTable& rpg);
|
int remove(TTable& rpg);
|
||||||
|
|
||||||
// modifica rate manualmente o non
|
// modifica rate manualmente o non
|
||||||
TToken_string& rata(int r) { return (TToken_string&)_rate[r]; }
|
TToken_string& rata(int r) { return (TToken_string&)_rate[r]; }
|
||||||
TToken_string& add_rata (real perc, int day, int type, const char* ulc = "");
|
TToken_string& add_rata (real perc, int day, int type, const char* ulc = "");
|
||||||
TToken_string& set_rata (int index, real perc, int day, int type,
|
TToken_string& set_rata (int index, real perc, int day, int type,
|
||||||
const char* ulc = NULL, const char* imp = NULL,
|
const char* ulc = NULL, const char* imp = NULL,
|
||||||
const char* data = NULL);
|
const char* data = NULL);
|
||||||
// questa calcola percentuali e scadenze a partire dagli importi
|
// questa calcola percentuali e scadenze a partire dagli importi
|
||||||
TToken_string& set_rata (int index, const real& howmuch, const TDate& date, int type,
|
TToken_string& set_rata (int index, const real& howmuch, const TDate& date, int type,
|
||||||
const char* ulc, bool pagato);
|
const char* ulc, bool pagato);
|
||||||
|
|
||||||
// settano tipo rata e ult. class default per le rate; se bool = TRUE
|
// settano tipo rata e ult. class default per le rate; se bool = TRUE
|
||||||
// modificano anche le eventuali rate esistenti
|
// modificano anche le eventuali rate esistenti
|
||||||
void set_default_type(int type, bool change_existing = TRUE);
|
void set_default_type(int type, bool change_existing = TRUE);
|
||||||
void set_default_ulc(const char* ulc, bool change_existing = TRUE);
|
void set_default_ulc(const char* ulc, bool change_existing = TRUE);
|
||||||
|
|
||||||
void remove_rata(int r);
|
void remove_rata(int r);
|
||||||
void zap_rate () { _rate.destroy(); }
|
void zap_rate () { _rate.destroy(); }
|
||||||
// calcola le rate automaticamente secondo quanto specificato
|
// calcola le rate automaticamente secondo quanto specificato
|
||||||
void set_rate_auto();
|
void set_rate_auto();
|
||||||
// data una rata esistente, riaggiusta gli importi usando lo slicer e
|
// data una rata esistente, riaggiusta gli importi usando lo slicer e
|
||||||
// le scadenze usando la data di inizio
|
// le scadenze usando la data di inizio
|
||||||
void set_imprata(int i, real r);
|
void set_imprata(int i, real r);
|
||||||
|
|
||||||
// slicer interface
|
// slicer interface
|
||||||
void set_total(const real& ib, const real& im, const real& sp);
|
void set_total(const real& ib, const real& im, const real& sp);
|
||||||
|
|
||||||
// istanzia uno sheet field come diobue comanda
|
// istanzia uno sheet field come diobue comanda
|
||||||
void set_sheet(TSheet_field& sf, int sscad = -1);
|
void set_sheet(TSheet_field& sf, int sscad = -1);
|
||||||
// ricalcola automaticamente tutto il ricalcolabile
|
// ricalcola automaticamente tutto il ricalcolabile
|
||||||
// alla modifica di una percentuale (o di un importo)
|
// alla modifica di una percentuale (o di un importo)
|
||||||
// ritorna TRUE se non si poteva; non occorre che sia inizializzato
|
// ritorna TRUE se non si poteva; non occorre che sia inizializzato
|
||||||
// con un importo
|
// con un importo
|
||||||
word recalc_rate(int row, bool is_perc_modified, const char* new_value,
|
word recalc_rate(int row, bool is_perc_modified, const char* new_value,
|
||||||
const char* scad, const char* typ, int rdiff,
|
const char* scad, const char* typ, int rdiff,
|
||||||
bool mcomm, bool& need_recalc);
|
bool mcomm, bool& need_recalc);
|
||||||
|
|
||||||
// determina la prossima scadenza
|
// determina la prossima scadenza
|
||||||
void next_scad(TDate& d, int scad, bool mcomm, int rata);
|
void next_scad(TDate& d, int scad, bool mcomm, int rata);
|
||||||
|
|
||||||
// se codtab non e' NULL legge da file (e da' errore se non c'e')
|
// se codtab non e' NULL legge da file (e da' errore se non c'e')
|
||||||
// se si vuole fare un pagamento nuovo si da' il codice con set_code
|
// se si vuole fare un pagamento nuovo si da' il codice con set_code
|
||||||
TPagamento(const char* codtab = NULL, const char* data = NULL);
|
TPagamento(const char* codtab = NULL, const char* data = NULL);
|
||||||
virtual ~TPagamento() {}
|
virtual ~TPagamento() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#ifndef __PARTITE_H
|
#ifndef __PARTITE_H
|
||||||
#include <partite.h>
|
#include <partite.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class TTree_rectype : public TRectype
|
class TTree_rectype : public TRectype
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
TRecord_array _recarr;
|
TRecord_array _recarr;
|
||||||
|
|
||||||
void copy_key_to_row(TRectype& row) const;
|
void copy_key_to_row(TRectype& row) const;
|
||||||
int fill_array();
|
int fill_array();
|
||||||
|
|
||||||
protected: // TRectype
|
protected: // TRectype
|
||||||
virtual TObject* dup() const;
|
virtual TObject* dup() const;
|
||||||
|
|
||||||
virtual int read(TBaseisamfile& f, word op = _isequal);
|
virtual int read(TBaseisamfile& f, word op = _isequal);
|
||||||
virtual int next(TBaseisamfile& f);
|
virtual int next(TBaseisamfile& f);
|
||||||
virtual int write(TBaseisamfile& f) const;
|
virtual int write(TBaseisamfile& f) const;
|
||||||
virtual int rewrite(TBaseisamfile& f) const;
|
virtual int rewrite(TBaseisamfile& f) const;
|
||||||
virtual int remove(TBaseisamfile& f);
|
virtual int remove(TBaseisamfile& f);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
const TRecord_array& rows_array() const { return _recarr; }
|
const TRecord_array& rows_array() const { return _recarr; }
|
||||||
TRecord_array& rows_array() { return _recarr; }
|
TRecord_array& rows_array() { return _recarr; }
|
||||||
const TRectype& row(int r) const { return ((TRecord_array&)_recarr).row(r, FALSE); }
|
const TRectype& row(int r) const { return ((TRecord_array&)_recarr).row(r, FALSE); }
|
||||||
TRectype& row(int r, bool create) { return _recarr.row(r, create); }
|
TRectype& row(int r, bool create) { return _recarr.row(r, create); }
|
||||||
|
|
||||||
TTree_rectype(const TRectype& testata, const TRectype& riga, const char* num);
|
int last() const { return _recarr.last_row(); }
|
||||||
TTree_rectype(int testata, int riga, const char* num);
|
int pred(int r) const { return _recarr.pred_row(r); }
|
||||||
TTree_rectype(const TTree_rectype& t);
|
|
||||||
virtual ~TTree_rectype() {}
|
TTree_rectype(const TRectype& testata, const TRectype& riga, const char* num);
|
||||||
};
|
TTree_rectype(int testata, int riga, const char* num);
|
||||||
|
TTree_rectype(const TTree_rectype& t);
|
||||||
|
virtual ~TTree_rectype() {}
|
||||||
class TRiga_scadenze : public TTree_rectype
|
};
|
||||||
{
|
|
||||||
friend class TPartita;
|
|
||||||
friend class TRiga_partite;
|
class TRiga_scadenze : public TTree_rectype
|
||||||
|
{
|
||||||
TRiga_partite* _riga;
|
friend class TPartita;
|
||||||
|
friend class TRiga_partite;
|
||||||
protected:
|
|
||||||
char calcola_abbuono(TImporto& abbuono, bool val) const;
|
TRiga_partite* _riga;
|
||||||
TImporto calcola_differenza_cambio(bool update);
|
|
||||||
|
protected:
|
||||||
bool modifica_pagamento(const TRectype& new_pag,
|
char calcola_abbuono(TImporto& abbuono, bool val) const;
|
||||||
char& old_ap, TImporto& old_abb, TImporto& old_diffcam,
|
TImporto calcola_differenza_cambio(bool update);
|
||||||
char& new_ap, TImporto& new_abb, TImporto& new_diffcam);
|
|
||||||
|
bool modifica_pagamento(const TRectype& new_pag,
|
||||||
protected: // TRecord_tree
|
char& old_ap, TImporto& old_abb, TImporto& old_diffcam,
|
||||||
virtual TObject* dup() const { return new TRiga_scadenze(*this); }
|
char& new_ap, TImporto& new_abb, TImporto& new_diffcam);
|
||||||
|
|
||||||
public:
|
protected: // TRecord_tree
|
||||||
int pagata() const; // Riga che chiude la rata o 0 se non pagata completamente
|
virtual TObject* dup() const { return new TRiga_scadenze(*this); }
|
||||||
|
|
||||||
real residuo() const;
|
public:
|
||||||
|
int pagata() const; // Riga che chiude la rata o 0 se non pagata completamente
|
||||||
bool in_valuta() const;
|
|
||||||
|
real residuo() const;
|
||||||
TPartita& partita() const;
|
|
||||||
TRiga_partite& riga() const { CHECK(_riga, "Riga nulla"); return *_riga; } // Riga partite
|
bool in_valuta() const;
|
||||||
|
|
||||||
TImporto importo_pagato(bool val) const;
|
TPartita& partita() const;
|
||||||
TImporto importo_da_pagare(bool val) const;
|
TRiga_partite& riga() const { CHECK(_riga, "Riga nulla"); return *_riga; } // Riga partite
|
||||||
|
|
||||||
TRiga_scadenze(TRiga_partite* riga);
|
TImporto importo_pagato(bool val) const;
|
||||||
TRiga_scadenze(const TRiga_scadenze& s);
|
TImporto importo_da_pagare(bool val) const;
|
||||||
virtual ~TRiga_scadenze() {}
|
|
||||||
};
|
TRiga_scadenze(TRiga_partite* riga);
|
||||||
|
TRiga_scadenze(const TRiga_scadenze& s);
|
||||||
class TRiga_partite : public TTree_rectype
|
virtual ~TRiga_scadenze() {}
|
||||||
{
|
};
|
||||||
friend class TPartita;
|
|
||||||
friend class TRiga_scadenze;
|
class TRiga_partite : public TTree_rectype
|
||||||
TPartita* _partita;
|
{
|
||||||
|
friend class TPartita;
|
||||||
protected:
|
friend class TRiga_scadenze;
|
||||||
bool update(const TRectype& vec, const TRectype& nuo, const char* field);
|
TPartita* _partita;
|
||||||
|
|
||||||
public: // TTree_rectype
|
protected:
|
||||||
virtual TObject* dup() const { return new TRiga_partite(*this); }
|
bool update(const TRectype& vec, const TRectype& nuo, const char* field);
|
||||||
virtual int read(TBaseisamfile& f, word op);
|
bool update(const TImporto& vec, const TImporto& nuo, const char* sez, const char* val);
|
||||||
|
|
||||||
public:
|
public: // TTree_rectype
|
||||||
int rate() const { return _recarr.rows(); }
|
virtual TObject* dup() const { return new TRiga_partite(*this); }
|
||||||
TRiga_scadenze& rata(int r) const { return (TRiga_scadenze&)_recarr.row(r); }
|
virtual int read(TBaseisamfile& f, word op);
|
||||||
|
|
||||||
int ultimo_pagamento(int rata) const;
|
public:
|
||||||
char sezione() const { return get_char("SEZ"); }
|
int rate() const { return _recarr.rows(); }
|
||||||
|
TRiga_scadenze& rata(int r) const { return (TRiga_scadenze&)_recarr.row(r); }
|
||||||
TPartita& partita() const { CHECK(_partita, "Partita nulla"); return *_partita; }
|
|
||||||
|
int ultimo_pagamento(int rata) const;
|
||||||
TRiga_partite(TPartita* game);
|
char sezione() const { return get_char("SEZ"); }
|
||||||
TRiga_partite(const TRiga_partite& r);
|
|
||||||
virtual ~TRiga_partite() {}
|
TPartita& partita() const { CHECK(_partita, "Partita nulla"); return *_partita; }
|
||||||
};
|
|
||||||
|
TRiga_partite(TPartita* game);
|
||||||
class TPartita : public TObject
|
TRiga_partite(const TRiga_partite& r);
|
||||||
{
|
virtual ~TRiga_partite() {}
|
||||||
TRecord_array _part;
|
};
|
||||||
TRecord_array _unassigned;
|
|
||||||
|
class TPartita : public TObject
|
||||||
public: // TObject
|
{
|
||||||
virtual bool ok() const { return _part.rows() > 0; }
|
TRecord_array _part;
|
||||||
|
TRecord_array _unassigned;
|
||||||
public:
|
|
||||||
TRiga_partite& riga(int r) const { return (TRiga_partite&)_part.row(r); }
|
public: // TObject
|
||||||
TRiga_partite& nuova_riga() { return (TRiga_partite&)_part.row(last()+1, TRUE); }
|
virtual bool ok() const { return _part.rows() > 0; }
|
||||||
|
|
||||||
int succ(int r) const { return _part.succ_row(r); }
|
public:
|
||||||
int pred(int r) const { return _part.pred_row(r); }
|
TRiga_partite& riga(int r) const { return (TRiga_partite&)_part.row(r); }
|
||||||
int first() const { return _part.first_row(); }
|
TRiga_partite& nuova_riga() { return (TRiga_partite&)_part.row(last()+1, TRUE); }
|
||||||
int last() const { return _part.last_row(); }
|
|
||||||
|
int succ(int r) const { return _part.succ_row(r); }
|
||||||
bool reread();
|
int pred(int r) const { return _part.pred_row(r); }
|
||||||
bool read(const TBill& clifo, int anno, const char* num);
|
int first() const { return _part.first_row(); }
|
||||||
bool write(bool re = FALSE);
|
int last() const { return _part.last_row(); }
|
||||||
bool rewrite() { return write(TRUE); }
|
|
||||||
|
bool reread();
|
||||||
int mov2rig(long nreg, int rmov) const;
|
bool read(const TBill& clifo, int anno, const char* num);
|
||||||
int rig2mov(int rmov) const;
|
bool write(bool re = FALSE);
|
||||||
int prima_fattura() const;
|
bool rewrite() { return write(TRUE); }
|
||||||
bool utilizzata(int r) const; // Controlla se esistono pagamenti sommati alla riga r
|
|
||||||
|
int mov2rig(long nreg, int rmov) const;
|
||||||
void conto(TBill& c) const { c.get(_part.key()); }
|
int rig2mov(int rmov) const;
|
||||||
int anno() const { return _part.key().get_int(PART_ANNO); }
|
int prima_fattura() const;
|
||||||
const TString& numero() const { return _part.key().get(PART_NUMPART); }
|
bool utilizzata(int r) const; // Controlla se esistono pagamenti sommati alla riga r
|
||||||
const TString& descrizione() const { return _part.key().get(PART_DESCR); }
|
|
||||||
|
void conto(TBill& c) const { c.get(_part.key()); }
|
||||||
TImporto importo_speso(long numreg, int numrig) const;
|
int anno() const { return _part.key().get_int(PART_ANNO); }
|
||||||
void update_reg_num(long nreg, const TRectype& mov);
|
const TString& numero() const { return _part.key().get(PART_NUMPART); }
|
||||||
void calcola_saldo(TImporto& saldo, TImporto& doc, TImporto& pag, TImporto& imp) const;
|
const TString& descrizione() const { return _part.key().get(PART_DESCR); }
|
||||||
|
|
||||||
bool modifica_pagamento(const TRectype& new_pag,
|
TImporto importo_speso(long numreg, int numrig) const;
|
||||||
char& old_ap, TImporto& old_abb, TImporto& old_diffcam,
|
void update_reg_num(long nreg, const TRectype& mov);
|
||||||
char& new_ap, TImporto& new_abb, TImporto& new_diffcam);
|
void calcola_saldo(TImporto& saldo, TImporto& doc, TImporto& pag, TImporto& imp) const;
|
||||||
|
|
||||||
TPartita(const TBill& clifo, int anno, const char* num);
|
bool modifica_pagamento(const TRectype& new_pag,
|
||||||
TPartita();
|
char& old_ap, TImporto& old_abb, TImporto& old_diffcam,
|
||||||
};
|
char& new_ap, TImporto& new_abb, TImporto& new_diffcam);
|
||||||
|
|
||||||
|
TPartita(const TBill& clifo, int anno, const char* num);
|
||||||
class TPartite_array : private TAssoc_array
|
TPartita();
|
||||||
{
|
};
|
||||||
TString80 _key; // Work string
|
|
||||||
|
|
||||||
protected:
|
class TPartite_array : private TAssoc_array
|
||||||
const TString& key(const TBill& clifo, int anno, const char* num); // Build key for TAssoc_array
|
{
|
||||||
TPartita* find(const TBill& clifo, int anno, const char* numero, bool create);
|
TString80 _key; // Work string
|
||||||
TPartita* find(const TRectype& part, bool create);
|
|
||||||
|
protected:
|
||||||
public: // TAssoc_array
|
const TString& key(const TBill& clifo, int anno, const char* num); // Build key for TAssoc_array
|
||||||
virtual void destroy() { TAssoc_array::destroy(); }
|
TPartita* find(const TBill& clifo, int anno, const char* numero, bool create);
|
||||||
|
TPartita* find(const TRectype& part, bool create);
|
||||||
public:
|
|
||||||
TPartita& partita(const TBill& clifo, int anno, const char* numero);
|
public: // TAssoc_array
|
||||||
TPartita& partita(const TRectype& r);
|
virtual void destroy() { TAssoc_array::destroy(); }
|
||||||
|
|
||||||
TPartita* exist(const TBill& clifo, int anno, const char* numero) const
|
public:
|
||||||
{ return ((TPartite_array*)this)->find(clifo, anno, numero, FALSE); }
|
TPartita& partita(const TBill& clifo, int anno, const char* numero);
|
||||||
|
TPartita& partita(const TRectype& r);
|
||||||
TPartita* exist(const TRectype& part) const
|
|
||||||
{ return ((TPartite_array*)this)->find(part, FALSE); }
|
TPartita* exist(const TBill& clifo, int anno, const char* numero) const
|
||||||
|
{ return ((TPartite_array*)this)->find(clifo, anno, numero, FALSE); }
|
||||||
bool write(bool re = FALSE);
|
|
||||||
bool rewrite() { return write(TRUE); }
|
TPartita* exist(const TRectype& part) const
|
||||||
|
{ return ((TPartite_array*)this)->find(part, FALSE); }
|
||||||
int add_reg_num(long numreg, int numrig);
|
|
||||||
TImporto importo_speso(long numreg, int numrig);
|
bool write(bool re = FALSE);
|
||||||
void update_reg_num(long nreg, const TRectype& mov);
|
bool rewrite() { return write(TRUE); }
|
||||||
|
|
||||||
TPartita* first() { restart(); return next(); }
|
int add_reg_num(long numreg, int numrig);
|
||||||
TPartita* next() { return (TPartita*)get(); }
|
TImporto importo_speso(long numreg, int numrig);
|
||||||
|
void update_reg_num(long nreg, const TRectype& mov);
|
||||||
TPartite_array() {}
|
|
||||||
virtual ~TPartite_array() {}
|
TPartita* first() { restart(); return next(); }
|
||||||
};
|
TPartita* next() { return (TPartita*)get(); }
|
||||||
|
|
||||||
#endif
|
TPartite_array() {}
|
||||||
|
virtual ~TPartite_array() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user