Aggiornata gestione quadri F, F1, F2

git-svn-id: svn://10.65.10.50/trunk@4505 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1997-06-03 14:27:56 +00:00
parent b19e702cf5
commit 1ef0a57f4c
11 changed files with 904 additions and 1230 deletions

View File

@ -18,8 +18,8 @@
class TQuadroC_E2 : public TRelation_application class TQuadroC_E2 : public TRelation_application
{ {
private: private:
TString _quadro; // Codice del quadro in gestione TString _quadro; // Codice del quadro in gestione
bool _registra; // Se TRUE fa i riporti bool _registra; // Se TRUE fa i riporti
struct righe_pag struct righe_pag
{ {
@ -35,20 +35,20 @@ class TQuadroC_E2 : public TRelation_application
bool bInps; bool bInps;
real inps; real inps;
}; };
righe_pag* _rig; righe_pag* _rig;
TRelation* _rel; TRelation* _rel;
TMask* _msk[2]; TMask* _msk[2];
TSort* _sort; TSort* _sort;
long _codanagr; long _codanagr;
char _tipoa, _tipoq; char _tipoa, _tipoq;
int _nproga; int _nproga;
int _mode; int _mode;
int _anno_dic; // anno dichiarazione int _anno_dic; // anno dichiarazione
TLocalisamfile* _per, *_scper, *_rpag, *_qd; TLocalisamfile* _per, *_scper, *_rpag, *_qd;
TTable* _ca7; TTable* _ca7;
TRiporti _rip; TRiporti _rip;
long _codditta; long _codditta;
int _file; int _file;
private: private:
static bool nprog_handler (TMask_field& f, KEY key); static bool nprog_handler (TMask_field& f, KEY key);
@ -106,8 +106,8 @@ TQuadroC_E2::TQuadroC_E2(char tipo): _rel(NULL), _mode(0), _tipoq(tipo)
bool TQuadroC_E2::changing_mask(int mode) bool TQuadroC_E2::changing_mask(int mode)
{ {
if ((mode == MODE_MOD) && (_mode == MODE_INS)) if ((mode == MODE_MOD) && (_mode == MODE_INS))
return FALSE; return FALSE;
else else
return _mode != mode; return _mode != mode;
} }
@ -392,7 +392,7 @@ bool TQuadroC_E2::generazione()
TRectype cau = look_causali(codcaus); TRectype cau = look_causali(codcaus);
TString16 qua = cau.get(bCODICE_QUADRO); TString16 qua = cau.get(bCODICE_QUADRO);
bool acc_imp = cau.get_bool(bSOMME_ASSOG_RAC); bool acc_imp = cau.get_bool(bSOMME_ASSOG_RAC);
bool bContrInps = cau.get_bool(bCONTRIBUTO_INPS); bool bContrInps = cau.get_bool(bCONTRIBUTO_INPS);
if (_tipoq == 'D' && qua != "D") continue; if (_tipoq == 'D' && qua != "D") continue;
if (_tipoq == 'C' && qua != "C") continue; if (_tipoq == 'C' && qua != "C") continue;
@ -557,11 +557,11 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
{ {
p.addstatus(1); p.addstatus(1);
esiste_record = TRUE; esiste_record = TRUE;
rp = (struct righe_pag*)buf; rp = (struct righe_pag*)buf;
tipoa = rp->tipoa; tipoa = rp->tipoa;
codanag = atol(rp->codan); codanag = atol(rp->codan);
codcaus = atoi(rp->codcau); codcaus = atoi(rp->codcau);
perc = rp->perc; perc = rp->perc;
bAssoggettateRacc = rp->acim; bAssoggettateRacc = rp->acim;
// non frega un tubo bInps = rp->bInps; // se la riga aveva il contributo inps nella caus. // non frega un tubo bInps = rp->bInps; // se la riga aveva il contributo inps nella caus.
rQCInps = rp->inps; rQCInps = rp->inps;
@ -626,11 +626,11 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
rTotQCInps = tot_impo = tot_somme = tot_rite = tot_comp = ZERO; rTotQCInps = tot_impo = tot_somme = tot_rite = tot_comp = ZERO;
} }
tot_somme += rp->somme; tot_somme += rp->somme;
tot_rite += rp->rite; tot_rite += rp->rite;
tot_impo += rp->impo; tot_impo += rp->impo;
tot_comp += rp->comp; tot_comp += rp->comp;
rTotQCInps += rQCInps; rTotQCInps += rQCInps;
if (tipoa_p != tipoa || codanag != codanag_p) if (tipoa_p != tipoa || codanag != codanag_p)
nprog = 1; nprog = 1;
@ -824,7 +824,7 @@ bool TQuadroC_E2::user_create()
_rel = new TRelation(_file); _rel = new TRelation(_file);
_rpag = new TLocalisamfile(LF_RPAG); _rpag = new TLocalisamfile(LF_RPAG);
_ca7 = new TTable ("%CA7"); _ca7 = new TTable ("%CA7");
_codditta = get_firm_770(); _codditta = get_firm_770();
set_search_field(F_CODANAGRPERC); set_search_field(F_CODANAGRPERC);
_registra = FALSE; _registra = FALSE;

File diff suppressed because it is too large Load Diff

View File

@ -1,25 +1,39 @@
// 771231a.h - quadro F // 771231a.h - quadro F
// *NOTA* gli identificatori fino al 119 sono per spreadsheet // *NOTA* gli identificatori fino al 119 sono per spreadsheet
#define F_A1 120 #define PROSP_A -11
#define F_A2 121 #define PROSP_B -12
#define F_A3 122 #define PROSP_C -13
#define F_A4 123 #define PROSP_D -14
#define E_CAMBIAL 124 #define PROSP_E -15
#define E_PROVENTI 125 #define PROSP_F -16
#define E_ALI 126 #define PROSP_G -17
#define E_ROP 127 #define PROSP_H -18
#define F_DESCRCAUS 128
#define F_ALI 129
#define F_SOGG 130
#define F_ROP 131
#define F_CODCAU 132
#define DLG_AZZERA 133
#define F_CODDITTA 134
#define F_RAGDITTA 135
#define F_A 136
#define F_B 137
#define F_C 138
#define F_D 139
#define DLG_AZZERA 120
#define DLG_CODDITTA 121
#define DLG_RAGDITTA 122
#define D_CAMBIAL 130
#define D_PROVENTI 131
#define D_ALI 132
#define D_ROP 133
#define E_SOGG 140
#define E_ROP 141
#define F_PLUSVAL 160
#define F_ROP 161
#define G_PROVENTI 150
#define G_ROP 151
#define H_PLUSVAL 170
#define H_ROP 171
#define F_A1 181
#define F_A2 182
#define F_A 201
#define F_B 202
#define F_C 203

View File

@ -8,19 +8,19 @@ TOOLBAR "" 0 20 0 2
#include "toolbar.h" #include "toolbar.h"
ENDPAGE ENDPAGE
PAGE "Prospetto A" -1 -1 78 18 PAGE "Prospetto A,B" -1 -1 78 18
GROUPBOX DLG_NULL 78 3 GROUPBOX DLG_NULL 78 3
BEGIN BEGIN
PROMPT 1 0 "" PROMPT 1 0 ""
END END
NUMBER F_CODDITTA 5 NUMBER DLG_CODDITTA 5
BEGIN BEGIN
PROMPT 3 1 "Ditta " PROMPT 3 1 "Ditta "
USE LF_NDITTE USE LF_NDITTE
INPUT CODDITTA F_CODDITTA INPUT CODDITTA DLG_CODDITTA
OUTPUT F_RAGDITTA RAGSOC OUTPUT DLG_RAGDITTA RAGSOC
FIELD LF_QUAF->CODDITTA FIELD LF_QUAF->CODDITTA
KEY 1 KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
@ -28,7 +28,7 @@ BEGIN
MESSAGE COPY,1@ MESSAGE COPY,1@
END END
STRING F_RAGDITTA 50 STRING DLG_RAGDITTA 50
BEGIN BEGIN
PROMPT 17 1 "Ragione " PROMPT 17 1 "Ragione "
FLAGS "D" FLAGS "D"
@ -40,75 +40,36 @@ BEGIN
PROMPT 1 3 "@bProspetto A" PROMPT 1 3 "@bProspetto A"
END END
SPREADSHEET F_A 78 8 SPREADSHEET F_A 0 6
BEGIN BEGIN
PROMPT 0 4 "" PROMPT 0 4 ""
ITEM "Causale" ITEM "Causale"
ITEM "Descrizione@50" ITEM "Descrizione@35"
ITEM "Aliquota" ITEM "Aliquota"
ITEM "Sogg. a rit.@15" ITEM "Somme sogg.a rit.@15"
ITEM "Ritenuta@15" ITEM "Ritenuta@15"
ITEM "Totale acconti@15"
ITEM "Vers. a saldo@15"
ITEM "Somma versata@15" ITEM "Somma versata@15"
END END
GROUPBOX DLG_NULL 0 6
BEGIN
PROMPT 1 13 ""
END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 3 14 "A1 Importo di col.7 ..." PROMPT 1 12 "@bProspetto B"
END END
NUMBER F_A1 15 SPREADSHEET F_B 0 6
BEGIN BEGIN
PROMPT 60 14 "" PROMPT 0 13 ""
PICTURE "." ITEM "Causale"
FIELD LF_QUAF->A1 ITEM "Descrizione@35"
END ITEM "Aliquota"
ITEM "Somme sogg.a rit.@15"
TEXT DLG_NULL ITEM "Ritenuta@15"
BEGIN ITEM "Somma versata@15"
PROMPT 3 15 "A2 Importo di col.7 di cui si chiede il rimborso"
END
NUMBER F_A2 15
BEGIN
PROMPT 60 15 ""
PICTURE "."
FIELD LF_QUAF->A2
END
TEXT DLG_NULL
BEGIN
PROMPT 3 16 "A3 Somme soggette a ritenuta ..."
END
NUMBER F_A3 15
BEGIN
PROMPT 60 16 ""
PICTURE "."
FIELD LF_QUAF->A3
END
TEXT DLG_NULL
BEGIN
PROMPT 3 17 "A4 Ritenute operate ..."
END
NUMBER F_A4 15
BEGIN
PROMPT 60 17 ""
PICTURE "."
FIELD LF_QUAF->A4
END END
ENDPAGE ENDPAGE
PAGE "Prospetto B,C" -1 -1 78 18 PAGE "Prospetti C,D,E" -1 -1 78 18
GROUPBOX DLG_NULL 78 3 GROUPBOX DLG_NULL 78 3
BEGIN BEGIN
@ -131,177 +92,297 @@ END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 3 "@bProspetto B" PROMPT 1 3 "@bProspetto C"
END END
SPREADSHEET F_B 78 6 SPREADSHEET F_C 0 6
BEGIN BEGIN
PROMPT 0 4 "" PROMPT 0 4 ""
ITEM "Causale" ITEM "Causale"
ITEM "Descrizione@50" ITEM "Descrizione@35"
ITEM "Aliquota" ITEM "Aliquota"
ITEM "Somme sogg.a rit.@15" ITEM "Somme sogg.a rit.@15"
ITEM "Ritenuta@15" ITEM "Ritenuta@15"
ITEM "Somma versata@15"
END END
TEXT DLG_NULL GROUPBOX DLG_NULL 78 5
BEGIN BEGIN
PROMPT 1 11 "@bProspetto C" PROMPT 1 12 "@bProspetto D"
END
SPREADSHEET F_C 78 6
BEGIN
PROMPT 0 12 ""
ITEM "Causale"
ITEM "Descrizione@50"
ITEM "Aliquota"
ITEM "Somme sogg.a rit.@15"
ITEM "Ritenuta@15"
END
ENDPAGE
PAGE "Prospetto D,E,F" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER DLG_NULL 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "RD"
GROUP 1
END
STRING DLG_NULL 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
GROUP 2
END
TEXT DLG_NULL
BEGIN
PROMPT 1 3 "@bProspetto D"
END
SPREADSHEET F_D 78 6
BEGIN
PROMPT 0 4 ""
ITEM "Causale"
ITEM "Descrizione@50"
ITEM "Aliquota"
ITEM "Somme sogg.a rit.@15"
ITEM "Ritenuta@15"
END
GROUPBOX DLG_NULL 0 5
BEGIN
PROMPT 1 11 "@bProspetto E"
END END
TEXT DLG_NULL NUMBER DLG_NULL 5
BEGIN BEGIN
PROMPT 2 12 "Importo complessivo delle cambiali " PROMPT 1 80 "CODDITTA"
FLAGS "D"
FIELD PROSP_D->CODDITTA
GROUP 1
END END
NUMBER E_CAMBIAL 15 LIST DLG_NULL 1
BEGIN BEGIN
PROMPT 60 12 "" PROMPT 1 80 "TIPOPRO"
PICTURE "." FLAGS "D"
FIELD LF_QUAF->E_CAMBIALI ITEM "D|D"
FIELD PROSP_D->TIPOPRO
END
LIST DLG_NULL 1
BEGIN
PROMPT 1 80 "NPROG"
FLAGS "D"
ITEM "1|1"
FIELD PROSP_D->NPROG
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 2 13 "Proventi soggetti a ritenuta " PROMPT 2 13 "Importo complessivo delle cambiali "
END END
NUMBER E_PROVENTI 15 NUMBER D_CAMBIAL 15
BEGIN BEGIN
PROMPT 60 13 "" PROMPT 60 13 ""
PICTURE "." PICTURE "."
FIELD LF_QUAF->E_SOGRIT FIELD PROSP_D->IMPCAMB
END END
NUMBER E_ALI 5 TEXT DLG_NULL
BEGIN
PROMPT 2 14 "Proventi soggetti a ritenuta "
END
NUMBER D_PROVENTI 15
BEGIN
PROMPT 60 14 ""
PICTURE "."
FIELD PROSP_D->SOGRIT
END
NUMBER D_ALI 5
BEGINE BEGINE
PROMPT 2 14 "Aliquota " PROMPT 2 15 "Aliquota "
FIELD LF_QUAF->E_ALIQUOTA FIELD PROSP_D->ALIQUOTA
PICTURE ".2" PICTURE ".2"
NUM_EXPR {(#THIS>=0) && (#THIS<=100)} NUM_EXPR {(#D_ALI>=0) && (#D_ALI<=100)}
END
NUMBER D_ROP 15
BEGIN
PROMPT 43 15 "Ritenuta operata "
PICTURE "."
FIELD PROSP_D->ROPE
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 17 "@bProspetto E"
END
NUMBER DLG_NULL 5
BEGIN
PROMPT 1 80 "CODDITTA"
FLAGS "D"
FIELD PROSP_E->CODDITTA
GROUP 1
END
LIST DLG_NULL 1
BEGIN
PROMPT 1 80 "TIPOPRO"
FLAGS "D"
ITEM "E|E"
FIELD PROSP_E->TIPOPRO
END
LIST DLG_NULL 1
BEGIN
PROMPT 1 80 "NPROG"
FLAGS "D"
ITEM "1|1"
FIELD PROSP_E->NPROG
END
TEXT DLG_NULL
BEGIN
PROMPT 2 18 "Ammontare dei proventi imponibili"
END
NUMBER E_SOGG 15
BEGIN
PROMPT 60 18 ""
PICTURE "."
FIELD PROSP_E->SOGRIT
END
TEXT DLG_NULL
BEGIN
PROMPT 2 19 "Ritenuta operata"
END END
NUMBER E_ROP 15 NUMBER E_ROP 15
BEGIN BEGIN
PROMPT 43 14 "Ritenuta operata " PROMPT 60 19 ""
PICTURE "." PICTURE "."
FIELD LF_QUAF->E_ROPE FIELD PROSP_E->ROPE
END END
GROUPBOX DLG_NULL 0 5 ENDPAGE
BEGIN
PROMPT 1 16 "@bProspetto F"
END
STRING F_CODCAU 2 PAGE "Prospetti F,G,H" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
BEGIN BEGIN
PROMPT 2 17 "Causale " PROMPT 1 0 ""
USE %CA7 SELECT (S1="F")
VALIDATE REQIF_FUNC 3 F_SOGG F_ALI F_ROP
INPUT CODTAB F_CODCAU
DISPLAY "Codice " CODTAB
DISPLAY "Descrizione @60" S0
DISPLAY "Codice tributo" I0
DISPLAY "Articolo di bilancio" I3
DISPLAY "C.T." B2
DISPLAY "I.C." B1
DISPLAY "R.A." B0
OUTPUT F_CODCAU CODTAB
OUTPUT F_DESCRCAUS S0
OUTPUT F_ALI R0
FLAGS "Z"
WARNING "Manca la causale"
CHECKTYPE NORMAL
ADD RUN 773mod -3 %CA7
FIELD LF_QUAF->F_CODCAUS
END END
STRING F_DESCRCAUS 60 NUMBER DLG_NULL 5
BEGIN BEGIN
PROMPT 16 17 "" PROMPT 3 1 "Ditta "
FLAGS "RD"
GROUP 1
END
STRING DLG_NULL 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D" FLAGS "D"
GROUP 2
END END
NUMBER F_SOGG 15 GROUPBOX DLG_NULL 78 4
BEGIN BEGIN
PROMPT 2 18 "Somme soggette a ritenuta " PROMPT 1 3 "@bProspetto F"
END
NUMBER DLG_NULL 5
BEGIN
PROMPT 1 80 "CODDITTA"
FLAGS "D"
FIELD PROSP_F->CODDITTA
GROUP 1
END
LIST DLG_NULL 1
BEGIN
PROMPT 1 80 "TIPOPRO"
FLAGS "D"
ITEM "F|F"
FIELD PROSP_F->TIPOPRO
END
LIST DLG_NULL 1
BEGIN
PROMPT 1 80 "NPROG"
FLAGS "D"
ITEM "1|1"
FIELD PROSP_F->NPROG
END
NUMBER F_PLUSVAL 15
BEGIN
PROMPT 2 4 "Ammontare delle plusvalenze imponibili "
PICTURE "." PICTURE "."
FIELD LF_QUAF->F_SOGRIT FIELD PROSP_F->SOGRIT
END
NUMBER F_ALI 5
BEGIN
PROMPT 51 18 "Aliquota "
PICTURE ".2"
NUM_EXPR {(#THIS>=0) && (#THIS<=100)}
FIELD LF_QUAF->F_ALIQUOTA
END END
NUMBER F_ROP 15 NUMBER F_ROP 15
BEGIN BEGIN
PROMPT 2 19 "Ritenuta operata " PROMPT 2 5 "Ritenuta operata "
PICTURE "." PICTURE "."
FIELD LF_QUAF->F_ROPE FIELD PROSP_F->ROPE
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 8 "@bProspetto G"
END
NUMBER DLG_NULL 5
BEGIN
PROMPT 1 80 "CODDITTA"
FLAGS "D"
FIELD PROSP_G->CODDITTA
GROUP 1
END
LIST DLG_NULL 1
BEGIN
PROMPT 1 80 "TIPOPRO"
FLAGS "D"
ITEM "G|G"
FIELD PROSP_G->TIPOPRO
END
LIST DLG_NULL 1
BEGIN
PROMPT 1 80 "NPROG"
FLAGS "D"
ITEM "1|1"
FIELD PROSP_G->NPROG
END
NUMBER G_PROVENTI 15
BEGIN
PROMPT 2 9 "Ammontare dei proventi imponibili "
PICTURE "."
FIELD PROSP_G->SOGRIT
END
NUMBER G_ROP 15
BEGIN
PROMPT 2 10 "Ritenuta operata "
PICTURE "."
FIELD PROSP_G->ROPE
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 13 "@bProspetto H"
END
NUMBER DLG_NULL 5
BEGIN
PROMPT 1 80 "CODDITTA"
FLAGS "D"
FIELD PROSP_H->CODDITTA
GROUP 1
END
LIST DLG_NULL 1
BEGIN
PROMPT 1 80 "TIPOPRO"
FLAGS "D"
ITEM "H|H"
FIELD PROSP_H->TIPOPRO
END
LIST DLG_NULL 1
BEGIN
PROMPT 1 80 "NPROG"
FLAGS "D"
ITEM "1|1"
FIELD PROSP_H->NPROG
END
NUMBER H_PLUSVAL 15
BEGIN
PROMPT 2 14 "Ammontare delle plusvalenze imponibili "
PICTURE "."
FIELD PROSP_H->SOGRIT
END
NUMBER H_ROP 15
BEGIN
PROMPT 2 15 "Prelievo operato "
PICTURE "."
FIELD PROSP_H->ROPE
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK
#include "771231b.uml" // mask prospetto A #include "771231b.uml" // prospetto A
#include "771231c.uml" // prospetto B #include "771231b.uml" // prospetto B
#include "771231c.uml" // prospetto C #include "771231b.uml" // prospetto C
#include "771231c.uml" // prospetto D

View File

@ -1,90 +1,87 @@
// 771231b.uml - quadro F prospetto A // 771231b.uml - quadro F prospetto A-B-C
PAGE "Prospetto A" -1 -1 76 12 PAGE "" -1 -1 52 9
NUMBER 101 2 NUMBER 101 2
BEGIN BEGIN
PROMPT 1 1 "Causale " PROMPT 1 1 "Causale "
USE %CA7 SELECT (S1="F") USE %CA7 SELECT (S1="F")
VALIDATE REQIF_FUNC 6 102 103 104 105 106 107
INPUT CODTAB 101 INPUT CODTAB 101
DISPLAY "Codice " CODTAB DISPLAY "Codice " CODTAB
DISPLAY "Descrizione @60" S0 DISPLAY "Descrizione @35" S0
DISPLAY "Codice tributo" I0 DISPLAY "Codice tributo" I0
DISPLAY "Articolo di bilancio" I3 DISPLAY "Articolo di bilancio" I3
OUTPUT 101 CODTAB OUTPUT 101 CODTAB
OUTPUT 102 S0 OUTPUT 102 S0
OUTPUT 103 R0 OUTPUT 103 R0
FLAGS "Z" CHECKTYPE SEARCH
WARNING "Manca la causale" FLAGS "Z"
FIELD CODTAB
ADD RUN 773mod -3 %CA7 ADD RUN 773mod -3 %CA7
GROUP 1 GROUP 1
END END
STRING 102 60 STRING 102 35
BEGIN BEGIN
PROMPT 15 1 "" PROMPT 15 1 ""
FLAGS "D" USE %CA7 KEY 2 SELECT (S1="F")
INPUT S0 102
DISPLAY "Descrizione @35" S0
DISPLAY "Codice " CODTAB
DISPLAY "Codice tributo" I0
DISPLAY "Articolo di bilancio" I3
COPY OUTPUT 101
VALIDATE REQIF_FUNC 2 103 104
FIELD S0
WARNING "Descrizione obbligatoria"
GROUP 1 GROUP 1
END END
NUMBER 103 6 NUMBER 103 6
BEGIN BEGIN
PROMPT 1 3 "Aliquota applicata " PROMPT 1 3 "Aliquota applicata "
PICTURE ".2" PICTURE ".2"
NUM_EXPR {(#THIS>=0) && (#THIS<=100)} NUM_EXPR {(#103>=0) && (#103<=100)}
FIELD R0
GROUP 1 GROUP 1
END END
NUMBER 104 15 NUMBER 104 15
BEGIN BEGIN
PROMPT 1 4 "Somme soggette a ritenuta " PROMPT 1 4 "Somme soggette a ritenuta "
PICTURE "." PICTURE "."
GROUP 1 GROUP 1
END END
NUMBER 105 15 NUMBER 105 15
BEGIN BEGIN
PROMPT 1 5 "Ritenuta operata " PROMPT 1 5 "Ritenuta operata "
PICTURE "." PICTURE "."
GROUP 1 GROUP 1
END END
NUMBER 106 15 NUMBER 106 15
BEGIN BEGIN
PROMPT 1 6 "Totale acconti " PROMPT 1 6 "Somma versata "
PICTURE "." FLAGS "D"
PICTURE "."
GROUP 1 GROUP 1
END END
NUMBER 107 15 BUTTON DLG_OK 10 2
BEGIN BEGIN
PROMPT 1 7 "Versamento a saldo " PROMPT -13 -1 ""
PICTURE "."
GROUP 1
END END
NUMBER 108 15 BUTTON DLG_CANCEL 10 2
BEGIN BEGIN
PROMPT 1 8 "Somma versata in eccedenza " PROMPT -23 -1 ""
PICTURE "."
GROUP 1
END END
BUTTON DLG_OK 9 2 BUTTON DLG_AZZERA 10 2
BEGIN BEGIN
PROMPT -13 -1 "" PROMPT -33 -1 "A~zzera"
END MESSAGE RESET,1@
BUTTON DLG_CANCEL 9 2
BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@
END END
ENDPAGE ENDPAGE

View File

@ -11,60 +11,40 @@ BEGIN
PROMPT 1 0 "" PROMPT 1 0 ""
END END
NUMBER F_CODDITTA 5 NUMBER DLG_CODDITTA 5
BEGIN BEGIN
PROMPT 3 1 "Ditta " PROMPT 3 1 "Ditta "
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA INPUT CODDITTA DLG_CODDITTA
OUTPUT F_RAGDITTA RAGSOC OUTPUT DLG_RAGDITTA RAGSOC
FIELD LF_QUAF1->CODDITTA FIELD LF_QUAF1->CODDITTA
KEY 1 KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
FLAGS "GRD" FLAGS "GRD"
END END
STRING F_RAGDITTA 50 STRING DLG_RAGDITTA 50
BEGIN BEGIN
PROMPT 17 1 "Ragione " PROMPT 17 1 "Ragione "
FLAGS "D" FLAGS "D"
END END
GROUPBOX DLG_NULL 0 4 SPREADSHEET F_A 0 15
BEGIN BEGIN
PROMPT 1 3 "@bProspetto A" PROMPT 0 4 ""
END ITEM "Tipo"
ITEM "Codice"
NUMBER F_A1 15 ITEM "Denominazione@50"
BEGIN
PROMPT 2 4 "Ammontare complessivo delle plusvalenze imponibili "
PICTURE "."
FIELD LF_QUAF1->F1_A1
END
NUMBER F_A2 15
BEGIN
PROMPT 2 5 "Ritenuta operata "
PICTURE "."
FIELD LF_QUAF1->F1_A2
END
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bProspetto B"
END
SPREADSHEET F_B 78 8
BEGIN
PROMPT 0 8 ""
ITEM "Causale" ITEM "Causale"
ITEM "Descrizione@50" ITEM "Descrizione@35"
ITEM "Aliquota" ITEM "Aliquota"
ITEM "Sogg. a rit.@15" ITEM "Sogg. a rit.@15"
ITEM "Ritenuta@15" ITEM "Ritenuta@15"
ITEM "Somma versata@15"
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK
#include "771232b.uml" // mask prospetto B #include "771232b.uml" // mask prospetto A

View File

@ -1,69 +1,123 @@
// 771232b.uml - quadro F1 prospetto B // 771232b.uml - quadro F1 prospetto A
PAGE "Prospetto B" -1 -1 76 9 PAGE "" -1 -1 54 10
NUMBER 101 2 LIST 101 10
BEGIN BEGIN
PROMPT 1 1 "Causale " PROMPT 1 1 "Tipo persona "
ITEM "F|Fisica"
ITEM "G|Giuridica"
END
NUMBER 102 5
BEGIN
PROMPT 39 1 "Codice "
USE LF_ANAG
INPUT TIPOA 101 SELECT
INPUT CODANAGR 102
DISPLAY "Tipo" TIPOA
DISPLAY "Codice" CODANAGR
DISPLAY "Denominazione@50" RAGSOC
OUTPUT 102 CODANAGR
OUTPUT 103 RAGSOC
CHECKTYPE NORMAL
ADD RUN ba4 -1
END
STRING 103 50
BEGIN
PROMPT 1 2 ""
USE LF_ANAG KEY 2
INPUT TIPOA 101 SELECT
INPUT RAGSOC 103
DISPLAY "Tipo" TIPOA
DISPLAY "Denominazione@50" RAGSOC
DISPLAY "Codice" CODANAGR
COPY OUTPUT 102
CHECKTYPE NORMAL
ADD RUN ba4 -1
END
NUMBER 104 2
BEGIN
PROMPT 1 3 "Causale "
USE %CA7 SELECT (S1="F1") USE %CA7 SELECT (S1="F1")
VALIDATE REQIF_FUNC 3 102 103 104 INPUT CODTAB 104
INPUT CODTAB 101
DISPLAY "Codice " CODTAB DISPLAY "Codice " CODTAB
DISPLAY "Descrizione @60" S0 DISPLAY "Descrizione @35" S0
DISPLAY "Codice tributo" I0 DISPLAY "Codice tributo" I0
DISPLAY "Articolo di bilancio" I3 DISPLAY "Articolo di bilancio" I3
OUTPUT 101 CODTAB OUTPUT 104 CODTAB
OUTPUT 102 S0 OUTPUT 105 S0
OUTPUT 103 R0 OUTPUT 106 R0
FLAGS "Z" CHECKTYPE SEARCH
WARNING "Manca la causale" FLAGS "Z"
FIELD CODTAB
ADD RUN 773mod -3 %CA7 ADD RUN 773mod -3 %CA7
GROUP 1 GROUP 1
END END
STRING 102 60 STRING 105 35
BEGIN BEGIN
PROMPT 15 1 "" PROMPT 16 3 ""
FLAGS "D" USE %CA7 KEY 2 SELECT (S1="F1")
INPUT S0 105
DISPLAY "Descrizione @35" S0
DISPLAY "Codice " CODTAB
DISPLAY "Codice tributo" I0
DISPLAY "Articolo di bilancio" I3
COPY OUTPUT 104
VALIDATE REQIF_FUNC 2 106 107
FIELD S0
WARNING "Descrizione obbligatoria"
GROUP 1 GROUP 1
END END
NUMBER 103 6 NUMBER 106 6
BEGIN BEGIN
PROMPT 1 3 "Aliquota applicata " PROMPT 1 4 "Aliquota applicata "
PICTURE ".2" PICTURE ".2"
NUM_EXPR {(#THIS>=0) && (#THIS<=100)} NUM_EXPR {(#106>=0) && (#106<=100)}
FIELD R0
GROUP 1 GROUP 1
END END
NUMBER 104 15 NUMBER 107 15
BEGIN BEGIN
PROMPT 1 4 "Somme soggette a ritenuta " PROMPT 1 5 "Somme soggette a ritenuta "
PICTURE "." PICTURE "."
GROUP 1 GROUP 1
END END
NUMBER 105 15 NUMBER 108 15
BEGIN BEGIN
PROMPT 1 5 "Ritenuta operata " PROMPT 1 6 "Ritenuta operata "
PICTURE "." PICTURE "."
GROUP 1 GROUP 1
END END
BUTTON DLG_OK 9 2 NUMBER 109 15
BEGIN BEGIN
PROMPT -13 -1 "" PROMPT 1 7 "Somme corrisposte "
PICTURE "."
GROUP 1
FLAGS "D"
END END
BUTTON DLG_CANCEL 9 2 BUTTON DLG_OK 10 2
BEGIN BEGIN
PROMPT -23 -1 "" PROMPT -13 -1 ""
END END
BUTTON DLG_AZZERA 9 2 BUTTON DLG_CANCEL 10 2
BEGIN BEGIN
PROMPT -33 -1 "A~zzera" PROMPT -23 -1 ""
MESSAGE RESET,1@ END
BUTTON DLG_AZZERA 10 2
BEGIN
PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@
END END
ENDPAGE ENDPAGE

View File

@ -11,19 +11,19 @@ BEGIN
PROMPT 1 0 "" PROMPT 1 0 ""
END END
NUMBER F_CODDITTA 5 NUMBER DLG_CODDITTA 5
BEGIN BEGIN
PROMPT 3 1 "Ditta " PROMPT 3 1 "Ditta "
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA INPUT CODDITTA DLG_CODDITTA
OUTPUT F_RAGDITTA RAGSOC OUTPUT DLG_RAGDITTA RAGSOC
FIELD LF_QUAF2->CODDITTA FIELD LF_QUAF2->CODDITTA
KEY 1 KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
FLAGS "GRD" FLAGS "GRD"
END END
STRING F_RAGDITTA 50 STRING DLG_RAGDITTA 50
BEGIN BEGIN
PROMPT 17 1 "Ragione " PROMPT 17 1 "Ragione "
FLAGS "D" FLAGS "D"
@ -34,14 +34,15 @@ BEGIN
PROMPT 1 3 "@bProspetto delle somme soggette a ritenuta e delle ritenute operate " PROMPT 1 3 "@bProspetto delle somme soggette a ritenuta e delle ritenute operate "
END END
SPREADSHEET F_B 0 8 SPREADSHEET F_A 0 16
BEGIN BEGIN
PROMPT 0 4 "" PROMPT 0 4 ""
ITEM "Causale" ITEM "Causale"
ITEM "Denominazione del fondo@60" ITEM "Denominazione del fondo@35"
ITEM "Aliquota" ITEM "Aliquota"
ITEM "Sogg. a rit.@15" ITEM "Sogg. a rit.@15"
ITEM "Ritenuta@15" ITEM "Ritenuta@15"
ITEM "Somma versata@15"
END END
ENDPAGE ENDPAGE

View File

@ -1,12 +1,12 @@
// 771232b.uml - quadro F2 prospetto B // 771232b.uml - quadro F2 prospetto
PAGE "Prospetto B" -1 -1 76 9 PAGE "Prospetto" -1 -1 76 9
NUMBER 101 2 NUMBER 101 2
BEGIN BEGIN
PROMPT 1 1 "Causale " PROMPT 1 1 "Causale "
USE %CA7 SELECT (S1="F2") USE %CA7 SELECT S1="F2"
VALIDATE REQIF_FUNC 4 102 103 104 105 VALIDATE REQIF_FUNC 3 103 104 105
INPUT CODTAB 101 INPUT CODTAB 101
DISPLAY "Codice " CODTAB DISPLAY "Codice " CODTAB
DISPLAY "Descrizione @60" S0 DISPLAY "Descrizione @60" S0
@ -15,6 +15,7 @@ BEGIN
OUTPUT 101 CODTAB OUTPUT 101 CODTAB
OUTPUT 102 S0 OUTPUT 102 S0
OUTPUT 103 R0 OUTPUT 103 R0
CHECKTYPE SEARCH
FLAGS "Z" FLAGS "Z"
WARNING "Manca la causale" WARNING "Manca la causale"
ADD RUN 773mod -3 %CA7 ADD RUN 773mod -3 %CA7
@ -24,7 +25,15 @@ END
STRING 102 60 STRING 102 60
BEGIN BEGIN
PROMPT 15 1 "" PROMPT 15 1 ""
FLAGS "D" FIELD DENCAUS
USE %CA7 KEY 2 SELECT S1="F2"
INPUT S0 102
DISPLAY "Descrizione @35" S0
DISPLAY "Codice " CODTAB
DISPLAY "Codice tributo" I0
DISPLAY "Articolo di bilancio" I3
COPY OUTPUT 101
ADD RUN 773mod -3 %CA7
GROUP 1 GROUP 1
END END
@ -32,7 +41,8 @@ NUMBER 103 6
BEGIN BEGIN
PROMPT 1 3 "Aliquota applicata " PROMPT 1 3 "Aliquota applicata "
PICTURE ".2" PICTURE ".2"
NUM_EXPR {(#THIS>=0) && (#THIS<=100)} FIELD ALIQUOTA
NUM_EXPR {(#103>=0) && (#103<=100)}
GROUP 1 GROUP 1
END END
@ -50,17 +60,25 @@ BEGIN
GROUP 1 GROUP 1
END END
BUTTON DLG_OK 9 2 NUMBER 106 15
BEGIN
PROMPT 1 5 "Somma versata "
FLAGS "D"
PICTURE "."
GROUP 1
END
BUTTON DLG_OK 10 2
BEGIN BEGIN
PROMPT -13 -1 "" PROMPT -13 -1 ""
END END
BUTTON DLG_CANCEL 9 2 BUTTON DLG_CANCEL 10 2
BEGIN BEGIN
PROMPT -23 -1 "" PROMPT -23 -1 ""
END END
BUTTON DLG_AZZERA 9 2 BUTTON DLG_AZZERA 10 2
BEGIN BEGIN
PROMPT -33 -1 "A~zzera" PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@ MESSAGE RESET,1@

View File

@ -53,7 +53,7 @@
// inizializzato in TRiporti::set() - usato in filter_func() // inizializzato in TRiporti::set() - usato in filter_func()
HIDDEN TRiporti* this_riporti = NULL; HIDDEN TRiporti* this_riporti = NULL;
HIDDEN TString80 __tmp; HIDDEN TString80 __tmp;
// Costanti usate per il calcolo dei fogli compilati // Costanti usate per il calcolo dei fogli compilati
HIDDEN const int QE2_FISICHE_PER_FOGLIO = 16; HIDDEN const int QE2_FISICHE_PER_FOGLIO = 16;
@ -198,27 +198,27 @@ void TRiporti::setta_flag_quadri_comp(const long codditta, const int quadro, con
if (ha_dichiarante || sono_dichiarante) if (ha_dichiarante || sono_dichiarante)
{ {
const long lRecno=basebis.recno(); const long lRecno=basebis.recno();
basebis.setkey(1); basebis.setkey(1);
basebis.zero(); basebis.zero();
basebis.put("TIPOQUA", COD_QUA_I_DIC); basebis.put("TIPOQUA", COD_QUA_I_DIC);
basebis.put(BSE_CODDITTA, sono_dichiarante ? codditta : ha_dichiarante); basebis.put(BSE_CODDITTA, sono_dichiarante ? codditta : ha_dichiarante);
if (basebis.read(_isequal, _lock) == NOERR) if (basebis.read(_isequal, _lock) == NOERR)
{ {
TString qcomp(basebis.get(BSE_QCOMP)); TString qcomp(basebis.get(BSE_QCOMP));
TString dep(build_fill_string(qcomp)); TString dep(build_fill_string(qcomp));
qcomp << dep; qcomp << dep;
if (almeno_una_riga) if (almeno_una_riga)
qcomp[(int)quadro] = 'X'; qcomp[(int)quadro] = 'X';
else else
qcomp[(int)quadro] = ' '; qcomp[(int)quadro] = ' ';
basebis.put(BSE_QCOMP, qcomp); basebis.put(BSE_QCOMP, qcomp);
basebis.rewrite(); basebis.rewrite();
basebis.readat(lRecno); basebis.readat(lRecno);
} }
else else
warning_box("Dichiarazione non presente: impossibile registrare il campo Quadri compilati"); warning_box("Dichiarazione non presente: impossibile registrare il campo Quadri compilati");
} }
} }
@ -460,7 +460,7 @@ bool TRiporti::riporta_I_globale(const long dich)
e0aimp += ee0aimp ; e0aimp += ee0aimp ;
e0snsrit += ee0snsrit ; e0snsrit += ee0snsrit ;
e0rope += ee0rope ; e0rope += ee0rope ;
h0codlav += hh0codlav ; h0codlav += hh0codlav ;
h0coldip += hh0coldip ; h0coldip += hh0coldip ;
c0nfcom += cc0nfcom ; c0nfcom += cc0nfcom ;
c0nlass += cc0nlass ; c0nlass += cc0nlass ;
@ -701,7 +701,7 @@ void TRiporti::calcola_riporti_A(TCursor* cur, const long dich)
TLocalisamfile base (LF_BASE); TLocalisamfile base (LF_BASE);
real totale,somme,ritenute; real totale,somme,ritenute;
bool almeno_una_riga = FALSE; bool almeno_una_riga = FALSE;
long dipendenti,num_rec; long dipendenti,num_rec;
real a0cobb,a0cnet,a0eprev,a0iitra,a0cter,a0timp,a0ilor,a0tdet,a0rter,a0rdat; real a0cobb,a0cnet,a0eprev,a0iitra,a0cter,a0timp,a0ilor,a0tdet,a0rter,a0rdat;
real a0erit,a0carr,a0aarr,a0darr,a0rarr,a0cinps,a0ciiaut,a0crimpras,a0incdet; real a0erit,a0carr,a0aarr,a0darr,a0rarr,a0cinps,a0ciiaut,a0crimpras,a0incdet;
@ -814,11 +814,11 @@ void TRiporti::calcola_riporti_A(TCursor* cur, const long dich)
base.put(BSE_A0RARR, a0rarr); base.put(BSE_A0RARR, a0rarr);
base.put("A0INCDET", a0incdet); base.put("A0INCDET", a0incdet);
base.rewrite(); base.rewrite();
TLocalisamfile basebis(LF_BASEBIS); TLocalisamfile basebis(LF_BASEBIS);
basebis.setkey(1); basebis.setkey(1);
basebis.zero(); basebis.zero();
basebis.put(BSE_CODDITTA, _codditta); basebis.put(BSE_CODDITTA, _codditta);
if (basebis.read(_isequal, _lock) == NOERR) if (basebis.read(_isequal, _lock) == NOERR)
setta_flag_quadri_comp(_codditta, A, almeno_una_riga, basebis, dich); setta_flag_quadri_comp(_codditta, A, almeno_una_riga, basebis, dich);
else else
warning_box("Lock fallito in calcola_riporti A"); warning_box("Lock fallito in calcola_riporti A");
@ -893,11 +893,11 @@ void TRiporti::calcola_riporti_A3(TCursor* cur, const long dich)
base.put(BSE_A3REPT10, a3rept10); base.put(BSE_A3REPT10, a3rept10);
base.put(BSE_A3REPT12, a3rept12); base.put(BSE_A3REPT12, a3rept12);
base.rewrite(); base.rewrite();
TLocalisamfile basebis(LF_BASEBIS); TLocalisamfile basebis(LF_BASEBIS);
basebis.setkey(1); basebis.setkey(1);
basebis.zero(); basebis.zero();
basebis.put(BSE_CODDITTA, _codditta); basebis.put(BSE_CODDITTA, _codditta);
if (basebis.read(_isequal, _lock) == NOERR) if (basebis.read(_isequal, _lock) == NOERR)
setta_flag_quadri_comp(_codditta, A3, almeno_una_riga, basebis, dich); setta_flag_quadri_comp(_codditta, A3, almeno_una_riga, basebis, dich);
else else
warning_box("Lock fallito in calcola_riporti A3"); warning_box("Lock fallito in calcola_riporti A3");
@ -1025,7 +1025,7 @@ void TRiporti::calcola_riporti_C(TCursor* cur, const long dich)
TLocalisamfile base (LF_BASE); TLocalisamfile base (LF_BASE);
real totale,somme,ritenute,rTotCSSN; real totale,somme,ritenute,rTotCSSN;
bool almeno_una_riga = FALSE; bool almeno_una_riga = FALSE;
long percipienti=0L; long percipienti=0L;
totale = ZERO; totale = ZERO;
somme = ZERO; somme = ZERO;
@ -1088,11 +1088,11 @@ void TRiporti::calcola_riporti_C(TCursor* cur, const long dich)
base.put(BSE_C0ROPE, ritenute); base.put(BSE_C0ROPE, ritenute);
base.put(BSE_C0CONTSSN, rTotCSSN); base.put(BSE_C0CONTSSN, rTotCSSN);
base.rewrite(); base.rewrite();
TLocalisamfile basebis(LF_BASEBIS); TLocalisamfile basebis(LF_BASEBIS);
basebis.setkey(1); basebis.setkey(1);
basebis.zero(); basebis.zero();
basebis.put(BSE_CODDITTA, _codditta); basebis.put(BSE_CODDITTA, _codditta);
if (basebis.read(_isequal, _lock) == NOERR) if (basebis.read(_isequal, _lock) == NOERR)
setta_flag_quadri_comp(_codditta, C, almeno_una_riga, basebis, dich); setta_flag_quadri_comp(_codditta, C, almeno_una_riga, basebis, dich);
else else
warning_box("Lock fallito in calcola_riporti C"); warning_box("Lock fallito in calcola_riporti C");
@ -1176,11 +1176,11 @@ void TRiporti::calcola_riporti_D(TCursor* cur, const long dich)
base.put(BSE_D0SNSRIT, somme); base.put(BSE_D0SNSRIT, somme);
base.put(BSE_D0ROPE, ritenute); base.put(BSE_D0ROPE, ritenute);
base.rewrite(); base.rewrite();
TLocalisamfile basebis(LF_BASEBIS); TLocalisamfile basebis(LF_BASEBIS);
basebis.setkey(1); basebis.setkey(1);
basebis.zero(); basebis.zero();
basebis.put(BSE_CODDITTA, _codditta); basebis.put(BSE_CODDITTA, _codditta);
if (basebis.read(_isequal, _lock) == NOERR) if (basebis.read(_isequal, _lock) == NOERR)
setta_flag_quadri_comp(_codditta, D, almeno_una_riga, basebis, dich); setta_flag_quadri_comp(_codditta, D, almeno_una_riga, basebis, dich);
else else
warning_box("Lock fallito in calcola_riporti D"); warning_box("Lock fallito in calcola_riporti D");
@ -1262,11 +1262,11 @@ void TRiporti::calcola_riporti_D1(TCursor* cur, const long dich)
base.put(BSE_D1SNSRIT, somme); base.put(BSE_D1SNSRIT, somme);
base.put(BSE_D1ROPE, importo); base.put(BSE_D1ROPE, importo);
base.rewrite(); base.rewrite();
TLocalisamfile basebis(LF_BASEBIS); TLocalisamfile basebis(LF_BASEBIS);
basebis.setkey(1); basebis.setkey(1);
basebis.zero(); basebis.zero();
basebis.put(BSE_CODDITTA, _codditta); basebis.put(BSE_CODDITTA, _codditta);
if (basebis.read(_isequal, _lock) == NOERR) if (basebis.read(_isequal, _lock) == NOERR)
setta_flag_quadri_comp(_codditta, D1, almeno_una_riga,basebis,dich); setta_flag_quadri_comp(_codditta, D1, almeno_una_riga,basebis,dich);
else else
warning_box("Lock fallito in calcola_riporti D1"); warning_box("Lock fallito in calcola_riporti D1");
@ -1546,24 +1546,23 @@ void TRiporti::calcola_riporti_E2(TCursor* cur, const long dich)
} }
void TRiporti::calcola_riporti_F(TCursor* cur, const long dich) void TRiporti::calcola_riporti_F(TCursor* cur, const long dich)
{ {
return; // Per ora non devo riportare una minchia: Tracciati della bega.
TLocalisamfile basebis (LF_BASEBIS); TLocalisamfile basebis (LF_BASEBIS);
TLocalisamfile* rf; TRecord_array* _prosp_a, *_prosp_b, *_prosp_c;
TRecord_array* _prosp_a, *_prosp_b, *_prosp_c, *_prosp_d;
real a_sogrit, a_rope, a_totacc, f_rope, e_rope, f_sogrit, e_sogrit; real a_sogrit, a_rope, b_sogrit, b_rope, c_sogrit, c_rope;
real b_sogrit, b_rope, c_sogrit, c_rope, d_sogrit, d_rope; real e_sogrit, e_rope, f_rope, f_sogrit;
real g_sogrit, g_rope, h_rope, h_sogrit;
real i20_1, i20_2, i20_3, i20_4, i20_5, i20_6, i21_1, i21_2, i21_3; real i20_1, i20_2, i20_3, i20_4, i20_5, i20_6, i21_1, i21_2, i21_3;
bool almeno_una_riga = FALSE; bool almeno_una_riga = FALSE;
a_sogrit = a_rope = a_totacc = ZERO;
b_sogrit = b_rope = c_sogrit = c_rope = d_sogrit = d_rope = ZERO;
f_rope = e_rope = f_sogrit = e_sogrit = ZERO;
i20_1 = i20_2 = i20_3 = i20_4 = i20_5 = i20_6 = i21_1 = i21_2 = i21_3 = ZERO;
(*cur) = 0L; (*cur) = 0L;
TRecnotype items = cur->items(); TRecnotype items = cur->items();
TString scritta(60); TString scritta(60);
scritta.format("Calcolo riporti del quadro F per la ditta %ld", _codditta); scritta.format("Calcolo riporti del quadro F per la ditta %ld", _codditta);
i20_4 = cur->curr().get_real(QF0_A1); i20_4 = cur->curr().get_real(QF0_A1);
@ -1581,9 +1580,9 @@ void TRiporti::calcola_riporti_F(TCursor* cur, const long dich)
i21_1 != ZERO || e_sogrit != ZERO || f_sogrit != ZERO || e_rope != ZERO || i21_1 != ZERO || e_sogrit != ZERO || f_sogrit != ZERO || e_rope != ZERO ||
f_rope != ZERO; f_rope != ZERO;
rf = new TLocalisamfile(LF_RIGHEF); TLocalisamfile rf(LF_RIGHEF);
TRectype dep(rf->curr()); TRectype dep(rf.curr());
dep.zero(); dep.zero();
dep.put("CODDITTA", _codditta); dep.put("CODDITTA", _codditta);
dep.put("TIPOPRO", "A"); dep.put("TIPOPRO", "A");
@ -1595,11 +1594,8 @@ void TRiporti::calcola_riporti_F(TCursor* cur, const long dich)
dep.put("TIPOPRO", "C"); dep.put("TIPOPRO", "C");
_prosp_c = new TRecord_array(dep, "NPROG"); _prosp_c = new TRecord_array(dep, "NPROG");
_prosp_c->read(dep); _prosp_c->read(dep);
dep.put("TIPOPRO", "D");
_prosp_d = new TRecord_array(dep, "NPROG");
_prosp_d->read(dep);
items = _prosp_a->last_row() + _prosp_b->last_row() + _prosp_c->last_row() + _prosp_d->last_row(); items = _prosp_a->last_row() + _prosp_b->last_row() + _prosp_c->last_row();
TProgind progn(items, scritta, FALSE, TRUE); TProgind progn(items, scritta, FALSE, TRUE);
for (int i = 1; i <= _prosp_a->last_row(); i++) for (int i = 1; i <= _prosp_a->last_row(); i++)
@ -1607,20 +1603,18 @@ void TRiporti::calcola_riporti_F(TCursor* cur, const long dich)
TRectype& r = _prosp_a->row(i, TRUE); TRectype& r = _prosp_a->row(i, TRUE);
a_sogrit += r.get_real(RQF0_SOGRIT); a_sogrit += r.get_real(RQF0_SOGRIT);
a_rope += r.get_real(RQF0_ROPE); a_rope += r.get_real(RQF0_ROPE);
a_totacc += r.get_real(RQF0_TOTACC); almeno_una_riga = TRUE;
if (!almeno_una_riga) almeno_una_riga = TRUE;
progn.addstatus(1); progn.addstatus(1);
} }
i20_1 = a_sogrit; i20_1 = a_sogrit;
i20_2 = a_rope; i20_2 = a_rope;
i20_3 = a_totacc;
for (i = 1; i <= _prosp_b->last_row(); i++) for (i = 1; i <= _prosp_b->last_row(); i++)
{ {
TRectype& r = _prosp_b->row(i, TRUE); TRectype& r = _prosp_b->row(i, TRUE);
b_sogrit += r.get_real(RQF0_SOGRIT); b_sogrit += r.get_real(RQF0_SOGRIT);
b_rope += r.get_real(RQF0_ROPE); b_rope += r.get_real(RQF0_ROPE);
if (!almeno_una_riga) almeno_una_riga = TRUE; almeno_una_riga = TRUE;
progn.addstatus(1); progn.addstatus(1);
} }
@ -1629,21 +1623,12 @@ void TRiporti::calcola_riporti_F(TCursor* cur, const long dich)
TRectype& r = _prosp_c->row(i, TRUE); TRectype& r = _prosp_c->row(i, TRUE);
c_sogrit += r.get_real(RQF0_SOGRIT); c_sogrit += r.get_real(RQF0_SOGRIT);
c_rope += r.get_real(RQF0_ROPE); c_rope += r.get_real(RQF0_ROPE);
if (!almeno_una_riga) almeno_una_riga = TRUE; almeno_una_riga = TRUE;
progn.addstatus(1);
}
for (i = 1; i <= _prosp_d->last_row(); i++)
{
TRectype& r = _prosp_d->row(i, TRUE);
d_sogrit += r.get_real(RQF0_SOGRIT);
d_rope += r.get_real(RQF0_ROPE);
if (!almeno_una_riga) almeno_una_riga = TRUE;
progn.addstatus(1); progn.addstatus(1);
} }
i21_2 += b_sogrit + c_sogrit + d_sogrit + e_sogrit + f_sogrit; i21_2 += b_sogrit + c_sogrit + e_sogrit + f_sogrit;
i21_3 += b_rope + c_rope + d_rope + e_rope + f_rope; i21_3 += b_rope + c_rope + e_rope + f_rope;
basebis.setkey(1); basebis.setkey(1);
basebis.zero(); basebis.zero();
@ -1680,7 +1665,7 @@ void TRiporti::calcola_riporti_F1(TCursor* cur, const long dich)
TRecord_array* _prosp_b; TRecord_array* _prosp_b;
real b_sogrit, b_rope; real b_sogrit, b_rope;
real i22_1, i22_2; real i22_1, i22_2;
real f1a1=ZERO, f1a2=ZERO; real f1a1=ZERO, f1a2=ZERO;
bool almeno_una_riga = FALSE; bool almeno_una_riga = FALSE;
b_sogrit = b_rope = ZERO; b_sogrit = b_rope = ZERO;
@ -1701,21 +1686,18 @@ void TRiporti::calcola_riporti_F1(TCursor* cur, const long dich)
TRectype dep(rf->curr()); TRectype dep(rf->curr());
dep.zero(); dep.zero();
dep.put("CODDITTA", _codditta); dep.put("CODDITTA", _codditta);
dep.put("TIPOPRO", "B"); // dep.put("TIPOPRO", "B");
_prosp_b = new TRecord_array(dep, "NPROG"); _prosp_b = new TRecord_array(dep, "NPROG");
_prosp_b->read(dep); _prosp_b->read(dep);
items = _prosp_b->last_row(); items = _prosp_b->last_row();
TProgind progn(items, scritta, FALSE, TRUE); TProgind progn(items, scritta, FALSE, TRUE);
i22_1 = cur->curr().get_real(QF1_A1);
i22_2 = cur->curr().get_real(QF1_A2);
for (int i = 1; i <= _prosp_b->last_row(); i++) for (int i = 1; i <= _prosp_b->last_row(); i++)
{ {
TRectype& r = _prosp_b->row(i, TRUE); TRectype& r = _prosp_b->row(i, TRUE);
b_sogrit += r.get_real(RQF1_SOGRIT); b_sogrit += r.get_real(QUF_SOGRIT);
b_rope += r.get_real(RQF1_ROPE); b_rope += r.get_real(QUF_ROPE);
if (!almeno_una_riga) almeno_una_riga = TRUE; if (!almeno_una_riga) almeno_una_riga = TRUE;
progn.addstatus(1); progn.addstatus(1);
} }
@ -2010,12 +1992,12 @@ void TRiporti::calcola_riporti_B (TCursor* cur, const long dich)
TLocalisamfile base (LF_BASE); TLocalisamfile base (LF_BASE);
real c3,c4,c5,c6,c7,c8,c9,c10; real c3,c4,c5,c6,c7,c8,c9,c10;
real tc3,tc4,tc5,tc6,tc7,tc8,tc9,tc10; real tc3,tc4,tc5,tc6,tc7,tc8,tc9,tc10;
int c2=0; int c2=0;
long c1=0L; long c1=0L;
bool almeno_una_riga = FALSE; bool almeno_una_riga = FALSE;
int NumPerc=0; int NumPerc=0;
long fogli_comp=0L; long fogli_comp=0L;
TBit_array baGiaVisto; TBit_array baGiaVisto;
c3=c4=c5=c6=c7=c8=c9=c10=ZERO; c3=c4=c5=c6=c7=c8=c9=c10=ZERO;
tc3=tc5=tc6=tc7=tc8=tc9=tc10=ZERO; tc3=tc5=tc6=tc7=tc8=tc9=tc10=ZERO;
@ -2091,11 +2073,11 @@ void TRiporti::calcola_riporti_B (TCursor* cur, const long dich)
base.put(I9_9,tc9); base.put(I9_9,tc9);
base.put(I9_10,tc10); base.put(I9_10,tc10);
base.rewrite(); base.rewrite();
TLocalisamfile basebis(LF_BASEBIS); TLocalisamfile basebis(LF_BASEBIS);
basebis.setkey(1); basebis.setkey(1);
basebis.zero(); basebis.zero();
basebis.put(BSE_CODDITTA, _codditta); basebis.put(BSE_CODDITTA, _codditta);
if (basebis.read(_isequal, _lock) == NOERR) if (basebis.read(_isequal, _lock) == NOERR)
setta_flag_quadri_comp(_codditta, B, almeno_una_riga,basebis,dich); setta_flag_quadri_comp(_codditta, B, almeno_una_riga,basebis,dich);
else else
warning_box("Lock fallito in calcola_riporti B"); warning_box("Lock fallito in calcola_riporti B");
@ -2113,10 +2095,10 @@ void TRiporti::calcola_riporti_B1(TCursor* cur, const long dich)
TLocalisamfile base (LF_BASE); TLocalisamfile base (LF_BASE);
real c3,c4,c5; real c3,c4,c5;
real tc3,tc4,tc5; real tc3,tc4,tc5;
int c2=0; int c2=0;
bool almeno_una_riga = FALSE; bool almeno_una_riga = FALSE;
int NumPerc=0; int NumPerc=0;
long fogli_comp=0L, c1=0L; long fogli_comp=0L, c1=0L;
c3=c4=c5=ZERO; c3=c4=c5=ZERO;
tc3=tc4=tc5=ZERO; tc3=tc4=tc5=ZERO;
@ -2169,11 +2151,11 @@ void TRiporti::calcola_riporti_B1(TCursor* cur, const long dich)
base.put(I11_4,tc4); base.put(I11_4,tc4);
base.put(I11_5,tc5); base.put(I11_5,tc5);
base.rewrite(); base.rewrite();
TLocalisamfile basebis(LF_BASEBIS); TLocalisamfile basebis(LF_BASEBIS);
basebis.setkey(1); basebis.setkey(1);
basebis.zero(); basebis.zero();
basebis.put(BSE_CODDITTA, _codditta); basebis.put(BSE_CODDITTA, _codditta);
if (basebis.read(_isequal, _lock) == NOERR) if (basebis.read(_isequal, _lock) == NOERR)
setta_flag_quadri_comp(_codditta, B1, almeno_una_riga,basebis,dich); setta_flag_quadri_comp(_codditta, B1, almeno_una_riga,basebis,dich);
else else
warning_box("Lock fallito in calcola_riporti B1"); warning_box("Lock fallito in calcola_riporti B1");

View File

@ -1,37 +1,36 @@
// quadrif.h // quadrif.h
// righe f2 // righe f2
#define RQF2_SOGRIT "SOGRIT" #define RQF2_SOGRIT "SOGRIT"
#define RQF2_ROPE "ROPE" #define RQF2_ROPE "ROPE"
// righe f1 // righe f1
#define RQF1_SOGRIT "SOGRIT" #define RQF1_TIPOA "TIPOA"
#define RQF1_ROPE "ROPE" #define RQF1_CODANAGR "CODANAGR"
// f1
#define QF1_A1 "F1_A1"
#define QF1_A2 "F1_A2"
// righe f // righe f
#define RQF0_SOGRIT "SOGRIT" #define RQF0_SOGRIT "SOGRIT"
#define RQF0_ROPE "ROPE" #define RQF0_ROPE "ROPE"
#define RQF0_TOTACC "ACCONTI" #define RQF0_TOTACC "ACCONTI"
// f // f
#define QF0_A1 "A1" #define QF0_A1 "A1"
#define QF0_A2 "A2" #define QF0_A2 "A2"
#define QF0_A3 "A3" #define QF0_A3 "A3"
#define QF0_A4 "A4" #define QF0_A4 "A4"
#define QF0_ESOGRIT "E_SOGRIT" #define QF0_ESOGRIT "E_SOGRIT"
#define QF0_EROPE "E_ROPE" #define QF0_EROPE "E_ROPE"
#define QF0_FSOGRIT "F_SOGRIT" #define QF0_FSOGRIT "F_SOGRIT"
#define QF0_FROPE "F_ROPE" #define QF0_FROPE "F_ROPE"
#define QUF_CODDITTA "CODDITTA" #define QUF_CODDITTA "CODDITTA"
#define QUF_TIPOPRO "TIPOPRO" #define QUF_TIPOPRO "TIPOPRO"
#define QUF_CODCAUS "CODCAUS" #define QUF_CODCAUS "CODCAUS"
#define QUF_ALIQUOTA "ALIQUOTA" #define QUF_DENCAUS "DENCAUS"
#define QUF_SOGRIT "SOGRIT" #define QUF_ALIQUOTA "ALIQUOTA"
#define QUF_ROPE "ROPE" #define QUF_SOGRIT "SOGRIT"
#define QUF_ACCONTI "ACCONTI" #define QUF_ROPE "ROPE"
#define QUF_VERSECC "VERSECC" #define QUF_ACCONTI "ACCONTI"
#define QUF_VERSALDO "VERSALDO" #define QUF_VERSECC "VERSECC"
#define QUF_NPROG "NPROG" #define QUF_VERSALDO "VERSALDO"
#define QUF_FCAUS "F_CODCAUS" #define QUF_NPROG "NPROG"
#define QUF_FCAUS "F_CODCAUS"