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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -27,24 +27,24 @@
#define MPAG_SPESA 103
#define MPAG_IMPONIBILE 104
#define MPAG_PERCRA 105
#define MPAG_RITPAG 106
#define MPAG_INPSPERC 107
#define MPAG_INPSCOMP 108
#define MPAG_NETTO 109
#define MPAG_RITPAG 106
#define MPAG_INPSPERC 107
#define MPAG_INPSCOMP 108
#define MPAG_NETTO 109
// Id della maschera di edit dello sheet versamenti
#define F_VERS_1015 101
#define F_DATAVERS 102
#define F_LUOVERS 103
#define F_TIPOVERS 104
#define F_RITVERS 108
#define F_ABI 105 // abi e cab
#define F_CAB 72
#define SM_PROGRBANCA 107
#define F_VERS_1015 101
#define F_DATAVERS 102
#define F_LUOVERS 103
#define F_TIPOVERS 104
#define F_ABI 105 // abi e cab
#define F_CAB 72
#define SM_PROGRBANCA 107
#define F_RITVERS 108
// Posizioni nella riga
const int SS_POS_NUMVERS = 8;
const int SS_POS_RITPAG = 5;
const int SS_POS_NUMVERS = 8;
const int SS_POS_RITPAG = 5;
const int SS_POS_NRIGA = 5;
const int SS_POS_NVER = 6;
const int SS_POS_RITVERS = 7;
@ -52,7 +52,7 @@ const int SS_POS_RITVERS = 7;
// Posizioni nell'array-sheet dei pagamenti
const int AS_POS_NRIGA = 5;
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_PAGAMENTI 7
@ -145,10 +145,9 @@ class TSchedaPercipienti : public TRelation_application
const char* codanagr=NULL);
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual TRelation* get_relation() const { return _rel; }
virtual bool user_create();
virtual bool user_destroy();
virtual TRelation* get_relation() const { return _rel; }
virtual TMask* get_mask(int mode);
virtual bool changing_mask(int mode);
virtual void init_query_mode (TMask&);
@ -158,35 +157,26 @@ class TSchedaPercipienti : public TRelation_application
virtual int rewrite(const TMask& m);
virtual int write(const TMask& m);
virtual int read(TMask& m);
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 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();
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; }
void attach_pag_vers (int pag, long numvers);
void detach_pag_vers (int pag);
void new_row(TSheet_field& ver_pag, int r, bool vers);
bool my_empty_items(TToken_string& r, bool versamenti);
int anno_dic() const { return _anno_dic; }
public:
bool _flag_cg;
public:
void load_pag_sheet(const long numvers);
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);
bool coll_variazione() const;
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& vers() const;
public:
TSchedaPercipienti ();
~TSchedaPercipienti() {};
};

View File

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

View File

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

View File

@ -15,7 +15,7 @@ END
BUTTON DLG_SAVEREC 10 2
BEGIN
PROMPT -35 -1 ""
PROMPT -35 -1 "~Registra"
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN
@ -97,20 +97,6 @@ BEGIN
FLAGS "H"
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
BEGIN
PROMPT 1 4 "Attività "
@ -239,7 +225,7 @@ END
ENDPAGE
PAGE "Dichiarante pagina 2" -1 -1 78 18
PAGE "Pag.2" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN

View File

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

View File

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

View File

@ -33,11 +33,11 @@ END
NUMBER ADF_DIP_CODDIP 6
BEGIN
PROMPT 1 3 "Codice dipendente "
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#ADF_CODDITTA))
USE LF_DIPEND
FIELD LF_DIPEND->CODDIP
INPUT CODDITTA ADF_CODDITTA
INPUT CODDITTA ADF_CODDITTA SELECT
INPUT CODDIP ADF_DIP_CODDIP
DISPLAY "Codice dipendente" CODDIP
DISPLAY "Codice" CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
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->show(QA2_NUM_ALL);
}
app()._mskAllegati->open_modal();
kAll = app()._mskAllegati->run();
if (app()._mskAllegati->dirty() && !yesno_box("Annullare i dati inseriti"))
kAll = K_ENTER;
if (kAll==K_ENTER)
{
if (app().QuadroA())
@ -428,6 +433,7 @@ bool TQuadroA::QAA2alleg_handler(TMask_field& f, KEY k)
}
app()._base->rewrite();
}
app()._mskAllegati->close_modal();
}
return TRUE;
}

View File

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

View File

@ -220,7 +220,7 @@ BEGIN
PROMPT 2 6 "21 Cong. n/effet. "
FIELD LF_QUAA1->CONNEFF21
HELP "Conguagli non effettuati"
SHEET "Codice|Descrizione@85"
SHEET "Codice|Descrizione@60"
INPUT F_CONNEFF21
ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro"
@ -228,7 +228,7 @@ BEGIN
ITEM "C|Decesso"
ITEM "D|Richiesta di minore secondo acconto"
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"
OUTPUT F_CONNEFF21
FLAGS "U"
@ -238,13 +238,13 @@ STRING F_TIPOCONG22 1
BEGIN
PROMPT 45 6 "22 Tipo cong. "
FIELD LF_QUAA1->TIPOCONG22
SHEET "Codice|Descrizione@155"
SHEET "Codice|Descrizione@60"
INPUT F_TIPOCONG22
ITEM " |Niente"
ITEM "R|conguaglio tardivo derivante da Mod.730/93 rettificativo ovvero conguaglio conseguente a comunicazione tardiva di Mod.730/94 rettificativo"
ITEM "S|Conguaglio tardivo derivante da comunicazione Mod.730/94 pervenuta entro i termini"
ITEM "T|Conguaglio tardivo derivante da Mod.730/93 ovvero conguaglio conseguente a comunicazione tardiva di 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 "R|Cong. tardivo derivante da Mod.730/93 rettificativo..."
ITEM "S|Cong. tardivo derivante da comunicaz. Mod.730/94..."
ITEM "T|Cong. tardivo deriv. da Mod.730/93 ov. comunic. tardiva Mod.730/94"
ITEM "U|Cong. conseguente ad incapienza della retribuz..."
OUTPUT F_TIPOCONG22
FLAGS "U"
END

View File

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

View File

@ -69,14 +69,14 @@ BEGIN
FIELD LF_QUAA2->CONEFF
FLAGS "U"
HELP "Conguagli non effettuati relativi all'assistenza 1995"
SHEET "Codice|Descrizione@85"
SHEET "Codice|Descrizione@60"
INPUT QA2F_CNEFF
ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro"
ITEM "B|Decesso"
ITEM "C|Richiesta di minore secondo acconto"
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"
OUTPUT QA2F_CNEFF
GROUP G_ALL
@ -86,11 +86,11 @@ STRING QA2F_RETCON 1
BEGIN
PROMPT 38 4 "9 Rettifica conguaglio "
FIELD LF_QUAA2->RETCON
SHEET "Codice|Descrizione@65"
SHEET "Codice|Descrizione@60"
INPUT QA2F_RETCON
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 "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 "A|Rettifica importi da conguagliare... (I num. d'ordine)"
ITEM "B|Rettifica importi da conguagliare... (II num. d'ordine)"
ITEM "C|Conguaglio tardivamente effettuato nel mese di luglio"
OUTPUT QA2F_RETCON
FLAGS "U"
@ -342,22 +342,22 @@ END
STRING QA2F_730NLIQ 2
BEGIN
PROMPT 2 12 "22 Mod.730/95 non liquidabile "
SHEET "Codice|Descrizione@80"
SHEET "Codice|Descrizione@60"
INPUT QA2F_730NLIQ
ITEM "|"
ITEM "01|Errata o incompleta compilazione dei dati anagrafici e di residenza del dichiarante"
ITEM "02|Errata o incompleta compilazione dei dati del coniuge e familiari a carico"
ITEM "03|Errata o incompleta compilazione dei dati anagrafici e di residenza del coniuge"
ITEM "04|Errata o incompleta dichiarazione del quadro A Mod.730/95 del dichiarante"
ITEM "05|Errata o incompleta dichiarazione del quadro A Mod.730/95 del coniuge"
ITEM "06|Errata o incompleta dichiarazione del quadro B Mod.730/95 del dichiarante"
ITEM "07|Errata o incompleta dichiarazione del quadro B Mod.730/95 del coniuge"
ITEM "08|Errata o incompleta dichiarazione del quadro C Mod.730/95 del dichiarante"
ITEM "09|Errata o incompleta dichiarazione del quadro D Mod.730/95 del dichiarante"
ITEM "10|Errata o incompleta dichiarazione del quadro E Mod.730/95 del dichiarante"
ITEM "11|Errata o incompleta dichiarazione del quadro E Mod.730/95 del coniuge"
ITEM "12|Errata o incompleta dichiarazione del quadro F Mod.730/95 del dichiarante"
ITEM "13|Errata o incompleta dichiarazione del quadro F Mod.730/95 del coniuge"
ITEM "01|Errata o incomp. compilaz. dati anagr. e di res. del dich."
ITEM "02|Errata o incomp. compilaz. dati del coniuge e fam. a carico"
ITEM "03|Errata o incomp. compilaz. dati anagr. e di res. del coniuge"
ITEM "04|Errata o incomp. dichiaraz. q. A Mod.730/95 del dich."
ITEM "05|Errata o incomp. dichiaraz. q. A Mod.730/95 del coniuge"
ITEM "06|Errata o incomp. dichiaraz. q. B Mod.730/95 del dich."
ITEM "07|Errata o incomp. dichiaraz. q. B Mod.730/95 del coniuge"
ITEM "08|Errata o incomp. dichiaraz. q. C Mod.730/95 del dich."
ITEM "09|Errata o incomp. dichiaraz. q. D Mod.730/95 del dich."
ITEM "10|Errata o incomp. dichiaraz. q. E Mod.730/95 del dich."
ITEM "11|Errata o incomp. dichiaraz. q. E Mod.730/95 del coniuge"
ITEM "12|Errata o incomp. dichiaraz. q. F Mod.730/95 del dich."
ITEM "13|Errata o incomp. dichiaraz. q. F Mod.730/95 del coniuge"
FIELD LF_QUAA2->M730NLIQ
FLAGS "Z"
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);
if (mese == 0)
{
f.error_box("Il mese di pagamento deve essere indicato obbligatoriamente");
return FALSE;
}
return f.error_box("Il mese di pagamento deve essere indicato obbligatoriamente");
}
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)
{
int tributo = f.mask().get_int(F_QLCODTRIB);
if (tributo == 0)
{
f.error_box("Il codice tributo deve essere indicato obbligatoriamente");
return FALSE;
}
return f.error_box("Il codice tributo deve essere indicato obbligatoriamente");
}
return TRUE;
}

View File

@ -120,8 +120,8 @@ END
LIST F_QLTIPOVERS 15
BEGIN
PROMPT 2 8 "Tipo versamento "
// ITEM " |Nessuno"
// MESSAGE HIDE,G_ABICAB@|HIDE,G_DISTINTA@|HIDE,G_CC@
ITEM " |Nessuno"
MESSAGE HIDE,G_ABICAB@|HIDE,G_DISTINTA@|HIDE,G_CC@
ITEM "B|Delega bancaria"
MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_DISTINTA@|HIDE,G_DISTINTA@|SHOW,G_ABICAB@
ITEM "D|Distinta"
@ -137,6 +137,7 @@ BEGIN
PROMPT 45 8 "Codice tributo "
FIELD LF_QUAL->QLCT
KEY 1
CHECKTYPE REQUIRED
END
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_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();
if (tasto == K_ENTER)

View File

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

View File

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

View File

@ -15,11 +15,11 @@ class TVersamenti : public TAssoc_array
TVersamenti() {}
};
bool filter_func (const TRelation *);
bool filter_func(const TRelation *);
class TGenera
{
friend bool filter_func (const TRelation *);
friend bool filter_func(const TRelation *);
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);
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))
{
progn.addstatus(1);
// da attivare qualora anche il quadro A1 effettui riporti su quadro I
// progn.addstatus(1);
if (!almeno_una_riga)
almeno_una_riga = TRUE;
@ -949,11 +952,14 @@ void TRiporti::calcola_riporti_A2(TCursor* cur, const long dich)
TRecnotype items = cur->items();
TString scritta(60);
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))
{
progn.addstatus(1);
// da attivare qualora anche il quadro A2 effettui riporti su quadro I
// progn.addstatus(1);
if (!almeno_una_riga)
almeno_una_riga = TRUE;

View File

@ -369,6 +369,7 @@ if (k == K_SPACE)
f.mask().hide(-MENU_MAIN);
f.mask().show(-MENU_DATIANAG);
f.mask().set_focus_field(DLG_STOPREC_DICH);
f.mask().set_caption("Manutenzione dati anagrafici");
return TRUE;
}
if (f.dlg() == DLG_STOPREC_ST) // enter su menu
@ -376,6 +377,7 @@ if (k == K_SPACE)
f.mask().hide(-MENU_MAIN);
f.mask().show(-MENU_STAMPE);
f.mask().set_focus_field(DLG_STOPREC_ST0);
f.mask().set_caption("Stampe");
return TRUE;
}
if (f.dlg() == DLG_STOPREC_SD) // enter su menu
@ -383,6 +385,7 @@ if (k == K_SPACE)
f.mask().hide(-MENU_MAIN);
f.mask().show(-MENU_SOGGDICH);
f.mask().set_focus_field(DLG_STOPREC_SD0);
f.mask().set_caption("Soggetto dichiarante");
return TRUE;
}
if (f.dlg() == DLG_STOPREC_STQD) // enter su menu
@ -390,6 +393,7 @@ if (k == K_SPACE)
f.mask().hide(-MENU_STAMPE);
f.mask().show(-MENU_STAMPEDICH);
f.mask().set_focus_field(B_BASE);
f.mask().set_caption("Stampe dichiarazioni");
return TRUE;
}
return FALSE;
@ -406,6 +410,7 @@ bool TManutenzione_quadri::hide_menu(TMask_field& f, KEY k)
f.mask().hide(-MENU_DATIANAG);
f.mask().show(-MENU_MAIN);
f.mask().first_focus(DLG_MANUTENZ);
f.mask().set_caption("Manutenzione dichiarazione");
return TRUE;
}
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().show(-MENU_MAIN);
f.mask().first_focus(DLG_STOPREC_ST);
f.mask().set_caption("Manutenzione dichiarazione");
return TRUE;
}
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().show(-MENU_MAIN);
f.mask().first_focus(DLG_STOPREC_SD);
f.mask().set_caption("Manutenzione dichiarazione");
return TRUE;
}
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().show(-MENU_STAMPE);
f.mask().first_focus(DLG_STOPREC_STQD);
f.mask().set_caption("Stampe");
return TRUE;
}
return FALSE;
@ -466,7 +474,7 @@ void TManutenzione_quadri::init_menu(TMask& m)
// 1.5
_basebis->setkey(1);
_basebis->zero();
_basebis->put("CODDITTA", (long)_codditta);
_basebis->put("CODDITTA", _codditta);
int rt = _basebis->read();
qcomp = _basebis->get("QCOMP");
qric = _basebis->get("QSUPPRIC");
@ -484,7 +492,7 @@ bool TManutenzione_quadri::lock(const bool lok)
base.setkey(1);
base.zero();
base.put("CODDITTA",(long)_codditta);
base.put("CODDITTA", _codditta);
const int rt = base.read(_isequal, _testandlock);
if (rt != NOERR)
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)
{
if (k == K_TAB)
app().init_menu(f.mask());
{
app().init_menu(f.mask());
xvt_statbar_set(""); // serve per ripristinare la statusbar
}
return TRUE;
}
@ -610,7 +621,8 @@ bool TManutenzione_quadri::query_mask()
init_query_mask(*_msk[0]);
_msk[0]->first_focus(DLG_OK);
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;
}

View File

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

View File

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

View File

@ -48,17 +48,19 @@ bool TImmissioneDichiarazione::do_it()
KEY tasto;
_msk->set(F_ANNODIC, _anno_dic);
_msk->open_modal();
while ((tasto = _msk->run()) != K_QUIT)
{
long codditta = _msk->get_long(F_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;
}
if (enter_dichiar_770(codditta, _anno_dic))
message_box("Dichiarazione inserita");
}
_msk->close();
return tasto == K_ENTER;
}

View File

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

View File

@ -28,7 +28,7 @@ protected:
virtual bool create();
virtual bool destroy();
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 main_loop();
@ -51,14 +51,7 @@ TEstinti_app::TEstinti_app():
bool TEstinti_app::set_codditta(TMask_field& f)
{
TString16 codditta;
codditta << get_firm_770();
if (codditta != "0")
{
f.set(codditta);
// f.set_dirty();
f.check();
}
f.set(get_firm_770());
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);
TRectype _rec = _base->curr();
_base->setkey(1);
_rec.zero();
_rec.put("TIPOQUA", ' ');
_rec.put("CODDITTA",(long)_codditta);
if (_base->read(_rec) == NOERR)
KEY k = K_YES;
if (check_dirty && m.dirty())
k = yesnocancel_box("Registrare le modifiche?");
if (k == K_YES)
{
_rec.put("CODDIC",(long)new_codic);
_base->rewrite(_rec);
}
const long new_codic = m.get_long(F_CODDIC);
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
TRectype _recbis = _basebis->curr();
_basebis->setkey(1);
_recbis.zero();
_recbis.put("TIPOQUA", ' ');
_recbis.put("CODDITTA",(long)_codditta);
TRectype _recbis = _basebis->curr();
_basebis->setkey(1);
_recbis.zero();
_recbis.put("TIPOQUA", ' ');
_recbis.put("CODDITTA",(long)_codditta);
if (_basebis->read(_recbis) == NOERR)
{
_recbis.put("CODDIC",(long)new_codic);
_basebis->rewrite(_rec);
}
if (_basebis->read(_recbis) == NOERR)
{
_recbis.put("CODDIC",(long)new_codic);
_basebis->rewrite(_rec);
}
// 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
// il dichiarante crea un record duplicato!
if (new_codic != 0L)
if (!exist_dichiar_770(new_codic, TRUE))
enter_dichiar_770(new_codic, anno_770(), TRUE);
if (new_codic != 0L)
if (!exist_dichiar_770(new_codic, TRUE))
enter_dichiar_770(new_codic, anno_770(), TRUE);
}
return TRUE;
return k;
}
bool TEstinti_app::main_loop()
@ -173,20 +175,20 @@ bool TEstinti_app::main_loop()
_msk->enable(F_CODDIC, !dichiarante);
_msk->enable(F_ESTINTI, dichiarante);
_msk->enable(DLG_SAVEREC,!dichiarante);
_msk->set_mode(MODE_MOD);
tasto = _msk->run();
switch (tasto) {
case K_ENTER:
if (_msk->dirty())
// Se e' un dichiarante F_CODDIC e' disabilitato e non c'e' nulla da salvare
if (!dichiarante)
save(*_msk, coddic);
if (!dichiarante)
save(*_msk, coddic);
break;
case K_ESC :
tasto = K_QUIT;
break;
case K_QUIT :
if (!dichiarante && (save(*_msk, coddic, TRUE) == K_ESC))
tasto = K_ESC;
break;
case K_SAVE :
if (!dichiarante)

View File

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

View File

@ -6,13 +6,10 @@
#include <real.h>
#include <sheet.h>
// #include "770101.h" (sembra non servire)
class TSchedaP;
// Flag di record del dichiarante (quadro I "globale")
HIDDEN const char COD_QUA_I_DIC = 'D';
HIDDEN const char DELEGA_BANCARIA = 'B';
HIDDEN const char DISTINTA = 'D';
HIDDEN const char CC_POSTALE = 'C';
@ -110,6 +107,9 @@ const char* cod_fis(const long codditta);
// Ritorna la descrizione della causale
const char* get_desc_cau(const char* codcau);
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

View File

@ -5,20 +5,19 @@
#include <isam.h>
#include <anagr.h>
#include <tabutil.h>
#include <comuni.h>
#include "scperc.h"
#include "perc.h"
#include "rver.h"
#include "rpag.h"
#include "quadrol.h"
#include "dipend.h" // per is_erede
// #include "770101.h" // per TSchedaPE (sembra non servire)
#include "77lib.h"
HIDDEN real __dep;
HIDDEN TString80 __tmp;
HIDDEN const char* _build_key(TVersamento& vers);
// La ditta corrente 770
HIDDEN long _codditta_770 = 0L;
HIDDEN long _codditta_770 = 0L; // La ditta corrente 770
#define QUALIF_EREDE "11"
@ -373,6 +372,74 @@ bool esiste_pag_in_anno(TSchedaP& sch, const int annodic, const TDate& data_da,
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
//////////////////////////////////////////////////////////////////////////////

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