Continuano le correzioni degli errori di ritorno dai test XI

L.A.


git-svn-id: svn://10.65.10.50/trunk@4110 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luciano 1997-01-31 16:31:04 +00:00
parent 71683ec0ca
commit c38fa51cfe
36 changed files with 9592 additions and 9553 deletions

View File

@ -3,6 +3,7 @@
#include <msksheet.h> #include <msksheet.h>
#include <tabutil.h> #include <tabutil.h>
#include <mailbox.h> #include <mailbox.h>
#include <defmask.h>
#include "scperc.h" #include "scperc.h"
#include "rver.h" #include "rver.h"
@ -74,10 +75,10 @@ void TSchedaPercipienti::update_lasts(TMask& m)
bool TSchedaPercipienti::changing_mask(int mode) bool TSchedaPercipienti::changing_mask(int mode)
{ {
if (mode == MODE_QUERY) if ((mode == MODE_MOD) && (_mode == MODE_INS))
return _mode != MODE_QUERY; return FALSE;
else else
return TRUE; return _mode != mode;
} }
TMask* TSchedaPercipienti::get_mask(int mode) TMask* TSchedaPercipienti::get_mask(int mode)
@ -106,6 +107,7 @@ TMask* TSchedaPercipienti::load_mask(int n)
break; break;
case 1: case 1:
{ {
m->disable(DLG_FINDREC);
m->set_handler(F_DATADOC, check_handler); m->set_handler(F_DATADOC, check_handler);
m->set_handler(F_CODCAUS, check_causale); m->set_handler(F_CODCAUS, check_causale);
m->set_handler(F_SPESE, check_spese); m->set_handler(F_SPESE, check_spese);
@ -245,7 +247,11 @@ bool TSchedaPercipienti::codanagr_handler(TMask_field& f, KEY k)
char tipo = f.mask().get(F_TIPOA)[0]; char tipo = f.mask().get(F_TIPOA)[0];
TString16 codanagr(f.get()); TString16 codanagr(f.get());
if (codanagr.not_empty()) if (codanagr.not_empty())
{
if (!app().esiste_perc(f.mask(), codanagr))
return f.warning_box("Percipiente non valido");;
setta_nprog(m, variazione, codanagr); setta_nprog(m, variazione, codanagr);
}
} }
return TRUE; return TRUE;
@ -289,12 +295,12 @@ bool TSchedaPercipienti::nprog_handler(TMask_field& f, KEY key)
// f.mask().stop_run(K_AUTO_ENTER); // f.mask().stop_run(K_AUTO_ENTER);
} }
if (key == K_TAB) // if (key == K_TAB)
{ // {
if (nprog==0 || !app().esiste_perc(f.mask())) // if (!app().esiste_perc(f.mask()))
return FALSE; // return FALSE;
// f.mask().stop_run(K_AUTO_ENTER); // entra in modo modifica/inserimento // f.mask().stop_run(K_AUTO_ENTER); // entra in modo modifica/inserimento
} // }
return TRUE; return TRUE;
} }
@ -677,8 +683,8 @@ bool TSchedaPercipienti::check_compensi(TMask_field& f, KEY k)
if (app()._tot_compenso > doc_compenso) if (app()._tot_compenso > doc_compenso)
{ {
warning_box ("Il totale dei compensi non puo' superare\n" f.warning_box ("Il totale dei compensi non puo' superare\n"
"il compenso indicato nel documento"); "il compenso indicato nel documento");
return forzatura; return forzatura;
} }
@ -695,8 +701,8 @@ bool TSchedaPercipienti::check_spese(TMask_field& f, KEY k)
if (app()._tot_spese > doc_spese) if (app()._tot_spese > doc_spese)
{ {
warning_box ("Il totale delle spese non puo' superare\n" f.warning_box ("Il totale delle spese non puo' superare\n"
"la spesa indicata nel documento"); "la spesa indicata nel documento");
return forzatura; return forzatura;
} }
} }
@ -773,10 +779,10 @@ bool TSchedaPercipienti::check_handler(TMask_field& f, KEY k)
if (diff > ZERO) if (diff > ZERO)
if (diff > THRESOLD) if (diff > THRESOLD)
{ {
warning_box ("La differenza tra il totale dei versamenti " f.warning_box ("La differenza tra il totale dei versamenti "
"e il totale delle ritenute non puo' superare " "e il totale delle ritenute non puo' superare "
"le %s lire", THRESOLD.string()); "le %s lire", THRESOLD.string());
return TRUE; return FALSE;
} }
} }
return TRUE; return TRUE;

View File

@ -12,7 +12,7 @@
#define F_CODANAGRCOM 108 #define F_CODANAGRCOM 108
#define F_ANNODIC 109 #define F_ANNODIC 109
#define F_RICERCA 110 #define F_RICERCA 110
#define F_RAGSOC 111 //#define F_RAGSOC 111
#define F_CODANAGRPERC 112 #define F_CODANAGRPERC 112
#define F_NPROGA 113 #define F_NPROGA 113

View File

@ -1,5 +1,7 @@
#include "770100a.h" #include "770100a.h"
TOOLBAR "" 0 18 0 4 TOOLBAR "" 0 18 0 4
#include <toolbar.h>
BUTTON F_GESTPERC 22 2 BUTTON F_GESTPERC 22 2
BEGIN BEGIN
@ -7,8 +9,6 @@ BEGIN
MESSAGE RUN,775,-0,#F_CODDITTA,#F_TIPOA,#F_CODANAGR MESSAGE RUN,775,-0,#F_CODDITTA,#F_TIPOA,#F_CODANAGR
END END
#include <toolbar.h>
ENDPAGE ENDPAGE
PAGE "Scheda percipienti" -1 -1 78 21 PAGE "Scheda percipienti" -1 -1 78 21
@ -20,28 +20,26 @@ END
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 3 1 "Ditta " PROMPT 3 1 "Ditta "
FLAGS "RDG" FLAGS "RDGP"
KEY 1 KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA OUTPUT F_RAGDITTA RAGSOC
DISPLAY "Ragione sociale @50" RAGSOC FIELD LF_SCPERC->CODDITTA
OUTPUT F_RAGDITTA RAGSOC
FIELD LF_SCPERC->CODDITTA
END END
STRING F_RAGDITTA 50 STRING F_RAGDITTA 50
BEGIN BEGIN
PROMPT 17 1 "Ragione " PROMPT 17 1 "Ragione "
FLAGS "D" FLAGS "DP"
END END
NUMBER F_ANNODIC 4 NUMBER F_ANNODIC 4
BEGIN BEGIN
PROMPT 52 4 "Anno dichiarazione " PROMPT 52 3 "Anno dichiarazione "
FLAGS "DR" FLAGS "DRP"
END END
TEXT DLG_NULL TEXT DLG_NULL
@ -99,18 +97,11 @@ BEGIN
OUTPUT F_CODANAGRCOM CODANAGR OUTPUT F_CODANAGRCOM CODANAGR
OUTPUT F_RAGSOCCOM RAGSOC OUTPUT F_RAGSOCCOM RAGSOC
MESSAGE COPY, F_CODANAGR MESSAGE COPY, F_CODANAGR
MESSAGE COPY, F_CODANAGRPERC
ADD RUN BA4 -1 ADD RUN BA4 -1
FLAGS "H" FLAGS "H"
GROUP 1 GROUP 1
END END
STRING F_RAGSOC 50
BEGIN
PROMPT 25 8 ""
FLAGS "H"
END
STRING F_RAGSOCCOM 50 STRING F_RAGSOCCOM 50
BEGIN BEGIN
PROMPT 25 8 "" PROMPT 25 8 ""
@ -123,7 +114,6 @@ BEGIN
OUTPUT F_CODANAGRCOM CODANAGR OUTPUT F_CODANAGRCOM CODANAGR
OUTPUT F_TIPOA TIPOA OUTPUT F_TIPOA TIPOA
ADD RUN BA4 -1 ADD RUN BA4 -1
MESSAGE COPY, F_RAGSOC
MESSAGE COPY, F_RAGSOCPER MESSAGE COPY, F_RAGSOCPER
GROUP 1 GROUP 1
END END
@ -133,7 +123,6 @@ BEGIN
PROMPT 25 8 "" PROMPT 25 8 ""
FLAGS "D" FLAGS "D"
GROUP 2 GROUP 2
MESSAGE COPY, F_RAGSOC
END END
NUMBER F_NPROG 6 NUMBER F_NPROG 6

View File

@ -7,7 +7,8 @@ PAGE "Scheda percipienti" -1 -1 78 20
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
FLAGS "AH" PROMPT 80 80 ""
FLAGS "D"
FIELD LF_SCPERC->CODDITTA FIELD LF_SCPERC->CODDITTA
KEY 1 KEY 1
END END
@ -24,28 +25,16 @@ END
NUMBER F_CODANAGR 5 NUMBER F_CODANAGR 5
BEGIN BEGIN
PROMPT 14 0 "" PROMPT 12 0 ""
FIELD LF_SCPERC->CODANAGR FIELD LF_SCPERC->CODANAGR
MESSAGE COPY, F_CODANAGR_G MESSAGE COPY, F_CODANAGR_G
KEY 1 KEY 1
FLAGS "D" FLAGS "D"
END END
NUMBER F_CODANAGR_G 5 STRING F_RAGSOC2 50
BEGIN BEGIN
PROMPT 17 0 "" PROMPT 19 0 ""
USE LF_ANAG KEY 1
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT F_RAGSOC2 RAGSOC
CHECKTYPE REQUIRED
FLAGS "HG"
END
STRING F_RAGSOC2 45
BEGIN
PROMPT 24 0 ""
FLAGS "D" FLAGS "D"
END END
@ -95,40 +84,6 @@ BEGIN
ADD RUN 773mod -3 %CA7 ADD RUN 773mod -3 %CA7
END END
NUMBER F_PERC_INPS 6
BEGIN
PROMPT 1 10 ""
PICTURE ".2"
FLAGS "H"
END
NUMBER F_PERC_ASS_INPS 6
BEGIN
PROMPT 1 11 ""
PICTURE ".2"
FLAGS "H"
END
NUMBER F_PERC_COMMIT_INPS 6
BEGIN
PROMPT 1 12 ""
PICTURE ".2"
FLAGS "H"
END
BOOLEAN F_FLAG_INPS
BEGIN
PROMPT 1 13 ""
FLAGS "H"
END
NUMBER F_CASSA_PREV 6
BEGIN
PROMPT 1 14 ""
PICTURE ".2"
FLAGS "H"
END
STRING F_CODQUA 2 STRING F_CODQUA 2
BEGIN BEGIN
PROMPT 12 1 "" PROMPT 12 1 ""
@ -161,32 +116,38 @@ END
BOOLEAN F_CT BOOLEAN F_CT
BEGIN BEGIN
PROMPT 22 2 "C.T." PROMPT 20 2 "C.T."
FLAGS "D" FLAGS "D"
END END
BOOLEAN F_RIT BOOLEAN F_RIT
BEGIN BEGIN
PROMPT 29 2 "Rit." PROMPT 27 2 "Rit."
FLAGS "D" FLAGS "D"
END END
NUMBER F_QUOTAIMP 6 STRING SPF_CAUSD 1
BEGIN BEGIN
PROMPT 1 1 "" PROMPT 34 2 "Causale D "
FLAGS "H" FLAGS "D"
END END
NUMBER F_PERRIT 5 STRING SPF_CAUSD1 1
BEGIN BEGIN
PROMPT 1 1 "" PROMPT 47 2 "Causale D1 "
PICTURE ".2" FLAGS "D"
FLAGS "H" END
BOOLEAN F_FORCED
BEGIN
FIELD LF_SCPERC->FORZATURA
PROMPT 65 2 "Forzatura"
HELP "Attivare questo flag per forzare la registrazione anche di dati incongruenti"
END END
DATE F_DATADOC DATE F_DATADOC
BEGIN BEGIN
PROMPT 0 3 "Data " PROMPT 0 4 "Data "
FIELD LF_SCPERC->DATADOC FIELD LF_SCPERC->DATADOC
WARNING "Manca la data del documento" WARNING "Manca la data del documento"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
@ -194,13 +155,13 @@ END
STRING F_NUMDOC 7 STRING F_NUMDOC 7
BEGIN BEGIN
PROMPT 17 3 "Numero" PROMPT 17 4 "Numero "
FIELD LF_SCPERC->NUMDOC FIELD LF_SCPERC->NUMDOC
END END
NUMBER F_COMPENS 15 NUMBER F_COMPENS 15
BEGIN BEGIN
PROMPT 32 3 "Compenso " PROMPT 33 4 "Compenso "
FIELD LF_SCPERC->COMPENSO FIELD LF_SCPERC->COMPENSO
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "R"
@ -209,7 +170,7 @@ END
NUMBER F_IVA 15 NUMBER F_IVA 15
BEGIN BEGIN
PROMPT 58 3 "Iva " PROMPT 59 4 "Iva "
FIELD LF_SCPERC->IVA FIELD LF_SCPERC->IVA
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "R"
@ -218,7 +179,7 @@ END
NUMBER F_SPESE 15 NUMBER F_SPESE 15
BEGIN BEGIN
PROMPT 0 4 "Spese " PROMPT 0 5 "Spese "
FIELD LF_SCPERC->SPESE FIELD LF_SCPERC->SPESE
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "R"
@ -227,21 +188,21 @@ END
NUMBER F_TOTDOC 15 NUMBER F_TOTDOC 15
BEGIN BEGIN
PROMPT 23 4 "Totale " PROMPT 23 5 "Totale "
FIELD LF_SCPERC->TOTALE FIELD LF_SCPERC->TOTALE
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "RD"
NUM_CALC {#F_COMPENS + #F_SPESE + #F_IVA} NUM_CALC {#F_COMPENS + #F_SPESE + #F_IVA}
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 48 4 "Competenza:" PROMPT 47 5 "Competenza:"
END END
NUMBER F_MESECOMP 2 NUMBER F_MESECOMP 2
BEGIN BEGIN
PROMPT 59 4 "Mese " PROMPT 58 5 "Mese "
FIELD LF_SCPERC->MESEC FIELD LF_SCPERC->MESEC
NUM_EXPR {(#THIS>=0) && (#THIS<13)} NUM_EXPR {(#THIS>=0) && (#THIS<13)}
WARNING "Mese non valido" WARNING "Mese non valido"
@ -251,40 +212,21 @@ END
NUMBER F_ANNOCOMP 4 NUMBER F_ANNOCOMP 4
BEGIN BEGIN
PROMPT 68 4 "Anno " PROMPT 67 5 "Anno "
FIELD LF_SCPERC->ANNOC FIELD LF_SCPERC->ANNOC
NUM_EXPR {(#THIS==0)||((#THIS>1900)&&(#THIS<2100))} NUM_EXPR {(#THIS==0)||((#THIS>1900)&&(#THIS<2100))}
WARNING "Anno non valido" WARNING "Anno non valido"
HELP "Inserire l'anno di competenza" HELP "Inserire l'anno di competenza"
END END
NUMBER F_TOTRIT 15
BEGIN
PROMPT 53 5 ""
FIELD LF_SCPERC->TOTRIT
FLAGS "H"
END
STRING SPF_CAUSD 1
BEGIN
PROMPT 38 2 "Causale D "
FLAGS "D"
END
STRING SPF_CAUSD1 1
BEGIN
PROMPT 52 2 "Causale D1 "
FLAGS "D"
END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 5 "@bPagamenti" PROMPT 1 7 "@bPagamenti"
END END
SPREADSHEET F_PAGAMENTI 0 6 SPREADSHEET F_PAGAMENTI 79 5
BEGIN BEGIN
PROMPT 0 6 "" PROMPT 0 8 ""
ITEM "Data@10" ITEM "Data@10"
ITEM "Compenso@15" ITEM "Compenso@15"
ITEM "Spese@15" ITEM "Spese@15"
@ -298,12 +240,12 @@ END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 13 "@bVersamenti" PROMPT 1 14 "@bVersamenti"
END END
SPREADSHEET F_VERSAMENTI 79 5 SPREADSHEET F_VERSAMENTI 79 5
BEGIN BEGIN
PROMPT 0 14 "" PROMPT 0 15 ""
ITEM "1015" ITEM "1015"
ITEM "Data@10" ITEM "Data@10"
ITEM "Luogo" ITEM "Luogo"
@ -314,11 +256,79 @@ BEGIN
ITEM "Ritenuta@15" ITEM "Ritenuta@15"
END END
BOOLEAN F_FORCED // MAI VISUALIZZATO
NUMBER F_CODANAGR_G 5
BEGIN BEGIN
FIELD LF_SCPERC->FORZATURA PROMPT 80 80 ""
PROMPT 1 20 "Forzatura" USE LF_ANAG KEY 1
HELP "Attivare questo flag per forzare la registrazione anche di dati incongruenti" INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT F_RAGSOC2 RAGSOC
CHECKTYPE REQUIRED
FLAGS "HG"
END
// MAI VISUALIZZATO
NUMBER F_PERC_INPS 6
BEGIN
PROMPT 80 80 ""
PICTURE ".2"
FLAGS "H"
END
// MAI VISUALIZZATO
NUMBER F_PERC_ASS_INPS 6
BEGIN
PROMPT 80 80 ""
PICTURE ".2"
FLAGS "H"
END
// MAI VISUALIZZATO
NUMBER F_PERC_COMMIT_INPS 6
BEGIN
PROMPT 80 80 ""
PICTURE ".2"
FLAGS "H"
END
// MAI VISUALIZZATO
BOOLEAN F_FLAG_INPS
BEGIN
PROMPT 80 80 ""
FLAGS "H"
END
// MAI VISUALIZZATO
NUMBER F_CASSA_PREV 6
BEGIN
PROMPT 80 80 ""
PICTURE ".2"
FLAGS "H"
END
// MAI VISUALIZZATO
NUMBER F_QUOTAIMP 6
BEGIN
PROMPT 80 80 ""
FLAGS "H"
END
// MAI VISUALIZZATO
NUMBER F_PERRIT 5
BEGIN
PROMPT 80 80 ""
PICTURE ".2"
FLAGS "H"
END
// MAI VISUALIZZATO
NUMBER F_TOTRIT 15
BEGIN
PROMPT 80 80 ""
FIELD LF_SCPERC->TOTRIT
FLAGS "H"
END END
ENDPAGE ENDPAGE

View File

@ -100,7 +100,7 @@ END
BUTTON DLG_AZZERAPAG 9 2 BUTTON DLG_AZZERAPAG 9 2
BEGIN BEGIN
PROMPT -33 -1 "Azzera" PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@ MESSAGE RESET,1@
END END

View File

@ -131,7 +131,7 @@ END
NUMBER 107 6 NUMBER 107 6
BEGIN BEGIN
PROMPT 2 6 "Progressivo per versamento banca " PROMPT 2 6 "Progressivo per versamento banca "
FLAGS "Z" FLAGS "ZG"
GROUP 2 6 GROUP 2 6
END END
@ -167,7 +167,7 @@ END
BUTTON DLG_AZZERA 9 2 BUTTON DLG_AZZERA 9 2
BEGIN BEGIN
PROMPT -34 -1 "Azzera" PROMPT -34 -1 "A~zzera"
MESSAGE RESET,1@|RESET,2@|RESET,3@|RESET,101 MESSAGE RESET,1@|RESET,2@|RESET,3@|RESET,101
END END

View File

@ -131,9 +131,16 @@ bool TSchedaPercipienti::vers_notify(TSheet_field& s, int r, KEY k)
{ {
switch(k) switch(k)
{ {
// Pulisco descrizioni luogo e tipo versamento (solo se non gia' indicati!)
// Inserimento riga
case K_INS:
// Impedisce inserimento di nuove righe
return FALSE;
// Inizio modifica riga
case K_SPACE: case K_SPACE:
{ {
// Pulisco descrizioni luogo e tipo versamento (solo se non gia' indicati!)
TSheet_field& vers = app().vers(); TSheet_field& vers = app().vers();
TMask& mp = vers.sheet_mask(); TMask& mp = vers.sheet_mask();
TString16 tipo(mp.get(F_TIPOVERS)); TString16 tipo(mp.get(F_TIPOVERS));
@ -144,14 +151,7 @@ bool TSchedaPercipienti::vers_notify(TSheet_field& s, int r, KEY k)
mp.reset(71); mp.reset(71);
break; break;
} }
case K_INS:
{
// Aggiorna NUMVERS nella riga aggiunta
/* TSheet_field& vers = app().vers();
TToken_string& riga = vers.row(r);
riga.add(++(app()._lastvers), 7);
break;*/
}
default: default:
break; break;
} }
@ -162,23 +162,13 @@ bool TSchedaPercipienti::pags_notify(TSheet_field& s, int r, KEY k)
{ {
switch(k) switch(k)
{ {
// Pulisco i buffer di confronto
case K_ENTER: // Inserimento riga
__impo = ZERO;
__compe = ZERO;
__percra = ZERO;
__rite = "";
break;
case K_INS: case K_INS:
{ // Impedisce inserimento di nuove righe
// Aggiorna NUMVERS e NUMPAG nella riga aggiunta return FALSE;
/*
TSheet_field& pags = app().pags(); // Inizio modifica riga
TToken_string& riga = pags.row(r);
riga.add(-1, 7);
riga.add(++(app()._lastpag), 8);
break; */
}
case K_SPACE: case K_SPACE:
{ {
app()._azzerato_pag = FALSE; app()._azzerato_pag = FALSE;
@ -206,6 +196,16 @@ bool TSchedaPercipienti::pags_notify(TSheet_field& s, int r, KEY k)
fld.check_type(CHECK_NONE); fld.check_type(CHECK_NONE);
break; break;
} }
// Fine modifica di una riga
case K_ENTER:
// Pulisco i buffer di confronto
__impo = ZERO;
__compe = ZERO;
__percra = ZERO;
__rite = "";
break;
default: default:
break; break;
} }
@ -1031,7 +1031,7 @@ bool TSchedaPercipienti::imponibile_handler(TMask_field& f, KEY k)
if (k == K_TAB) if (k == K_TAB)
{ {
const real imponibile(f.mask().get(MPAG_IMPONIBILE)); const real imponibile(f.mask().get(MPAG_IMPONIBILE));
const bool forza_ricalcolo = __impo != ZERO ? imponibile != __impo : FALSE; const bool forza_ricalcolo = __impo != imponibile;
if (__impo != imponibile) if (__impo != imponibile)
__impo = imponibile; __impo = imponibile;
if (forza_ricalcolo) if (forza_ricalcolo)

View File

@ -27,24 +27,24 @@
#define MPAG_SPESA 103 #define MPAG_SPESA 103
#define MPAG_IMPONIBILE 104 #define MPAG_IMPONIBILE 104
#define MPAG_PERCRA 105 #define MPAG_PERCRA 105
#define MPAG_RITPAG 106 #define MPAG_RITPAG 106
#define MPAG_INPSPERC 107 #define MPAG_INPSPERC 107
#define MPAG_INPSCOMP 108 #define MPAG_INPSCOMP 108
#define MPAG_NETTO 109 #define MPAG_NETTO 109
// Id della maschera di edit dello sheet versamenti // Id della maschera di edit dello sheet versamenti
#define F_VERS_1015 101 #define F_VERS_1015 101
#define F_DATAVERS 102 #define F_DATAVERS 102
#define F_LUOVERS 103 #define F_LUOVERS 103
#define F_TIPOVERS 104 #define F_TIPOVERS 104
#define F_RITVERS 108 #define F_ABI 105 // abi e cab
#define F_ABI 105 // abi e cab #define F_CAB 72
#define F_CAB 72 #define SM_PROGRBANCA 107
#define SM_PROGRBANCA 107 #define F_RITVERS 108
// Posizioni nella riga // Posizioni nella riga
const int SS_POS_NUMVERS = 8; const int SS_POS_NUMVERS = 8;
const int SS_POS_RITPAG = 5; const int SS_POS_RITPAG = 5;
const int SS_POS_NRIGA = 5; const int SS_POS_NRIGA = 5;
const int SS_POS_NVER = 6; const int SS_POS_NVER = 6;
const int SS_POS_RITVERS = 7; const int SS_POS_RITVERS = 7;
@ -52,7 +52,7 @@ const int SS_POS_RITVERS = 7;
// Posizioni nell'array-sheet dei pagamenti // Posizioni nell'array-sheet dei pagamenti
const int AS_POS_NRIGA = 5; const int AS_POS_NRIGA = 5;
const int AS_POS_NVER = 6; const int AS_POS_NVER = 6;
const int AS_POS_RITPAG = 4; const int AS_POS_RITPAG = 4;
#define COLONNE_SIGNIFICATIVE_SPREADSHEET_VERSAMENTI 7 #define COLONNE_SIGNIFICATIVE_SPREADSHEET_VERSAMENTI 7
#define COLONNE_SIGNIFICATIVE_SPREADSHEET_PAGAMENTI 7 #define COLONNE_SIGNIFICATIVE_SPREADSHEET_PAGAMENTI 7
@ -145,10 +145,9 @@ class TSchedaPercipienti : public TRelation_application
const char* codanagr=NULL); const char* codanagr=NULL);
protected: protected:
virtual bool user_create(); virtual bool user_create();
virtual bool user_destroy(); virtual bool user_destroy();
virtual TRelation* get_relation() const { return _rel; }
virtual TRelation* get_relation() const { return _rel; }
virtual TMask* get_mask(int mode); virtual TMask* get_mask(int mode);
virtual bool changing_mask(int mode); virtual bool changing_mask(int mode);
virtual void init_query_mode (TMask&); virtual void init_query_mode (TMask&);
@ -158,35 +157,26 @@ class TSchedaPercipienti : public TRelation_application
virtual int rewrite(const TMask& m); virtual int rewrite(const TMask& m);
virtual int write(const TMask& m); virtual int write(const TMask& m);
virtual int read(TMask& m); virtual int read(TMask& m);
virtual void on_config_change(); virtual void on_config_change();
void init_mask(TMask&); void init_mask(TMask&);
TMask* load_mask(int n);
void fill_sheet(TMask&);
bool scrivi_dati_per(TRectype& rec);
void mask2rel(const TMask& m);
void rec2row(TToken_string& r, TRectype& rec, int row);
void update_lasts(TMask& m);
TMask* load_mask(int n); void attach_pag_vers (int pag, long numvers);
void fill_sheet(TMask&); void detach_pag_vers (int pag);
bool scrivi_dati_per(TRectype& rec); void new_row(TSheet_field& ver_pag, int r, bool vers);
bool my_empty_items(TToken_string& r, bool versamenti);
void mask2rel(const TMask& m); int anno_dic() const { return _anno_dic; }
void rec2row(TToken_string& r, TRectype& rec, int row);
// void update_lasts();
void update_lasts(TMask& m);
void attach_pag_vers (int pag, long numvers);
void detach_pag_vers (int pag);
bool my_empty_items(TToken_string& r, bool versamenti);
void new_row(TSheet_field& ver_pag, int r, bool vers);
int anno_dic() const { return _anno_dic; }
public: public:
bool _flag_cg; bool _flag_cg;
void load_pag_sheet(const long numvers);
public: TTipo_coll tipo_coll() const { return _coll._tipo_coll; }
void load_pag_sheet(const long numvers);
TTipo_coll tipo_coll() const { return _coll._tipo_coll; }
void compila_testata(TMask& m); void compila_testata(TMask& m);
bool coll_variazione() const; bool coll_variazione() const;
bool coll_datanum() const { return _coll._datadoc.not_empty() && _coll._numdoc.not_empty(); } bool coll_datanum() const { return _coll._datadoc.not_empty() && _coll._numdoc.not_empty(); }
@ -195,7 +185,6 @@ class TSchedaPercipienti : public TRelation_application
TSheet_field& pags() const; TSheet_field& pags() const;
TSheet_field& vers() const; TSheet_field& vers() const;
public:
TSchedaPercipienti (); TSchedaPercipienti ();
~TSchedaPercipienti() {}; ~TSchedaPercipienti() {};
}; };

View File

@ -61,7 +61,7 @@ class TDati_anagrafici : public TApplication
virtual bool destroy(); virtual bool destroy();
virtual bool menu(MENU_TAG m); virtual bool menu(MENU_TAG m);
bool main_loop(); bool main_loop();
void registra(); KEY registra(TMask& m, bool check_dirty);
void registra_fis_giu(); void registra_fis_giu();
void registra_rappr(); void registra_rappr();
void registra_caaf(); void registra_caaf();
@ -113,7 +113,7 @@ bool TDati_anagrafici::attivita_handler(TMask_field& m, KEY k)
if (k != K_SPACE) if (k != K_SPACE)
return TRUE; return TRUE;
app().registra(); app().registra(m.mask(),FALSE);
m.mask().stop_run(K_ESC); m.mask().stop_run(K_ESC);
TString appname; TString appname;
@ -134,6 +134,7 @@ bool TDati_anagrafici::attivita_handler(TMask_field& m, KEY k)
TExternal_app a(appname); TExternal_app a(appname);
a.run(); a.run();
m.set_focus(); m.set_focus();
xvt_statbar_set("");
return TRUE; return TRUE;
} }
@ -145,7 +146,7 @@ bool TDati_anagrafici::DCditta_handler(TMask_field& f, KEY k)
else else
{ {
TMask& m = f.mask(); TMask& m = f.mask();
app().registra(); app().registra(m, FALSE);
m.stop_run(K_ESC); m.stop_run(K_ESC);
const long lDittaCaaf = m.get_long(F_DITTACAAF); const long lDittaCaaf = m.get_long(F_DITTACAAF);
TToken_string body(16); TToken_string body(16);
@ -158,6 +159,7 @@ bool TDati_anagrafici::DCditta_handler(TMask_field& f, KEY k)
TExternal_app a(cmd); TExternal_app a(cmd);
a.run(); a.run();
m.set_focus(); m.set_focus();
xvt_statbar_set("");
} }
return TRUE; return TRUE;
} }
@ -167,7 +169,7 @@ bool TDati_anagrafici::fisica_handler(TMask_field& m, KEY k)
if (k != K_SPACE) if (k != K_SPACE)
return TRUE; return TRUE;
app().registra(); app().registra(m.mask(),FALSE);
m.mask().stop_run(K_ESC); m.mask().stop_run(K_ESC);
TToken_string body(16); TToken_string body(16);
@ -183,8 +185,8 @@ bool TDati_anagrafici::fisica_handler(TMask_field& m, KEY k)
TExternal_app a(cmd); TExternal_app a(cmd);
a.run(); a.run();
m.set_focus(); m.set_focus();
xvt_statbar_set("");
return FALSE; return FALSE;
} }
@ -194,7 +196,7 @@ bool TDati_anagrafici::giuridica_handler(TMask_field& m, KEY k)
if (k != K_SPACE) if (k != K_SPACE)
return TRUE; return TRUE;
app().registra(); app().registra(m.mask(),FALSE);
m.mask().stop_run(K_ESC); m.mask().stop_run(K_ESC);
TToken_string body(16); TToken_string body(16);
@ -211,6 +213,7 @@ bool TDati_anagrafici::giuridica_handler(TMask_field& m, KEY k)
TExternal_app a(cmd); TExternal_app a(cmd);
a.run(); a.run();
m.set_focus(); m.set_focus();
xvt_statbar_set("");
return FALSE; return FALSE;
} }
@ -222,7 +225,7 @@ bool TDati_anagrafici::anagrafica_handler(TMask_field& m, KEY k)
if (k != K_SPACE) if (k != K_SPACE)
return TRUE; return TRUE;
app().registra(); app().registra(m.mask(),FALSE);
m.mask().stop_run(K_ESC); m.mask().stop_run(K_ESC);
TToken_string body(16); TToken_string body(16);
@ -244,8 +247,8 @@ bool TDati_anagrafici::anagrafica_handler(TMask_field& m, KEY k)
TExternal_app a(cmd); TExternal_app a(cmd);
a.run(); a.run();
m.set_focus(); m.set_focus();
xvt_statbar_set("");
return FALSE; return FALSE;
} }
@ -257,7 +260,7 @@ bool TDati_anagrafici::anagr_dich_handler(TMask_field& m, KEY k)
if (k != K_SPACE) if (k != K_SPACE)
return TRUE; return TRUE;
app().registra(); app().registra(m.mask(),FALSE);
m.mask().stop_run(K_ESC); m.mask().stop_run(K_ESC);
TToken_string body(16); TToken_string body(16);
@ -279,8 +282,8 @@ bool TDati_anagrafici::anagr_dich_handler(TMask_field& m, KEY k)
TExternal_app a(cmd); TExternal_app a(cmd);
a.run(); a.run();
m.set_focus(); m.set_focus();
xvt_statbar_set("");
return FALSE; return FALSE;
} }
@ -528,7 +531,6 @@ bool TDati_anagrafici::create()
_msk->set_handler(F_DITTACAAF, ditta_caaf); _msk->set_handler(F_DITTACAAF, ditta_caaf);
// bottone ditte // bottone ditte
_msk->set_handler(DCF_DITTA, DCditta_handler); _msk->set_handler(DCF_DITTA, DCditta_handler);
_msk->set_mode(NO_MODE);
} }
if (DirProf()) if (DirProf())
@ -546,6 +548,7 @@ bool TDati_anagrafici::create()
_msk->set_handler(F_BTN_FISICA, anagr_dich_handler); _msk->set_handler(F_BTN_FISICA, anagr_dich_handler);
} }
_msk->set_mode(MODE_MOD);
TString16 codditta; codditta << _codditta; TString16 codditta; codditta << _codditta;
if (codditta != "0") if (codditta != "0")
_msk->set(F_CODDITTA,codditta); _msk->set(F_CODDITTA,codditta);
@ -579,9 +582,11 @@ bool TDati_anagrafici::main_loop()
case K_ESC : case K_ESC :
break; break;
case K_QUIT : case K_QUIT :
if (registra(*_msk,TRUE) == K_ESC)
tasto = K_ESC;
break; break;
case K_SAVE : case K_SAVE :
registra(); registra(*_msk,FALSE);
break; break;
default: default:
break; break;
@ -592,22 +597,32 @@ bool TDati_anagrafici::main_loop()
return FALSE; return FALSE;
} }
void TDati_anagrafici::registra() KEY TDati_anagrafici::registra(TMask& m, bool check_dirty)
{ {
if (_ana == 'A' || _ana == 'B') KEY k = K_YES;
registra_fis_giu();
if (_ana == 'C') if (check_dirty && m.dirty())
registra_rappr(); k = yesnocancel_box("Registrare le modifiche?");
if (_ana == 'E') if (k == K_YES)
registra_caaf(); {
if (_ana == 'A' || _ana == 'B')
registra_fis_giu();
if (_ana == 'F') if (_ana == 'C')
registra_dirprof(); registra_rappr();
if (_ana == 'G') if (_ana == 'E')
registra_dativari(); registra_caaf();
if (_ana == 'F')
registra_dirprof();
if (_ana == 'G')
registra_dativari();
}
return k;
} }
void TDati_anagrafici::registra_fis_giu() void TDati_anagrafici::registra_fis_giu()

View File

@ -8,7 +8,7 @@ TOOLBAR "" 0 20 0 2
BUTTON F_FISICA 10 2 BUTTON F_FISICA 10 2
BEGIN BEGIN
PROMPT -15 -1 "~Fisiche" PROMPT -15 -1 "F~isiche"
END END
BUTTON F_ATTIVITA 10 2 BUTTON F_ATTIVITA 10 2
@ -18,7 +18,7 @@ END
BUTTON DLG_SAVEREC 10 2 BUTTON DLG_SAVEREC 10 2
BEGIN BEGIN
PROMPT -35 -1 "" PROMPT -35 -1 "~Registra"
MESSAGE EXIT,K_SAVE MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN PICTURE BMP_SAVERECDN
@ -38,7 +38,7 @@ END
ENDPAGE ENDPAGE
PAGE "Dati relativi alle persone fisiche" -1 -1 78 18 PAGE "Dichiarante" -1 -1 78 18
GROUPBOX DLG_NULL 78 4 GROUPBOX DLG_NULL 78 4
BEGIN BEGIN

View File

@ -15,7 +15,7 @@ END
BUTTON DLG_SAVEREC 10 2 BUTTON DLG_SAVEREC 10 2
BEGIN BEGIN
PROMPT -35 -1 "" PROMPT -35 -1 "~Registra"
MESSAGE EXIT,K_SAVE MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN PICTURE BMP_SAVERECDN
@ -97,20 +97,6 @@ BEGIN
FLAGS "H" FLAGS "H"
END END
/*
STRING F_ATTIV 5
BEGIN
PROMPT 1 4 "Attività "
USE %AIS
INPUT CODTAB F_ATTIV
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_DESCRATT S0
CHECKTYPE REQUIRED
FLAGS "D"
END
*/
STRING F_ATTIV 5 STRING F_ATTIV 5
BEGIN BEGIN
PROMPT 1 4 "Attività " PROMPT 1 4 "Attività "
@ -239,7 +225,7 @@ END
ENDPAGE ENDPAGE
PAGE "Dichiarante pagina 2" -1 -1 78 18 PAGE "Pag.2" -1 -1 78 18
GROUPBOX DLG_NULL 78 4 GROUPBOX DLG_NULL 78 4
BEGIN BEGIN

View File

@ -14,7 +14,7 @@ END
BUTTON DLG_SAVEREC 10 2 BUTTON DLG_SAVEREC 10 2
BEGIN BEGIN
PROMPT -35 -1 "" PROMPT -35 -1 "~Registra"
MESSAGE EXIT,K_SAVE MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN PICTURE BMP_SAVERECDN

View File

@ -4,12 +4,12 @@ TOOLBAR "" 0 20 0 2
BUTTON F_FISICA 10 2 BUTTON F_FISICA 10 2
BEGIN BEGIN
PROMPT -14 -1 "~Fisiche" PROMPT -14 -1 "F~isiche"
END END
BUTTON DLG_SAVEREC 10 2 BUTTON DLG_SAVEREC 10 2
BEGIN BEGIN
PROMPT -24 -1 "" PROMPT -24 -1 "~Registra"
MESSAGE EXIT,K_SAVE MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN PICTURE BMP_SAVERECDN

View File

@ -33,11 +33,11 @@ END
NUMBER ADF_DIP_CODDIP 6 NUMBER ADF_DIP_CODDIP 6
BEGIN BEGIN
PROMPT 1 3 "Codice dipendente " PROMPT 1 3 "Codice dipendente "
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#ADF_CODDITTA)) USE LF_DIPEND
FIELD LF_DIPEND->CODDIP FIELD LF_DIPEND->CODDIP
INPUT CODDITTA ADF_CODDITTA INPUT CODDITTA ADF_CODDITTA SELECT
INPUT CODDIP ADF_DIP_CODDIP INPUT CODDIP ADF_DIP_CODDIP
DISPLAY "Codice dipendente" CODDIP DISPLAY "Codice" CODDIP
DISPLAY "Cognome@24" COGNOME DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME DISPLAY "Nome@20" NOME
OUTPUT ADF_DIP_CODDIP CODDIP OUTPUT ADF_DIP_CODDIP CODDIP

View File

@ -413,7 +413,12 @@ bool TQuadroA::QAA2alleg_handler(TMask_field& f, KEY k)
app()._mskAllegati->set(QA2_NUM_ALL, sNumAll); app()._mskAllegati->set(QA2_NUM_ALL, sNumAll);
app()._mskAllegati->show(QA2_NUM_ALL); app()._mskAllegati->show(QA2_NUM_ALL);
} }
app()._mskAllegati->open_modal();
kAll = app()._mskAllegati->run(); kAll = app()._mskAllegati->run();
if (app()._mskAllegati->dirty() && !yesno_box("Annullare i dati inseriti"))
kAll = K_ENTER;
if (kAll==K_ENTER) if (kAll==K_ENTER)
{ {
if (app().QuadroA()) if (app().QuadroA())
@ -428,6 +433,7 @@ bool TQuadroA::QAA2alleg_handler(TMask_field& f, KEY k)
} }
app()._base->rewrite(); app()._base->rewrite();
} }
app()._mskAllegati->close_modal();
} }
return TRUE; return TRUE;
} }

View File

@ -131,13 +131,13 @@ NUMBER F_CAUSA 1
BEGIN BEGIN
PROMPT 60 6 "19 Causa " PROMPT 60 6 "19 Causa "
FIELD LF_QUAA->CAUSA FIELD LF_QUAA->CAUSA
SHEET "Codice|Descrizione@70" SHEET "Codice|Descrizione@60"
INPUT F_CAUSA INPUT F_CAUSA
ITEM " |Niente" ITEM " |Niente"
ITEM "1|Fusione (anche per incorporazione)" ITEM "1|Fusione (anche per incorporazione)"
ITEM "2|Scissione" ITEM "2|Scissione"
ITEM "3|Conferimento o cessione a titolo oneroso" ITEM "3|Conferimento o cessione a titolo oneroso"
ITEM "4|Esercizio della facolta' prevista da art.23, comma 7, D.P.R. 600/73" ITEM "4|Esercizio della facolta' prevista da art.23, comma 7..."
ITEM "5|Altro" ITEM "5|Altro"
ITEM "6|Forme pensionistiche complementari (I num.d'ordine)" ITEM "6|Forme pensionistiche complementari (I num.d'ordine)"
ITEM "7|Forme pensionistiche complementari (II num.d'ordine)" ITEM "7|Forme pensionistiche complementari (II num.d'ordine)"
@ -525,7 +525,7 @@ STRING F_CONEFF50 1
BEGIN BEGIN
PROMPT 2 11 "52 conguagli non effettuati nel 95 " PROMPT 2 11 "52 conguagli non effettuati nel 95 "
FIELD LF_QUAA->CONEFF FIELD LF_QUAA->CONEFF
SHEET "Codice|Descrizione@85" SHEET "Codice|Descrizione@60"
INPUT F_CONEFF50 INPUT F_CONEFF50
ITEM " |Niente" ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro" ITEM "A|Cessazione del rapporto di lavoro"
@ -533,7 +533,7 @@ BEGIN
ITEM "C|Decesso" ITEM "C|Decesso"
ITEM "D|Richiesta di minore secondo acconto" ITEM "D|Richiesta di minore secondo acconto"
ITEM "E|Retribuzione insufficiente" ITEM "E|Retribuzione insufficiente"
ITEM "F|Nel caso di situazioni per le quali dovrebbero essere indicati piu' codici" ITEM "F|Situaz. per le quali dovrebbero essere indicati piu' codici"
OUTPUT F_CONEFF50 OUTPUT F_CONEFF50
FLAGS "U" FLAGS "U"
GROUP G_ALL GROUP G_ALL
@ -635,8 +635,8 @@ BEGIN
ITEM "C|Decesso" ITEM "C|Decesso"
ITEM "D|Richiesta di minore secondo acconto" ITEM "D|Richiesta di minore secondo acconto"
ITEM "E|Retribuzione insufficiente" ITEM "E|Retribuzione insufficiente"
ITEM "F|Nel caso di situazioni per le quali dovrebbero essere indicati piu' codici" ITEM "F|Situaz. per le quali dovrebbero essere indicati piu' codici"
ITEM "G|Rimborso non effettuato o rimborso effettuato parzialmente" ITEM "G|Rimborso non effettuato o rimborso effettuato parzialm..."
OUTPUT F_CNEFF55 OUTPUT F_CNEFF55
FLAGS "U" FLAGS "U"
GROUP G_ALL GROUP G_ALL
@ -646,15 +646,15 @@ STRING F_RETCON56 1
BEGIN BEGIN
PROMPT 37 4 "58 Rettifica conguaglio " PROMPT 37 4 "58 Rettifica conguaglio "
FIELD LF_QUAA->RETCON FIELD LF_QUAA->RETCON
SHEET "Cod.|Descrizione@200" SHEET "Cod.|Descrizione@60"
INPUT F_RETCON56 INPUT F_RETCON56
ITEM " | " ITEM " | "
ITEM "A|Rettifica da parte dei sostituti o dei CAAF degli importi da conguagliare indicati nei mod.730-3,4 e già consegnati entro il 15.5.96 (I n. d'ordine)" ITEM "A|Rettifica importi da conguagliare... (I num. d'ordine)"
ITEM "B|Rettifica da parte dei sostituti o dei CAAF degli importi da conguagliare indicati nei mod.730-3,4 e già consegnati entro il 15.5.96 (II n. d'ordine)" ITEM "B|Rettifica importi da conguagliare... (II num. d'ordine)"
ITEM "C|Conguaglio a seguito di rettifica di una precedente comunicazione tardivamente pervenuta al sostituto" ITEM "C|Cong. a seguito rett. prec. comunicaz. tardivam. perven..."
ITEM "D|Conguaglio a seguito di rett. prec. comunic. tempestivam. pervenuta al sostituto ma per la quale non è stato effettuato il conguaglio nel mese di giugno" ITEM "D|Cong. a seguito rett. prec. comunicaz. tempestivam. perven..."
ITEM "E|Conguaglio tardivo per mod.730-4 pervenuto tardivamente" ITEM "E|Cong. tardivo per mod.730-4 pervenuto tardivamente"
ITEM "F|Conguaglio tardivo per causa dipendente dal sostituto d'imposta" ITEM "F|Cong. tardivo per causa dipendente dal sostituto d'imposta"
OUTPUT F_RETCON56 OUTPUT F_RETCON56
FLAGS "U" FLAGS "U"
END END
@ -910,22 +910,22 @@ BEGIN
PROMPT 2 6 "71 Mod.730/96 non liquidabile " PROMPT 2 6 "71 Mod.730/96 non liquidabile "
FIELD LF_QUAA->M730NLIQ FIELD LF_QUAA->M730NLIQ
FLAGS "Z" FLAGS "Z"
SHEET "Codice|Descrizione@200" SHEET "Codice|Descrizione@60"
INPUT F_SEGDICNL69 INPUT F_SEGDICNL69
ITEM " |Niente" ITEM " |Niente"
ITEM "01|Errata o incompleta compilazione dei dati anagrafici e di residenza del dichiarante" ITEM "01|Errata o incomp. compilaz. dati anagr. e di res. del dich."
ITEM "02|Errata o incompleta compilazione dei dati del coniuge e familiari a carico" ITEM "02|Errata o incomp. compilaz. dati del coniuge e fam. a carico"
ITEM "03|Errata o incompleta compilazione dei dati anagrafici e di residenza del coniuge" ITEM "03|Errata o incomp. compilaz. dati anagr. e di res. del coniuge"
ITEM "04|Errata o incompleta dichiarazione del quadro A Mod.730/96 del dichiarante" ITEM "04|Errata o incomp. dichiaraz. q. A Mod.730/96 del dich."
ITEM "05|Errata o incompleta dichiarazione del quadro A Mod.730/96 del coniuge" ITEM "05|Errata o incomp. dichiaraz. q. A Mod.730/96 del coniuge"
ITEM "06|Errata o incompleta dichiarazione del quadro B Mod.730/96 del dichiarante" ITEM "06|Errata o incomp. dichiaraz. q. B Mod.730/96 del dich."
ITEM "07|Errata o incompleta dichiarazione del quadro B Mod.730/96 del coniuge" ITEM "07|Errata o incomp. dichiaraz. q. B Mod.730/96 del coniuge"
ITEM "08|Errata o incompleta dichiarazione del quadro C Mod.730/96 del dichiarante" ITEM "08|Errata o incomp. dichiaraz. q. C Mod.730/96 del dich."
ITEM "09|Errata o incompleta dichiarazione del quadro D Mod.730/96 del dichiarante" ITEM "09|Errata o incomp. dichiaraz. q. D Mod.730/96 del dich."
ITEM "10|Errata o incompleta dichiarazione del quadro E Mod.730/96 del dichiarante" ITEM "10|Errata o incomp. dichiaraz. q. E Mod.730/96 del dich."
ITEM "11|Errata o incompleta dichiarazione del quadro E Mod.730/96 del coniuge" ITEM "11|Errata o incomp. dichiaraz. q. E Mod.730/96 del coniuge"
ITEM "12|Errata o incompleta dichiarazione del quadro F Mod.730/96 del dichiarante" ITEM "12|Errata o incomp. dichiaraz. q. F Mod.730/96 del dich."
ITEM "13|Errata o incompleta dichiarazione del quadro F Mod.730/96 del coniuge" ITEM "13|Errata o incomp. dichiaraz. q. F Mod.730/96 del coniuge"
OUTPUT F_SEGDICNL69 OUTPUT F_SEGDICNL69
GROUP G_ALL GROUP G_ALL
END END

View File

@ -220,7 +220,7 @@ BEGIN
PROMPT 2 6 "21 Cong. n/effet. " PROMPT 2 6 "21 Cong. n/effet. "
FIELD LF_QUAA1->CONNEFF21 FIELD LF_QUAA1->CONNEFF21
HELP "Conguagli non effettuati" HELP "Conguagli non effettuati"
SHEET "Codice|Descrizione@85" SHEET "Codice|Descrizione@60"
INPUT F_CONNEFF21 INPUT F_CONNEFF21
ITEM " |Niente" ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro" ITEM "A|Cessazione del rapporto di lavoro"
@ -228,7 +228,7 @@ BEGIN
ITEM "C|Decesso" ITEM "C|Decesso"
ITEM "D|Richiesta di minore secondo acconto" ITEM "D|Richiesta di minore secondo acconto"
ITEM "E|Retribuzione insufficiente" ITEM "E|Retribuzione insufficiente"
ITEM "F|Nel caso di situazioni per le quali dovrebbero essere indicati piu' codici" ITEM "F|Situaz. per le quali dovrebbero essere indicati piu' codici"
ITEM "G|Rimborso non effettuato o rimborso effettuato parzialmente" ITEM "G|Rimborso non effettuato o rimborso effettuato parzialmente"
OUTPUT F_CONNEFF21 OUTPUT F_CONNEFF21
FLAGS "U" FLAGS "U"
@ -238,13 +238,13 @@ STRING F_TIPOCONG22 1
BEGIN BEGIN
PROMPT 45 6 "22 Tipo cong. " PROMPT 45 6 "22 Tipo cong. "
FIELD LF_QUAA1->TIPOCONG22 FIELD LF_QUAA1->TIPOCONG22
SHEET "Codice|Descrizione@155" SHEET "Codice|Descrizione@60"
INPUT F_TIPOCONG22 INPUT F_TIPOCONG22
ITEM " |Niente" ITEM " |Niente"
ITEM "R|conguaglio tardivo derivante da Mod.730/93 rettificativo ovvero conguaglio conseguente a comunicazione tardiva di Mod.730/94 rettificativo" ITEM "R|Cong. tardivo derivante da Mod.730/93 rettificativo..."
ITEM "S|Conguaglio tardivo derivante da comunicazione Mod.730/94 pervenuta entro i termini" ITEM "S|Cong. tardivo derivante da comunicaz. Mod.730/94..."
ITEM "T|Conguaglio tardivo derivante da Mod.730/93 ovvero conguaglio conseguente a comunicazione tardiva di Mod.730/94" ITEM "T|Cong. tardivo deriv. da Mod.730/93 ov. comunic. tardiva Mod.730/94"
ITEM "U|Conguaglio conseguente ad incapienza della retribuzione corrisposta nei periodi di paga precedenti ovvero insufficienza del monte ritenute e/o contributi" ITEM "U|Cong. conseguente ad incapienza della retribuz..."
OUTPUT F_TIPOCONG22 OUTPUT F_TIPOCONG22
FLAGS "U" FLAGS "U"
END END

View File

@ -61,7 +61,7 @@ BEGIN
PROMPT 1 8 "@bCodice " PROMPT 1 8 "@bCodice "
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA)) USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
INPUT CODDITTA QAF_CODDITTA INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODIP INPUT CODDIP F_CODANAGDIP
DISPLAY "Codice " CODDIP DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" COGNOME DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME DISPLAY "Nome@20" NOME

View File

@ -69,14 +69,14 @@ BEGIN
FIELD LF_QUAA2->CONEFF FIELD LF_QUAA2->CONEFF
FLAGS "U" FLAGS "U"
HELP "Conguagli non effettuati relativi all'assistenza 1995" HELP "Conguagli non effettuati relativi all'assistenza 1995"
SHEET "Codice|Descrizione@85" SHEET "Codice|Descrizione@60"
INPUT QA2F_CNEFF INPUT QA2F_CNEFF
ITEM " |Niente" ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro" ITEM "A|Cessazione del rapporto di lavoro"
ITEM "B|Decesso" ITEM "B|Decesso"
ITEM "C|Richiesta di minore secondo acconto" ITEM "C|Richiesta di minore secondo acconto"
ITEM "D|Retribuzione insufficiente" ITEM "D|Retribuzione insufficiente"
ITEM "E|Nel caso di situazioni per le quali dovrebbero essere indicati piu' codici" ITEM "E|Situaz. per le quali dovrebbero essere indicati piu' codici"
ITEM "F|Rimborso non effettuato o rimborso effettuato parzialmente" ITEM "F|Rimborso non effettuato o rimborso effettuato parzialmente"
OUTPUT QA2F_CNEFF OUTPUT QA2F_CNEFF
GROUP G_ALL GROUP G_ALL
@ -86,11 +86,11 @@ STRING QA2F_RETCON 1
BEGIN BEGIN
PROMPT 38 4 "9 Rettifica conguaglio " PROMPT 38 4 "9 Rettifica conguaglio "
FIELD LF_QUAA2->RETCON FIELD LF_QUAA2->RETCON
SHEET "Codice|Descrizione@65" SHEET "Codice|Descrizione@60"
INPUT QA2F_RETCON INPUT QA2F_RETCON
ITEM " | " ITEM " | "
ITEM "A|Rettifica da parte dei sostituti o dei CAAF degli importi da conguagliare indicati nei mod.730-3,4 e già consegnati entro il 15.5.95 (per il primo numero d'ordine)" ITEM "A|Rettifica importi da conguagliare... (I num. d'ordine)"
ITEM "B|Rettifica da parte dei sostituti o dei CAAF degli importi da conguagliare indicati nei mod.730-3,4 e già consegnati entro il 15.5.95 (per il primo numero d'ordine)" ITEM "B|Rettifica importi da conguagliare... (II num. d'ordine)"
ITEM "C|Conguaglio tardivamente effettuato nel mese di luglio" ITEM "C|Conguaglio tardivamente effettuato nel mese di luglio"
OUTPUT QA2F_RETCON OUTPUT QA2F_RETCON
FLAGS "U" FLAGS "U"
@ -342,22 +342,22 @@ END
STRING QA2F_730NLIQ 2 STRING QA2F_730NLIQ 2
BEGIN BEGIN
PROMPT 2 12 "22 Mod.730/95 non liquidabile " PROMPT 2 12 "22 Mod.730/95 non liquidabile "
SHEET "Codice|Descrizione@80" SHEET "Codice|Descrizione@60"
INPUT QA2F_730NLIQ INPUT QA2F_730NLIQ
ITEM "|" ITEM "|"
ITEM "01|Errata o incompleta compilazione dei dati anagrafici e di residenza del dichiarante" ITEM "01|Errata o incomp. compilaz. dati anagr. e di res. del dich."
ITEM "02|Errata o incompleta compilazione dei dati del coniuge e familiari a carico" ITEM "02|Errata o incomp. compilaz. dati del coniuge e fam. a carico"
ITEM "03|Errata o incompleta compilazione dei dati anagrafici e di residenza del coniuge" ITEM "03|Errata o incomp. compilaz. dati anagr. e di res. del coniuge"
ITEM "04|Errata o incompleta dichiarazione del quadro A Mod.730/95 del dichiarante" ITEM "04|Errata o incomp. dichiaraz. q. A Mod.730/95 del dich."
ITEM "05|Errata o incompleta dichiarazione del quadro A Mod.730/95 del coniuge" ITEM "05|Errata o incomp. dichiaraz. q. A Mod.730/95 del coniuge"
ITEM "06|Errata o incompleta dichiarazione del quadro B Mod.730/95 del dichiarante" ITEM "06|Errata o incomp. dichiaraz. q. B Mod.730/95 del dich."
ITEM "07|Errata o incompleta dichiarazione del quadro B Mod.730/95 del coniuge" ITEM "07|Errata o incomp. dichiaraz. q. B Mod.730/95 del coniuge"
ITEM "08|Errata o incompleta dichiarazione del quadro C Mod.730/95 del dichiarante" ITEM "08|Errata o incomp. dichiaraz. q. C Mod.730/95 del dich."
ITEM "09|Errata o incompleta dichiarazione del quadro D Mod.730/95 del dichiarante" ITEM "09|Errata o incomp. dichiaraz. q. D Mod.730/95 del dich."
ITEM "10|Errata o incompleta dichiarazione del quadro E Mod.730/95 del dichiarante" ITEM "10|Errata o incomp. dichiaraz. q. E Mod.730/95 del dich."
ITEM "11|Errata o incompleta dichiarazione del quadro E Mod.730/95 del coniuge" ITEM "11|Errata o incomp. dichiaraz. q. E Mod.730/95 del coniuge"
ITEM "12|Errata o incompleta dichiarazione del quadro F Mod.730/95 del dichiarante" ITEM "12|Errata o incomp. dichiaraz. q. F Mod.730/95 del dich."
ITEM "13|Errata o incompleta dichiarazione del quadro F Mod.730/95 del coniuge" ITEM "13|Errata o incomp. dichiaraz. q. F Mod.730/95 del coniuge"
FIELD LF_QUAA2->M730NLIQ FIELD LF_QUAA2->M730NLIQ
FLAGS "Z" FLAGS "Z"
OUTPUT QA2F_730NLIQ OUTPUT QA2F_730NLIQ

View File

@ -108,10 +108,7 @@ bool M71310_application::mese(TMask_field& f , KEY k)
int mese = f.mask().get_int(F_QLMESEPAG); int mese = f.mask().get_int(F_QLMESEPAG);
if (mese == 0) if (mese == 0)
{ return f.error_box("Il mese di pagamento deve essere indicato obbligatoriamente");
f.error_box("Il mese di pagamento deve essere indicato obbligatoriamente");
return FALSE;
}
} }
return TRUE; return TRUE;
} }
@ -145,12 +142,8 @@ bool M71310_application::cod_tributo(TMask_field& f , KEY k)
if ((k == K_TAB && f.mask().is_running()) || k == K_ENTER) if ((k == K_TAB && f.mask().is_running()) || k == K_ENTER)
{ {
int tributo = f.mask().get_int(F_QLCODTRIB); int tributo = f.mask().get_int(F_QLCODTRIB);
if (tributo == 0) if (tributo == 0)
{ return f.error_box("Il codice tributo deve essere indicato obbligatoriamente");
f.error_box("Il codice tributo deve essere indicato obbligatoriamente");
return FALSE;
}
} }
return TRUE; return TRUE;
} }

View File

@ -120,8 +120,8 @@ END
LIST F_QLTIPOVERS 15 LIST F_QLTIPOVERS 15
BEGIN BEGIN
PROMPT 2 8 "Tipo versamento " PROMPT 2 8 "Tipo versamento "
// ITEM " |Nessuno" ITEM " |Nessuno"
// MESSAGE HIDE,G_ABICAB@|HIDE,G_DISTINTA@|HIDE,G_CC@ MESSAGE HIDE,G_ABICAB@|HIDE,G_DISTINTA@|HIDE,G_CC@
ITEM "B|Delega bancaria" ITEM "B|Delega bancaria"
MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_DISTINTA@|HIDE,G_DISTINTA@|SHOW,G_ABICAB@ MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_DISTINTA@|HIDE,G_DISTINTA@|SHOW,G_ABICAB@
ITEM "D|Distinta" ITEM "D|Distinta"
@ -137,6 +137,7 @@ BEGIN
PROMPT 45 8 "Codice tributo " PROMPT 45 8 "Codice tributo "
FIELD LF_QUAL->QLCT FIELD LF_QUAL->QLCT
KEY 1 KEY 1
CHECKTYPE REQUIRED
END END
NUMBER F_ARTBIL 2 NUMBER F_ARTBIL 2

View File

@ -592,7 +592,22 @@ bool TSt_certif::init_print()
msk.set_handler (F_A, mese_handler); msk.set_handler (F_A, mese_handler);
msk.set_handler (F_CODDITTA, codditta_hnd); msk.set_handler (F_CODDITTA, codditta_hnd);
//msk.set(F_ANNO, _anno_dic); // precarica campi maschera con valori di default
_nditte->setkey(1);
_nditte->zero();
_nditte->put(NDT_CODDITTA, get_firm_770());
if (_nditte->read() == NOERR)
{
// precarico luogo
TToken_string address = get_anag_address(_nditte->get_char(NDT_TIPOA),
_nditte->get_long(NDT_CODANAGR));
msk.set(F_LUOGO, address.get(0));
}
// precarico numero attestazione
msk.set(F_ATTESTA,1);
// esecuzione maschera
tasto = msk.run(); tasto = msk.run();
if (tasto == K_ENTER) if (tasto == K_ENTER)

View File

@ -33,7 +33,7 @@ BEGIN
FLAGS "A" FLAGS "A"
END END
STRING F_LUOGO 36 STRING F_LUOGO 50 36
BEGIN BEGIN
PROMPT 33 3 "Luogo " PROMPT 33 3 "Luogo "
END END

View File

@ -25,7 +25,8 @@
#include "774100.h" #include "774100.h"
#include "77lib.h" #include "77lib.h"
// inizializzato in TGenera::set() - usato in filter_func() // inizializzato in TGenera::set()
// usato in filter_func()
HIDDEN TGenera* this_genera = NULL; HIDDEN TGenera* this_genera = NULL;
// Possibili esiti della dialog-box di configurazione parametri di gen. // Possibili esiti della dialog-box di configurazione parametri di gen.
HIDDEN const int UNCHANGED = 0; HIDDEN const int UNCHANGED = 0;
@ -47,7 +48,7 @@ bool TVersamenti::find (TSchedaP& sc, const long numvers)
// Accetta un record solo se: // Accetta un record solo se:
// l'anno della data-pagamento == annodic E // l'anno della data-pagamento == annodic E
// il pagamento e' collegato ad un versamento (non importa quale) // il pagamento e' collegato ad un versamento (non importa quale)
bool filter_func (const TRelation * rel) bool filter_func (const TRelation* rel)
{ {
TDate datapag; TDate datapag;
int anno,annod; int anno,annod;
@ -185,31 +186,40 @@ int TGenera::controllo_parametri()
bool TGenera::azzera_quadroL() bool TGenera::azzera_quadroL()
{ {
TString quadro(3); TString16 filt;
const long dittafirm = get_firm_770();
TLocalisamfile ql(LF_QUAL);
TProgind progn(ql.items(), "Azzeramento quadro L", FALSE, TRUE);
for (ql.first(_lock); !ql.eof(); ql.next(_lock)) TRelation* rl;
TCursor* cl;
filt.format("CODDITTA=%ld", _codditta);
rl = new TRelation(LF_QUAL);
cl = new TCursor(rl,filt,1);
TRecnotype cl_items = cl->items();
cl->freeze();
(*cl) = 0L;
TProgind progn(cl_items, "Azzeramento quadro L", FALSE, TRUE);
TLocalisamfile& fl = cl->file();
for (int i = 0; i < cl_items; i++, ++(*cl))
{ {
progn.addstatus(1); progn.addstatus(1);
const long codditta = ql.get_long(QUL_CODDITTA); TString quadro(2);
if (codditta != dittafirm) continue;
// 21.12.95 Azzera solo quelli dell'anno dichiarazione // solo quelli dell'anno dichiarazione
const int ap = ql.get_int(QUL_QLAP); if (fl.get_int(QUL_QLAP) != _annodic)
if (ap != _annodic) continue;
{
ql.reread(_unlock);
continue;
}
quadro = ql.get(QUL_QLCODQUA); // solo quelli di quadri C/D/D1/E/E1
if (quadro == "C" || quadro == "D" || quadro == "D1" quadro = fl.get(QUL_QLCODQUA);
|| quadro == "E" || quadro == "E1") if (quadro != "C" && quadro != "D" && quadro != "D1" &&
ql.remove(); quadro != "E" && quadro != "E1")
continue;
// rimozione record
fl.remove();
} }
progn.addstatus(1);
return TRUE; return TRUE;
} }
@ -288,30 +298,31 @@ void TGenera::dati_scperc(TSchedaP& sch)
void TGenera::arrotonda() void TGenera::arrotonda()
{ {
TLocalisamfile qual (LF_QUAL); TString16 filt;
TRecnotype items_qual = qual.items(); real importo = ZERO;
real importo; importo = ZERO;
TProgind progn(items_qual, "Arrotondamento ritenute versate in corso... Prego attendere", FALSE, TRUE);
qual.setkey(1); TRelation* rl;
qual.zero(); TCursor* cl;
for (qual.first(); !qual.eof(); qual.next())
filt.format("CODDITTA=%ld", _codditta);
rl = new TRelation(LF_QUAL);
cl = new TCursor(rl,filt,1);
TRecnotype cl_items = cl->items();
cl->freeze();
(*cl) = 0L;
TProgind progn(cl_items,"Arrotondamento ritenute versate", FALSE, TRUE);
TLocalisamfile& fl = cl->file();
for (int i = 0; i < cl_items; i++, ++(*cl))
{ {
progn.addstatus(1); progn.addstatus(1);
const long codditta = qual.get_long(QUL_CODDITTA); importo = fl.get_real(QUL_QLRITVER);
if (codditta != _codditta)
{
progn.addstatus(1); // per far andare fino alla fine il "termometro" (sic)
continue;
}
importo = qual.get_real(QUL_QLRITVER);
importo = round_770(importo); importo = round_770(importo);
qual.reread(_testandlock); fl.put(QUL_QLRITVER, importo);
qual.put(QUL_QLRITVER, importo); fl.rewrite();
qual.rewrite();
qual.reread(_unlock);
} }
progn.addstatus(1);
} }
void TGenera::genera_riga(TCursor* cur) void TGenera::genera_riga(TCursor* cur)

View File

@ -15,11 +15,11 @@ class TVersamenti : public TAssoc_array
TVersamenti() {} TVersamenti() {}
}; };
bool filter_func (const TRelation *); bool filter_func(const TRelation *);
class TGenera class TGenera
{ {
friend bool filter_func (const TRelation *); friend bool filter_func(const TRelation *);
TVersamenti* _righe_gia_presenti; TVersamenti* _righe_gia_presenti;

View File

@ -923,11 +923,14 @@ void TRiporti::calcola_riporti_A1(TCursor* cur, const long dich)
scritta.format("Calcolo riporti del quadro A1 per la ditta %ld", _codditta); scritta.format("Calcolo riporti del quadro A1 per la ditta %ld", _codditta);
TProgind progn(items, scritta, FALSE, TRUE); // da attivare qualora anche il quadro A1 effettui riporti su quadro I
// TProgind progn(items, scritta, FALSE, TRUE);
for (int i = 0; i < items; i++, ++(*cur)) for (int i = 0; i < items; i++, ++(*cur))
{ {
progn.addstatus(1);
// da attivare qualora anche il quadro A1 effettui riporti su quadro I
// progn.addstatus(1);
if (!almeno_una_riga) if (!almeno_una_riga)
almeno_una_riga = TRUE; almeno_una_riga = TRUE;
@ -949,11 +952,14 @@ void TRiporti::calcola_riporti_A2(TCursor* cur, const long dich)
TRecnotype items = cur->items(); TRecnotype items = cur->items();
TString scritta(60); TString scritta(60);
scritta.format("Calcolo riporti del quadro A2 per la ditta %ld", _codditta); scritta.format("Calcolo riporti del quadro A2 per la ditta %ld", _codditta);
TProgind progn(items, scritta, FALSE, TRUE);
// da attivare qualora anche il quadro A2 effettui riporti su quadro I
// TProgind progn(items, scritta, FALSE, TRUE);
for (int i = 0; i < items; i++, ++(*cur)) for (int i = 0; i < items; i++, ++(*cur))
{ {
progn.addstatus(1); // da attivare qualora anche il quadro A2 effettui riporti su quadro I
// progn.addstatus(1);
if (!almeno_una_riga) if (!almeno_una_riga)
almeno_una_riga = TRUE; almeno_una_riga = TRUE;

View File

@ -369,6 +369,7 @@ if (k == K_SPACE)
f.mask().hide(-MENU_MAIN); f.mask().hide(-MENU_MAIN);
f.mask().show(-MENU_DATIANAG); f.mask().show(-MENU_DATIANAG);
f.mask().set_focus_field(DLG_STOPREC_DICH); f.mask().set_focus_field(DLG_STOPREC_DICH);
f.mask().set_caption("Manutenzione dati anagrafici");
return TRUE; return TRUE;
} }
if (f.dlg() == DLG_STOPREC_ST) // enter su menu if (f.dlg() == DLG_STOPREC_ST) // enter su menu
@ -376,6 +377,7 @@ if (k == K_SPACE)
f.mask().hide(-MENU_MAIN); f.mask().hide(-MENU_MAIN);
f.mask().show(-MENU_STAMPE); f.mask().show(-MENU_STAMPE);
f.mask().set_focus_field(DLG_STOPREC_ST0); f.mask().set_focus_field(DLG_STOPREC_ST0);
f.mask().set_caption("Stampe");
return TRUE; return TRUE;
} }
if (f.dlg() == DLG_STOPREC_SD) // enter su menu if (f.dlg() == DLG_STOPREC_SD) // enter su menu
@ -383,6 +385,7 @@ if (k == K_SPACE)
f.mask().hide(-MENU_MAIN); f.mask().hide(-MENU_MAIN);
f.mask().show(-MENU_SOGGDICH); f.mask().show(-MENU_SOGGDICH);
f.mask().set_focus_field(DLG_STOPREC_SD0); f.mask().set_focus_field(DLG_STOPREC_SD0);
f.mask().set_caption("Soggetto dichiarante");
return TRUE; return TRUE;
} }
if (f.dlg() == DLG_STOPREC_STQD) // enter su menu if (f.dlg() == DLG_STOPREC_STQD) // enter su menu
@ -390,6 +393,7 @@ if (k == K_SPACE)
f.mask().hide(-MENU_STAMPE); f.mask().hide(-MENU_STAMPE);
f.mask().show(-MENU_STAMPEDICH); f.mask().show(-MENU_STAMPEDICH);
f.mask().set_focus_field(B_BASE); f.mask().set_focus_field(B_BASE);
f.mask().set_caption("Stampe dichiarazioni");
return TRUE; return TRUE;
} }
return FALSE; return FALSE;
@ -406,6 +410,7 @@ bool TManutenzione_quadri::hide_menu(TMask_field& f, KEY k)
f.mask().hide(-MENU_DATIANAG); f.mask().hide(-MENU_DATIANAG);
f.mask().show(-MENU_MAIN); f.mask().show(-MENU_MAIN);
f.mask().first_focus(DLG_MANUTENZ); f.mask().first_focus(DLG_MANUTENZ);
f.mask().set_caption("Manutenzione dichiarazione");
return TRUE; return TRUE;
} }
if (f.mask().field(DLG_STOPREC_ST0).shown()) // cancel da menu if (f.mask().field(DLG_STOPREC_ST0).shown()) // cancel da menu
@ -413,6 +418,7 @@ bool TManutenzione_quadri::hide_menu(TMask_field& f, KEY k)
f.mask().hide(-MENU_STAMPE); f.mask().hide(-MENU_STAMPE);
f.mask().show(-MENU_MAIN); f.mask().show(-MENU_MAIN);
f.mask().first_focus(DLG_STOPREC_ST); f.mask().first_focus(DLG_STOPREC_ST);
f.mask().set_caption("Manutenzione dichiarazione");
return TRUE; return TRUE;
} }
if (f.mask().field(DLG_STOPREC_SD0).shown()) // cancel da menu if (f.mask().field(DLG_STOPREC_SD0).shown()) // cancel da menu
@ -420,6 +426,7 @@ bool TManutenzione_quadri::hide_menu(TMask_field& f, KEY k)
f.mask().hide(-MENU_SOGGDICH); f.mask().hide(-MENU_SOGGDICH);
f.mask().show(-MENU_MAIN); f.mask().show(-MENU_MAIN);
f.mask().first_focus(DLG_STOPREC_SD); f.mask().first_focus(DLG_STOPREC_SD);
f.mask().set_caption("Manutenzione dichiarazione");
return TRUE; return TRUE;
} }
if (f.mask().field(B_BASE).shown()) // cancel da menu if (f.mask().field(B_BASE).shown()) // cancel da menu
@ -427,6 +434,7 @@ bool TManutenzione_quadri::hide_menu(TMask_field& f, KEY k)
f.mask().hide(-MENU_STAMPEDICH); f.mask().hide(-MENU_STAMPEDICH);
f.mask().show(-MENU_STAMPE); f.mask().show(-MENU_STAMPE);
f.mask().first_focus(DLG_STOPREC_STQD); f.mask().first_focus(DLG_STOPREC_STQD);
f.mask().set_caption("Stampe");
return TRUE; return TRUE;
} }
return FALSE; return FALSE;
@ -466,7 +474,7 @@ void TManutenzione_quadri::init_menu(TMask& m)
// 1.5 // 1.5
_basebis->setkey(1); _basebis->setkey(1);
_basebis->zero(); _basebis->zero();
_basebis->put("CODDITTA", (long)_codditta); _basebis->put("CODDITTA", _codditta);
int rt = _basebis->read(); int rt = _basebis->read();
qcomp = _basebis->get("QCOMP"); qcomp = _basebis->get("QCOMP");
qric = _basebis->get("QSUPPRIC"); qric = _basebis->get("QSUPPRIC");
@ -484,7 +492,7 @@ bool TManutenzione_quadri::lock(const bool lok)
base.setkey(1); base.setkey(1);
base.zero(); base.zero();
base.put("CODDITTA",(long)_codditta); base.put("CODDITTA", _codditta);
const int rt = base.read(_isequal, _testandlock); const int rt = base.read(_isequal, _testandlock);
if (rt != NOERR) if (rt != NOERR)
return error_box("Impossibile leggere i dati: errore %d", rt); return error_box("Impossibile leggere i dati: errore %d", rt);
@ -530,7 +538,10 @@ bool TManutenzione_quadri::lock(const bool lok)
bool TManutenzione_quadri::leggi_quadri(TMask_field& f, KEY k) bool TManutenzione_quadri::leggi_quadri(TMask_field& f, KEY k)
{ {
if (k == K_TAB) if (k == K_TAB)
app().init_menu(f.mask()); {
app().init_menu(f.mask());
xvt_statbar_set(""); // serve per ripristinare la statusbar
}
return TRUE; return TRUE;
} }
@ -610,7 +621,8 @@ bool TManutenzione_quadri::query_mask()
init_query_mask(*_msk[0]); init_query_mask(*_msk[0]);
_msk[0]->first_focus(DLG_OK); _msk[0]->first_focus(DLG_OK);
KEY ch = _msk[0]->run(); KEY ch = _msk[0]->run();
_codditta = _msk[0]->get_long(F_CODDITTA); if (ch == K_ENTER)
_codditta = _msk[0]->get_long(F_CODDITTA);
return ch == K_ENTER; return ch == K_ENTER;
} }

View File

@ -1,32 +1,20 @@
#include "776100a.h" #include "776100a.h"
PAGE "Selezione Ditta" -1 -1 64 8 PAGE "Manutenzione dichiarazione" -1 -1 64 8
LISTBOX F_TIPOQUA 2
BEGIN
PROMPT 90 90 ""
KEY 1
FIELD LF_BASE->TIPOQUA
FLAGS "D"
END
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 1 1 "Codice " PROMPT 1 1 "Codice "
HELP "Codice della ditta da selezionare" USE LF_NDITTE SELECT LF_BASE->CODDITTA!=""
USE LF_BASE KEY 1 SELECT (TIPOQUA!="D") JOIN LF_BASE INTO CODDITTA==CODDITTA
JOIN LF_NDITTE INTO CODDITTA=CODDITTA
INPUT TIPOQUA F_TIPOQUA
INPUT CODDITTA F_CODDITTA INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale@50" LF_NDITTE->RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_TIPOQUA TIPOQUA
OUTPUT F_CODDITTA CODDITTA OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGDITTA LF_NDITTE->RAGSOC OUTPUT F_RAGDITTA RAGSOC
FIELD LF_BASE->CODDITTA HELP "Codice della ditta da selezionare"
HELP "Inserire la ditta"
WARNING "Manca la ditta"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
WARNING "Manca la ditta"
KEY 1 KEY 1
GROUP 1 GROUP 1
END END
@ -34,14 +22,14 @@ END
STRING F_RAGDITTA 50 STRING F_RAGDITTA 50
BEGIN BEGIN
PROMPT 1 2 "Rag. Soc. " PROMPT 1 2 "Rag. Soc. "
USE LF_NDITTE KEY 2 USE LF_NDITTE KEY 2 SELECT LF_BASE->CODDITTA!=""
JOIN LF_BASE INTO CODDITTA=CODDITTA JOIN LF_BASE INTO CODDITTA==CODDITTA
HELP "Ragione sociale della ditta da selezionare"
INPUT RAGSOC F_RAGDITTA INPUT RAGSOC F_RAGDITTA
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
DISPLAY "Codice" CODDITTA DISPLAY "Codice" CODDITTA
OUTPUT F_CODDITTA CODDITTA OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGDITTA LF_NDITTE->RAGSOC OUTPUT F_RAGDITTA RAGSOC
HELP "Ragione sociale della ditta da selezionare"
KEY 2 KEY 2
GROUP 1 GROUP 1
END END
@ -52,14 +40,14 @@ BEGIN
FLAGS "D" FLAGS "D"
END END
BUTTON DLG_OK 9 2 BUTTON DLG_OK 10 2
BEGIN BEGIN
PROMPT -12 -1 "" PROMPT -22 -1 ""
END END
BUTTON DLG_CANCEL 20 2 BUTTON DLG_QUIT 10 2
BEGIN BEGIN
PROMPT -22 -1 "Menu precedente" PROMPT -12 -1 "Fine"
END END
ENDPAGE ENDPAGE

View File

@ -8,22 +8,7 @@
#include "776100b.h" #include "776100b.h"
TOOLBAR "" 0 19 0 0 PAGE "Manutenzione dichiarazione" -1 2 78 20
BUTTON DLG_CANCEL 20 2
BEGIN
PROMPT -22 -11 "Menu precedente"
END
BUTTON DLG_QUIT 20 2
BEGIN
PROMPT -12 -11 "Fine"
END
ENDPAGE
PAGE "Manutenzione dichiarazione" -1 -1 78 21
//---------------------------- //----------------------------
// campi comuni a tutti i menu // campi comuni a tutti i menu
//---------------------------- //----------------------------
@ -114,7 +99,7 @@ BEGIN
PROMPT 1 8 "" PROMPT 1 8 ""
PICTURE 123 PICTURE 123
GROUP MENU_MAIN GROUP MENU_MAIN
MESSAGE RUN,770,-0 MESSAGE RUN,770,-0|K_TAB,RILEGGI_QUADRI
END END
TEXT DLG_NULL_SOCI TEXT DLG_NULL_SOCI
@ -564,7 +549,7 @@ END
BUTTON DLG_STOPREC_DICH 1 1 BUTTON DLG_STOPREC_DICH 1 1
BEGIN BEGIN
PROMPT 1 5 "" PROMPT 1 5 ""
MESSAGE RUN,771MOD,-0,A MESSAGE RUN,771MOD,-0,A|K_TAB,RILEGGI_QUADRI
PICTURE 123 PICTURE 123
FLAGS "H" FLAGS "H"
GROUP MENU_DATIANAG GROUP MENU_DATIANAG
@ -581,7 +566,7 @@ BUTTON DLG_STOPREC_RAPP 1 1
BEGIN BEGIN
PROMPT 1 6 "" PROMPT 1 6 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-0,C MESSAGE RUN,771MOD,-0,C|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_DATIANAG GROUP MENU_DATIANAG
END END
@ -597,7 +582,7 @@ BUTTON DLG_STOPREC_SCRIT 1 1
BEGIN BEGIN
PROMPT 1 7 "" PROMPT 1 7 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-0,D MESSAGE RUN,771MOD,-0,D|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_DATIANAG GROUP MENU_DATIANAG
END END
@ -613,7 +598,7 @@ BUTTON DLG_STOPREC_CAAF 1 1
BEGIN BEGIN
PROMPT 1 8 "" PROMPT 1 8 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-0,E MESSAGE RUN,771MOD,-0,E|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_DATIANAG GROUP MENU_DATIANAG
END END
@ -629,7 +614,7 @@ BUTTON DLG_STOPREC_DIRET 1 1
BEGIN BEGIN
PROMPT 1 9 "" PROMPT 1 9 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-0,F MESSAGE RUN,771MOD,-0,F|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_DATIANAG GROUP MENU_DATIANAG
END END
@ -645,7 +630,7 @@ BUTTON DLG_STOPREC_CONC 1 1
BEGIN BEGIN
PROMPT 1 10 "" PROMPT 1 10 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-0,G MESSAGE RUN,771MOD,-0,G|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_DATIANAG GROUP MENU_DATIANAG
END END
@ -661,7 +646,7 @@ BUTTON DLG_STOPREC_DIC0 1 1
BEGIN BEGIN
PROMPT 1 11 "" PROMPT 1 11 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,776MOD,-5 MESSAGE RUN,776MOD,-5|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_DATIANAG GROUP MENU_DATIANAG
END END
@ -677,7 +662,7 @@ BUTTON DLG_STOPREC_SOCTRA 1 1
BEGIN BEGIN
PROMPT 1 12 "" PROMPT 1 12 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,773mod,-1,771100h,102,"Manutenzione dati società trasformate" MESSAGE RUN,773mod,-1,771100h,102,"Manutenzione dati società trasformate"|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_DATIANAG GROUP MENU_DATIANAG
END END
@ -696,7 +681,7 @@ END
BUTTON DLG_STOPREC_ST0 1 1 BUTTON DLG_STOPREC_ST0 1 1
BEGIN BEGIN
PROMPT 1 5 "" PROMPT 1 5 ""
MESSAGE RUN,772MOD,-0 MESSAGE RUN,772MOD,-0|K_TAB,RILEGGI_QUADRI
PICTURE 123 PICTURE 123
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPE GROUP MENU_STAMPE
@ -713,7 +698,7 @@ BUTTON DLG_STOPREC_ST1 1 1
BEGIN BEGIN
PROMPT 1 6 "" PROMPT 1 6 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,772MOD,-1 MESSAGE RUN,772MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPE GROUP MENU_STAMPE
END END
@ -729,7 +714,7 @@ BUTTON DLG_STOPREC_ST2 1 1
BEGIN BEGIN
PROMPT 1 7 "" PROMPT 1 7 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,772MOD,-2 MESSAGE RUN,772MOD,-2|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPE GROUP MENU_STAMPE
END END
@ -745,7 +730,7 @@ BUTTON DLG_STOPREC_ST3 1 1
BEGIN BEGIN
PROMPT 1 8 "" PROMPT 1 8 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,772MOD,-3 MESSAGE RUN,772MOD,-3|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPE GROUP MENU_STAMPE
END END
@ -812,7 +797,7 @@ BUTTON DLG_STOPREC_SD2 1 1
BEGIN BEGIN
PROMPT 1 7 "" PROMPT 1 7 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,774,-1,D MESSAGE RUN,774,-1,D|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_SOGGDICH GROUP MENU_SOGGDICH
END END
@ -844,7 +829,7 @@ END
BUTTON B_BASE 1 1 BUTTON B_BASE 1 1
BEGIN BEGIN
PROMPT 1 ROW1 "" PROMPT 1 ROW1 ""
MESSAGE RUN,772MOD,-4,Base,D MESSAGE RUN,772MOD,-4,Base,D|K_TAB,RILEGGI_QUADRI
PICTURE 123 PICTURE 123
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
@ -860,7 +845,7 @@ END
BUTTON B_LAGG 1 1 BUTTON B_LAGG 1 1
BEGIN BEGIN
PROMPT 1 ROW2 "" PROMPT 1 ROW2 ""
MESSAGE RUN,772MOD,-4,L,D MESSAGE RUN,772MOD,-4,L,D|K_TAB,RILEGGI_QUADRI
PICTURE 123 PICTURE 123
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
@ -876,7 +861,7 @@ END
BUTTON B_NAGG 1 1 BUTTON B_NAGG 1 1
BEGIN BEGIN
PROMPT 1 ROW3 "" PROMPT 1 ROW3 ""
MESSAGE RUN,772MOD,-4,N,D MESSAGE RUN,772MOD,-4,N,D|K_TAB,RILEGGI_QUADRI
PICTURE 123 PICTURE 123
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
@ -892,7 +877,7 @@ END
BUTTON B_ALLSOC 1 1 BUTTON B_ALLSOC 1 1
BEGIN BEGIN
PROMPT 1 ROW4 "" PROMPT 1 ROW4 ""
MESSAGE RUN,772MOD,-4,S,D MESSAGE RUN,772MOD,-4,S,D|K_TAB,RILEGGI_QUADRI
PICTURE 123 PICTURE 123
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
@ -909,7 +894,7 @@ BUTTON B_ALLG 1 1
BEGIN BEGIN
PROMPT 1 ROW5 "" PROMPT 1 ROW5 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,772MOD,-4,J,D MESSAGE RUN,772MOD,-4,J,D|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
@ -1042,7 +1027,7 @@ BUTTON B_D 1 1
BEGIN BEGIN
PROMPT 39 ROW2 "" PROMPT 39 ROW2 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,772MOD,-4,D,D MESSAGE RUN,772MOD,-4,D,D|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
@ -1124,7 +1109,7 @@ BUTTON B_F 1 1
BEGIN BEGIN
PROMPT 58 ROW1 "" PROMPT 58 ROW1 ""
PICTURE 123 PICTURE 123
// MESSAGE RUN,771MOD,-1 // MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
@ -1140,7 +1125,7 @@ BUTTON B_F1 1 1
BEGIN BEGIN
PROMPT 58 ROW2 "" PROMPT 58 ROW2 ""
PICTURE 123 PICTURE 123
// MESSAGE RUN,771MOD,-1 // MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
@ -1156,7 +1141,7 @@ BUTTON B_F2 1 1
BEGIN BEGIN
PROMPT 58 ROW3 "" PROMPT 58 ROW3 ""
PICTURE 123 PICTURE 123
// MESSAGE RUN,771MOD,-1 // MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
@ -1172,7 +1157,7 @@ BUTTON B_G 1 1
BEGIN BEGIN
PROMPT 58 ROW4 "" PROMPT 58 ROW4 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,772MOD,-4,G,D MESSAGE RUN,772MOD,-4,G,D|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
@ -1188,7 +1173,7 @@ BUTTON B_G1 1 1
BEGIN BEGIN
PROMPT 58 ROW5 "" PROMPT 58 ROW5 ""
PICTURE 123 PICTURE 123
// MESSAGE RUN,771MOD,-1 // MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
@ -1204,11 +1189,21 @@ BUTTON B_H 1 1
BEGIN BEGIN
PROMPT 58 ROW6 "" PROMPT 58 ROW6 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,772MOD,-4,H,D MESSAGE RUN,772MOD,-4,H,D|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "H"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
BUTTON DLG_CANCEL 20 2
BEGIN
PROMPT -22 -1 "Menu precedente"
END
BUTTON DLG_QUIT 20 2
BEGIN
PROMPT -12 -1 "Fine"
END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -48,17 +48,19 @@ bool TImmissioneDichiarazione::do_it()
KEY tasto; KEY tasto;
_msk->set(F_ANNODIC, _anno_dic); _msk->set(F_ANNODIC, _anno_dic);
_msk->open_modal();
while ((tasto = _msk->run()) != K_QUIT) while ((tasto = _msk->run()) != K_QUIT)
{ {
long codditta = _msk->get_long(F_CODDITTA); long codditta = _msk->get_long(F_CODDITTA);
if (exist_dichiar_770(codditta)) { if (exist_dichiar_770(codditta)) {
warning_box("La dichiarazione della ditta %d esiste gia'", codditta); warning_box("La dichiarazione della ditta %ld esiste gia'", codditta);
continue; continue;
} }
if (enter_dichiar_770(codditta, _anno_dic)) if (enter_dichiar_770(codditta, _anno_dic))
message_box("Dichiarazione inserita"); message_box("Dichiarazione inserita");
} }
_msk->close();
return tasto == K_ENTER; return tasto == K_ENTER;
} }

View File

@ -22,8 +22,7 @@ class TSelezioneDich : public TConfig_application
TConfig* _user_cnf, * _studio_cnf; TConfig* _user_cnf, * _studio_cnf;
int _n_ditte; int _n_ditte;
int _anno_dic; int _anno_dic;
// TLocalisamfile* _nditte; TRelation* _nditte;
TRelation* _nditte;
long _da_cod, _a_cod; long _da_cod, _a_cod;
bool _builded_nomiditte; bool _builded_nomiditte;
@ -82,10 +81,10 @@ bool TSelezioneDich::user_create()
_studio_cnf = new TConfig(CONFIG_STUDIO); _studio_cnf = new TConfig(CONFIG_STUDIO);
// _nditte = new TLocalisamfile(LF_NDITTE); _nditte = new TRelation(LF_NDITTE);
_nditte = new TRelation(LF_NDITTE);
_nditte->add(LF_BASE,"CODDITTA=CODDITTA"); _nditte->add(LF_BASE,"CODDITTA=CODDITTA");
_ditte = new TArray_sheet(11, 1, 67, 20, "Seleziona dichiarazioni",
_ditte = new TArray_sheet(11, 1, 67, 20, "Seleziona dichiarazioni",
"@1|Cod.@5|Ragione Sociale@50"); "@1|Cod.@5|Ragione Sociale@50");
_ditte_sel = new TArray_sheet(11, 1, 67, 20, "Dichiarazioni selezionate", _ditte_sel = new TArray_sheet(11, 1, 67, 20, "Dichiarazioni selezionate",
@ -420,23 +419,17 @@ void TSelezioneDich::build_nomiditte()
{ {
_nomiditte.destroy(); _nomiditte.destroy();
// ricostruire _nomiditte e rifare build_ditte_sheet // ricostruire _nomiditte e rifare build_ditte_sheet
// TLocalisamfile& dt = *_nditte;
TRectype& dt = _nditte->curr(); TRectype& dt = _nditte->curr();
TProgind prg(dt.items(), "Lettura ditte in corso\nAttendere prego...", FALSE, TRUE); TProgind prg(dt.items(), "Lettura ditte in corso\nAttendere prego...", FALSE, TRUE);
for (_nditte->first(); !_nditte->eof(); _nditte->next()) for (_nditte->first(); !_nditte->eof(); _nditte->next())
{ {
prg.addstatus(1); prg.addstatus(1);
// bool good = exist_dichiar_770(dt.get_long("CODDITTA"));
// if (!good) continue;
_n_ditte++; _n_ditte++;
TToken_string* d = new TToken_string(64); TToken_string* d = new TToken_string(64);
d->add(" "); // spazio per la selezione d->add(" "); // spazio per la selezione
d->add(dt.get("CODDITTA")); d->add(dt.get("CODDITTA"));
d->add(dt.get("RAGSOC")); d->add(dt.get("RAGSOC"));
_nomiditte.add(d); _nomiditte.add(d);
} }
} }

View File

@ -28,7 +28,7 @@ protected:
virtual bool create(); virtual bool create();
virtual bool destroy(); virtual bool destroy();
virtual bool menu(MENU_TAG m); virtual bool menu(MENU_TAG m);
bool save(TMask& m, const long coddic_prec); KEY save(TMask& m, const long coddic_prec, bool check_dirty);
bool set_codditta(TMask_field& f); bool set_codditta(TMask_field& f);
bool main_loop(); bool main_loop();
@ -51,14 +51,7 @@ TEstinti_app::TEstinti_app():
bool TEstinti_app::set_codditta(TMask_field& f) bool TEstinti_app::set_codditta(TMask_field& f)
{ {
TString16 codditta; f.set(get_firm_770());
codditta << get_firm_770();
if (codditta != "0")
{
f.set(codditta);
// f.set_dirty();
f.check();
}
return TRUE; return TRUE;
} }
@ -113,41 +106,50 @@ void TEstinti_app::force_output(int dlg, const long codditta)
} }
} }
bool TEstinti_app::save(TMask& m, const long codic_prec) KEY TEstinti_app::save(TMask& m, const long codic_prec,
bool check_dirty = FALSE)
{ {
const long new_codic = m.get_long(F_CODDIC); KEY k = K_YES;
TRectype _rec = _base->curr();
_base->setkey(1); if (check_dirty && m.dirty())
_rec.zero(); k = yesnocancel_box("Registrare le modifiche?");
_rec.put("TIPOQUA", ' ');
_rec.put("CODDITTA",(long)_codditta); if (k == K_YES)
if (_base->read(_rec) == NOERR)
{ {
_rec.put("CODDIC",(long)new_codic); const long new_codic = m.get_long(F_CODDIC);
_base->rewrite(_rec); TRectype _rec = _base->curr();
} _base->setkey(1);
_rec.zero();
_rec.put("TIPOQUA", ' ');
_rec.put("CODDITTA",(long)_codditta);
if (_base->read(_rec) == NOERR)
{
_rec.put("CODDIC",(long)new_codic);
_base->rewrite(_rec);
}
// Stessa cosa su basebis // Stessa cosa su basebis
TRectype _recbis = _basebis->curr(); TRectype _recbis = _basebis->curr();
_basebis->setkey(1); _basebis->setkey(1);
_recbis.zero(); _recbis.zero();
_recbis.put("TIPOQUA", ' '); _recbis.put("TIPOQUA", ' ');
_recbis.put("CODDITTA",(long)_codditta); _recbis.put("CODDITTA",(long)_codditta);
if (_basebis->read(_recbis) == NOERR) if (_basebis->read(_recbis) == NOERR)
{ {
_recbis.put("CODDIC",(long)new_codic); _recbis.put("CODDIC",(long)new_codic);
_basebis->rewrite(_rec); _basebis->rewrite(_rec);
} }
// Crea il record globale per il dichiarante scelto se non esiste // Crea il record globale per il dichiarante scelto se non esiste
// 3.4.96 - Solo se il dichiarante e' diverso da 0, senno' quando si vuol cancellare // 3.4.96 - Solo se il dichiarante e' diverso da 0, senno' quando si vuol cancellare
// il dichiarante crea un record duplicato! // il dichiarante crea un record duplicato!
if (new_codic != 0L) if (new_codic != 0L)
if (!exist_dichiar_770(new_codic, TRUE)) if (!exist_dichiar_770(new_codic, TRUE))
enter_dichiar_770(new_codic, anno_770(), TRUE); enter_dichiar_770(new_codic, anno_770(), TRUE);
}
return TRUE; return k;
} }
bool TEstinti_app::main_loop() bool TEstinti_app::main_loop()
@ -173,20 +175,20 @@ bool TEstinti_app::main_loop()
_msk->enable(F_CODDIC, !dichiarante); _msk->enable(F_CODDIC, !dichiarante);
_msk->enable(F_ESTINTI, dichiarante); _msk->enable(F_ESTINTI, dichiarante);
_msk->enable(DLG_SAVEREC,!dichiarante); _msk->enable(DLG_SAVEREC,!dichiarante);
_msk->set_mode(MODE_MOD);
tasto = _msk->run(); tasto = _msk->run();
switch (tasto) { switch (tasto) {
case K_ENTER: case K_ENTER:
if (_msk->dirty()) if (!dichiarante)
// Se e' un dichiarante F_CODDIC e' disabilitato e non c'e' nulla da salvare save(*_msk, coddic);
if (!dichiarante)
save(*_msk, coddic);
break; break;
case K_ESC : case K_ESC :
tasto = K_QUIT;
break; break;
case K_QUIT : case K_QUIT :
if (!dichiarante && (save(*_msk, coddic, TRUE) == K_ESC))
tasto = K_ESC;
break; break;
case K_SAVE : case K_SAVE :
if (!dichiarante) if (!dichiarante)

View File

@ -68,7 +68,7 @@ END
BUTTON DLG_SAVEREC 9 2 BUTTON DLG_SAVEREC 9 2
BEGIN BEGIN
PROMPT -13 -1 "" PROMPT -13 -1 "~Registra"
MESSAGE EXIT,K_SAVE MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN PICTURE BMP_SAVERECDN

View File

@ -6,13 +6,10 @@
#include <real.h> #include <real.h>
#include <sheet.h> #include <sheet.h>
// #include "770101.h" (sembra non servire)
class TSchedaP; class TSchedaP;
// Flag di record del dichiarante (quadro I "globale") // Flag di record del dichiarante (quadro I "globale")
HIDDEN const char COD_QUA_I_DIC = 'D'; HIDDEN const char COD_QUA_I_DIC = 'D';
HIDDEN const char DELEGA_BANCARIA = 'B'; HIDDEN const char DELEGA_BANCARIA = 'B';
HIDDEN const char DISTINTA = 'D'; HIDDEN const char DISTINTA = 'D';
HIDDEN const char CC_POSTALE = 'C'; HIDDEN const char CC_POSTALE = 'C';
@ -110,6 +107,9 @@ const char* cod_fis(const long codditta);
// Ritorna la descrizione della causale // Ritorna la descrizione della causale
const char* get_desc_cau(const char* codcau); const char* get_desc_cau(const char* codcau);
bool esiste_perc(char tipoa, const long codanag); bool esiste_perc(char tipoa, const long codanag);
// Ritorna l'indirizzo secondo la regola : prima domicilio poi residenza
// formattazione token_string : località|indirizzo|num.civico|cap|provincia
TToken_string get_anag_address(char tip_anagr, long cod_anagr);
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// E' un array sheet in cui si puo' decidere di visualizzare solo i // E' un array sheet in cui si puo' decidere di visualizzare solo i

View File

@ -5,20 +5,19 @@
#include <isam.h> #include <isam.h>
#include <anagr.h> #include <anagr.h>
#include <tabutil.h> #include <tabutil.h>
#include <comuni.h>
#include "scperc.h" #include "scperc.h"
#include "perc.h" #include "perc.h"
#include "rver.h" #include "rver.h"
#include "rpag.h" #include "rpag.h"
#include "quadrol.h" #include "quadrol.h"
#include "dipend.h" // per is_erede #include "dipend.h" // per is_erede
// #include "770101.h" // per TSchedaPE (sembra non servire)
#include "77lib.h" #include "77lib.h"
HIDDEN real __dep; HIDDEN real __dep;
HIDDEN TString80 __tmp; HIDDEN TString80 __tmp;
HIDDEN const char* _build_key(TVersamento& vers); HIDDEN const char* _build_key(TVersamento& vers);
// La ditta corrente 770 HIDDEN long _codditta_770 = 0L; // La ditta corrente 770
HIDDEN long _codditta_770 = 0L;
#define QUALIF_EREDE "11" #define QUALIF_EREDE "11"
@ -373,6 +372,74 @@ bool esiste_pag_in_anno(TSchedaP& sch, const int annodic, const TDate& data_da,
return FALSE; return FALSE;
} }
// in: tipo e codice anagrafico di cui si vuole l'indirizzo
// out: località|indirizzo|num.civico|cap|provincia
TToken_string get_anag_address(char tip_anag, long cod_anag)
{
TToken_string address;
TString cod_comune_df;
TString cod_comune_re;
TString cod_comune;
TString indirizzo;
TString numerociv;
TString cap;
TString localita;
TString provincia;
TLocalisamfile anag(LF_ANAG);
TLocalisamfile comuni(LF_COMUNI);
// lettura anagrafica persone
anag.setkey(1);
anag.zero();
anag.put(ANA_TIPOA, tip_anag);
anag.put(ANA_CODANAGR, cod_anag);
// decodifica indirizzo
if (anag.read() == NOERR)
{
cod_comune_df = anag.get(ANA_COMRF);
cod_comune_re = anag.get(ANA_COMRES);
// indicato domicilio fiscale
if (cod_comune_df != "")
{
indirizzo = anag.get(ANA_INDRF);
numerociv = anag.get(ANA_CIVRF);
cap = anag.get(ANA_CAPRF);
cod_comune= cod_comune_df;
}
// indicato residenza
else
{
indirizzo = anag.get(ANA_INDRES);
numerociv = anag.get(ANA_CIVRES);
cap = anag.get(ANA_CAPRES);
cod_comune= cod_comune_re;
}
// lettura anagrafica comuni
comuni.setkey(1);
comuni.zero();
comuni.put(COM_COM,cod_comune);
// decodifica località e provincia
if (comuni.read() == NOERR)
{
localita = comuni.get(COM_DENCOM);
provincia= comuni.get(COM_PROVCOM);
}
// preparazione token_string
address=localita;
address.add(indirizzo);
address.add(numerociv);
address.add(cap);
address.add(provincia);
}
return address;
}
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// Dichiarazioni // Dichiarazioni
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////

View File

@ -1,47 +0,0 @@
#include "ba3200.h"
PAGE "Stampa causali" -1 -1 60 6
/*
NUMBER F_CODDITTA 5
BEGIN
PROMPT 1 1 "Ditta "
HELP "Ditta di cui stampare i registri"
FLAGS "FRD"
USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC
END
STRING F_RAGSOC 50
BEGIN
PROMPT 1 2 "Ragione sociale "
FLAGS "D"
END
*/
DATE F_DATASTAMPA
BEGIN
PROMPT 2 1 "Data stampa "
HELP "Data da riportare sui fogli da stampare"
FLAGS "A"
END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 "~Stampa"
MESSAGE EXIT,K_ENTER
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK