Ho fatto troppe modifiche per poterle descrivere tutte in codesto luogo

pertanto rimando chi fosse interessato ai dettagli, alla consultazione
del documento crono.doc sulla mia macchina.


git-svn-id: svn://10.65.10.50/trunk@4134 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luciano 1997-02-14 15:39:49 +00:00
parent d18a572f45
commit 6449f498db
32 changed files with 2966 additions and 2946 deletions

View File

@ -42,7 +42,8 @@ class TDati_anagrafici : public TApplication
static bool fisica_handler(TMask_field&, KEY); static bool fisica_handler(TMask_field&, KEY);
static bool giuridica_handler(TMask_field&, KEY); static bool giuridica_handler(TMask_field&, KEY);
static bool anagrafica_handler(TMask_field&, KEY); static bool anagrafica_handler(TMask_field&, KEY);
static bool anagr_dich_handler(TMask_field&, KEY); static bool anagr_dich_handler(TMask_field&, KEY);
// bottone ditta in DatiCAAF // bottone ditta in DatiCAAF
static bool DCditta_handler(TMask_field&, KEY); static bool DCditta_handler(TMask_field&, KEY);
TMask* _msk; TMask* _msk;
@ -94,6 +95,7 @@ TDati_anagrafici::TDati_anagrafici(char anagrafica) : _titolo(50), _ana(toupper(
HIDDEN TDati_anagrafici& app() { return (TDati_anagrafici &) main_app(); } HIDDEN TDati_anagrafici& app() { return (TDati_anagrafici &) main_app(); }
bool TDati_anagrafici::codditta_hnd(TMask_field& f, KEY k) bool TDati_anagrafici::codditta_hnd(TMask_field& f, KEY k)
{ {
if (k == K_TAB && !(f.mask().is_running()) ) if (k == K_TAB && !(f.mask().is_running()) )
@ -124,15 +126,15 @@ bool TDati_anagrafici::attivita_handler(TMask_field& m, KEY k)
body << "1" << "|"; body << "1" << "|";
body << m.mask().get(F_CODDITTA) << "|"; body << m.mask().get(F_CODDITTA) << "|";
// body << m.mask().get(F_ATTIV) << "|"; body << m.mask().get(F_ATTIV) << "|";
// body << m.mask().get(F_ATTIV); body << m.mask().get(F_ATTIV);
TMessage msg(cmd2name(appname), MSG_LN, (const char*) body); TMessage msg(appname, MSG_LN, (const char*) body);
msg.send();
TMailbox mb;
mb.send(msg);
TExternal_app a(appname); TExternal_app a(appname);
a.run(); a.run();
m.set_focus(); m.set_focus();
xvt_statbar_set(""); xvt_statbar_set("");
@ -154,7 +156,7 @@ bool TDati_anagrafici::DCditta_handler(TMask_field& f, KEY k)
body.add(lDittaCaaf); // ditta per il campo codice ditta body.add(lDittaCaaf); // ditta per il campo codice ditta
body.add(lDittaCaaf); // ditta per il secondo campo codice ditta body.add(lDittaCaaf); // ditta per il secondo campo codice ditta
TString16 cmd("ba4 -2"); TString16 cmd("ba4 -2");
TMessage msg(cmd2name(cmd), MSG_LN, (const char*) body); TMessage msg(cmd, MSG_LN, (const char*) body);
msg.send(); msg.send();
TExternal_app a(cmd); TExternal_app a(cmd);
a.run(); a.run();
@ -512,15 +514,19 @@ bool TDati_anagrafici::create()
if (Rappresentante()) if (Rappresentante())
{ {
_msk = new TMask ("771100c"); _msk = new TMask ("771100c");
_msk->set_handler(F_FISICA, fisica_handler); _msk->set_handler(F_FISICA, fisica_handler);
} }
if (ScrittureContabili()) if (ScrittureContabili())
{ {
_msk = new TMask ("771100d"); _msk = new TMask ("771100d");
_msk->set_handler(F_ANAGR, indirizzo); _msk->set_handler(F_ANAGR, indirizzo);
_msk->set_handler(F_ATTIVITA, attivita_handler); _msk->set_handler(F_ATTIVITA, attivita_handler);
_msk->set_handler(F_ANAGRAFICA, anagrafica_handler); _msk->set_handler(F_FISICA, anagrafica_handler);
_msk->set_handler(F_GIURIDICA,anagrafica_handler);
_msk->disable(DLG_SAVEREC);
_msk->disable(DLG_CANCEL);
} }
if (DatiCAAF()) if (DatiCAAF())
@ -528,8 +534,7 @@ bool TDati_anagrafici::create()
_msk = new TMask ("771100e"); _msk = new TMask ("771100e");
_msk->set_handler(F_ANAGR, niscraa); _msk->set_handler(F_ANAGR, niscraa);
_msk->set_handler(F_GIURIDICA, giuridica_handler); _msk->set_handler(F_GIURIDICA, giuridica_handler);
_msk->set_handler(F_DITTACAAF, ditta_caaf); _msk->set_handler(F_DITTACAAF, ditta_caaf);
// bottone ditte
_msk->set_handler(DCF_DITTA, DCditta_handler); _msk->set_handler(DCF_DITTA, DCditta_handler);
} }
@ -574,7 +579,12 @@ bool TDati_anagrafici::main_loop()
{ {
_rel->lfile().put("CODDITTA", _codditta); _rel->lfile().put("CODDITTA", _codditta);
_rel->read(); _rel->read();
_msk->autoload(*_rel); _msk->autoload(*_rel);
// controllo se indicato rappresentante
if (Rappresentante() && (_msk->get_long(F_ANAGR) == 0L))
message_box("Il rappresentante non e' stato indicato.");
tasto = _msk->run(); tasto = _msk->run();
switch (tasto) switch (tasto)

View File

@ -65,8 +65,7 @@
#define F_PROVCS 261 #define F_PROVCS 261
#define F_PTELCS 262 #define F_PTELCS 262
#define F_TELCS 263 #define F_TELCS 263
#define F_ATTIVITA 264 #define F_ATTIVITA 264
#define F_ANAGRAFICA 265
// Campi maschera dati CAAF 771100e.uml // Campi maschera dati CAAF 771100e.uml

View File

@ -1,22 +1,16 @@
// 771100c.uml - Dati rappresentante // 771100c.uml - Dati rappresentante
#include "771100.h" #include "771100.h"
//
// Lista modifiche
//
// 2.4.96 Aggiunto numero di telefono
//
TOOLBAR "" 0 20 0 2 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
@ -36,7 +30,7 @@ END
ENDPAGE ENDPAGE
PAGE "Dati relativi al rappresentante" -1 -1 78 18 PAGE "Rappresentante" -1 -1 78 18
GROUPBOX DLG_NULL 78 4 GROUPBOX DLG_NULL 78 4
BEGIN BEGIN
@ -64,11 +58,10 @@ END
NUMBER F_ANAGR 5 NUMBER F_ANAGR 5
BEGIN BEGIN
PROMPT 1 4 "Codice rappresentante " PROMPT 1 4 "Codice rappresentante "
FLAGS "D" FLAGS "D"
USE LF_NDITTE USE LF_NDITTE
INPUT CODDITTA F_CODDITTA INPUT CODDITTA F_CODDITTA
FIELD LF_NDITTE->RAPPR FIELD LF_NDITTE->RAPPR
CHECKTYPE NORMAL
JOIN LF_ANAG INTO CODANAGR=RAPPR TIPOA="F" JOIN LF_ANAG INTO CODANAGR=RAPPR TIPOA="F"
JOIN LF_ANAGFIS TO LF_ANAG INTO CODANAGR=CODANAGR JOIN LF_ANAGFIS TO LF_ANAG INTO CODANAGR=CODANAGR
JOIN LF_COMUNI TO LF_ANAGFIS INTO COM==COMNASC JOIN LF_COMUNI TO LF_ANAGFIS INTO COM==COMNASC
@ -94,47 +87,9 @@ BEGIN
OUTPUT F_DOMFISC LF_ANAG->VARSLORES OUTPUT F_DOMFISC LF_ANAG->VARSLORES
OUTPUT F_ANAGR LF_ANAGFIS->CODANAGR OUTPUT F_ANAGR LF_ANAGFIS->CODANAGR
OUTPUT F_PTELRF LF_ANAG->PTELRF OUTPUT F_PTELRF LF_ANAG->PTELRF
OUTPUT F_TELRF LF_ANAG->TELRF OUTPUT F_TELRF LF_ANAG->TELRF
END END
/*
NUMBER F_ANAGR 5
BEGIN
PROMPT 1 4 "Codice rappresentante "
USE LF_ANAGFIS KEY 1
INPUT CODANAGR F_ANAGR
JOIN LF_ANAG TO LF_ANAGFIS INTO CODANAGR=CODANAGR TIPOA="F"
JOIN LF_COMUNI TO LF_ANAGFIS INTO COM==COMNASC
JOIN LF_COMUNI TO LF_ANAG ALIAS 1 INTO COM==COMRES
JOIN LF_COMUNI TO LF_ANAG ALIAS 2 INTO COM==COMRF
DISPLAY "Codice" CODANAGR
DISPLAY "Ragione Sociale@50" LF_ANAG->RAGSOC
OUTPUT F_COFI LF_ANAG->COFI
OUTPUT F_COGNOME LF_ANAG->RAGSOC[1,30]
OUTPUT F_NOME LF_ANAG->RAGSOC[31,50]
OUTPUT F_SESSO SESSO
OUTPUT F_DATANASC DATANASC
OUTPUT F_COMNASC LF_COMUNI->DENCOM
OUTPUT F_PROVNASC LF_COMUNI->PROVCOM
OUTPUT F_INDRES LF_ANAG->INDRES
OUTPUT F_CIVRES LF_ANAG->CIVRES
OUTPUT F_CAPRES LF_ANAG->CAPRES
OUTPUT F_INDRF LF_ANAG->INDRF
OUTPUT F_CIVRF LF_ANAG->CIVRF
OUTPUT F_CAPRF LF_ANAG->CAPRF
OUTPUT F_COMRES 1@->DENCOM
OUTPUT F_PROVRES 1@->PROVCOM
OUTPUT F_COMRF 2@->DENCOM
OUTPUT F_PROVRF 2@->PROVCOM
OUTPUT F_DOMFISC LF_ANAG->VARSLORES
OUTPUT F_ANAGR LF_ANAGFIS->CODANAGR
OUTPUT F_PTELRF LF_ANAG->PTELRF
OUTPUT F_TELRF LF_ANAG->TELRF
FIELD LF_BASE->RAPPR
CHECKTYPE NORMAL
FLAGS "R"
END
*/
STRING F_COFI 16 STRING F_COFI 16
BEGIN BEGIN
PROMPT 1 5 "Codice fiscale " PROMPT 1 5 "Codice fiscale "

View File

@ -2,11 +2,16 @@
TOOLBAR "" 0 20 0 2 TOOLBAR "" 0 20 0 2
BUTTON F_ANAGRAFICA 10 2 BUTTON F_FISICA 10 2
BEGIN BEGIN
PROMPT -15 -1 "~Anagrafica" PROMPT -15 -1 "F~isiche"
END END
BUTTON F_GIURIDICA 10 2
BEGIN
PROMPT -15 -1 "~Giuridiche"
END
BUTTON F_ATTIVITA 10 2 BUTTON F_ATTIVITA 10 2
BEGIN BEGIN
PROMPT -25 -1 "~Attività" PROMPT -25 -1 "~Attività"
@ -81,7 +86,9 @@ LIST ASCF_TIPOA 9
BEGIN BEGIN
PROMPT 1 5 "Tipo persona " PROMPT 1 5 "Tipo persona "
ITEMS "G|Societa'" ITEMS "G|Societa'"
MESSAGE HIDE,F_FISICA|SHOW,F_GIURIDICA
ITEMS "F|Fisica" ITEMS "F|Fisica"
MESSAGE SHOW,F_FISICA|HIDE,F_GIURIDICA
FLAGS "D" FLAGS "D"
END END

View File

@ -8,14 +8,15 @@ BUTTON F_BTN_GIURIDICA 10 2
BEGIN BEGIN
PROMPT -14 -1 "~Giuridiche" PROMPT -14 -1 "~Giuridiche"
END END
BUTTON F_BTN_FISICA 10 2 BUTTON F_BTN_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

@ -21,7 +21,7 @@ END
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 3 1 "Ditta " PROMPT 3 1 "Ditta "
FLAGS "GRD" FLAGS "GRDP"
KEY 1 KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
@ -33,13 +33,13 @@ 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 3 "Anno dichiarazione " PROMPT 52 3 "Anno dichiarazione "
FLAGS "DR" FLAGS "DRP"
END END
TEXT DLG_NULL TEXT DLG_NULL

View File

@ -27,7 +27,7 @@ END
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 3 1 "Ditta " PROMPT 3 1 "Ditta "
FLAGS "GRD" FLAGS "GRDP"
KEY 1 KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
@ -39,13 +39,13 @@ 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 3 "Anno dichiarazione " PROMPT 52 3 "Anno dichiarazione "
FLAGS "DR" FLAGS "DRP"
END END
TEXT DLG_NULL TEXT DLG_NULL
@ -103,7 +103,7 @@ END
NUMBER F_CODANAGRCOM 5 NUMBER F_CODANAGRCOM 5
BEGIN BEGIN
PROMPT 15 8 "" PROMPT 16 8 ""
USE LF_ANAG USE LF_ANAG
INPUT TIPOA F_TIPOA SELECT INPUT TIPOA F_TIPOA SELECT
INPUT CODANAGR F_CODANAGRCOM INPUT CODANAGR F_CODANAGRCOM

View File

@ -13,7 +13,7 @@ END
NUMBER PE1F_CODDITTA 5 NUMBER PE1F_CODDITTA 5
BEGIN BEGIN
PROMPT 3 1 "Ditta " PROMPT 3 1 "Ditta "
FLAGS "GRD" FLAGS "GRDP"
KEY 1 KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
@ -25,7 +25,7 @@ END
STRING PE1F_RAGDITTA 50 STRING PE1F_RAGDITTA 50
BEGIN BEGIN
PROMPT 17 1 "Ragione " PROMPT 17 1 "Ragione "
FLAGS "D" FLAGS "DP"
END END
STRING PE1F_CODCAUS 2 STRING PE1F_CODCAUS 2

View File

@ -88,8 +88,7 @@ class TQuadroF : public TRelation_application
void init_mask (TMask&); void init_mask (TMask&);
void fill_ss(TMask& m); void fill_ss(TMask& m);
void riempi_prospetto(TMask& m, const char prosp); void riempi_prospetto(TMask& m, const char prosp);
int re_write(const TMask& m, bool re); int re_write(const TMask& m, bool re);
int elimina();
public: public:
TString16 _quadro, _aliq_caus; TString16 _quadro, _aliq_caus;
@ -162,7 +161,7 @@ void TQuadroF::init_insert_mode (TMask& m)
void TQuadroF::init_modify_mode (TMask& m) void TQuadroF::init_modify_mode (TMask& m)
{ {
m.disable(DLG_DELREC); // disabilito Elimina nella toolbar // m.disable(DLG_DELREC); // disabilito Elimina nella toolbar
} }
void TQuadroF::init_query_mode (TMask& m) void TQuadroF::init_query_mode (TMask& m)
@ -656,43 +655,27 @@ int TQuadroF::re_write(const TMask& m, bool re)
} }
else else
return err_b; return err_b;
}
int TQuadroF::elimina()
{
int err;
// eliminazione righe del quadro
TRectype& recrf = _rf->curr();
recrf.zero();
recrf.put("CODDITTA",_codditta);
_rf->setkey(1);
for (err = _rf->read(_isequal, _lock); // stato iniziale
err == NOERR; // condizione di uscita
err = _rf->read(_isequal, _lock)) // incremento
{
_rf->remove(); // eliminazione riga quadro
}
if (err == _iskeynotfound)
_rf->reread();
return err;
} }
bool TQuadroF::remove() bool TQuadroF::remove()
{ {
bool ok, ok_a, ok_b, ok_c, ok_d; bool ok, ok_a, ok_b, ok_c, ok_d;
ok = TRelation_application::remove(); ok = TRelation_application::remove();
ok_b = _prosp_b->remove(); ok_b = _prosp_b->remove() == NOERR;
_prosp_b->destroy_rows();
if (_quadro == "F") if (_quadro == "F")
{ {
ok_a = _prosp_a->remove(); ok_a = _prosp_a->remove() == NOERR;
ok_c = _prosp_c->remove(); _prosp_a->destroy_rows();
ok_d = _prosp_d->remove(); ok_c = _prosp_c->remove() == NOERR;
return ok && ok_a && ok_b && ok_c && ok_d; _prosp_c->destroy_rows();
ok_d = _prosp_d->remove() == NOERR;
_prosp_d->destroy_rows();
return _registra = ok && ok_a && ok_b && ok_c && ok_d;
} }
else else
return ok && ok_b; return _registra = ok && ok_b;
} }
bool TQuadroF::a_notify(TSheet_field& s, int r, KEY k) bool TQuadroF::a_notify(TSheet_field& s, int r, KEY k)

View File

@ -128,7 +128,7 @@ void TQuadroG::init_insert_mode (TMask& m)
void TQuadroG::init_modify_mode (TMask& m) void TQuadroG::init_modify_mode (TMask& m)
{ {
m.disable(DLG_DELREC);
} }
void TQuadroG::init_query_mode (TMask& m) void TQuadroG::init_query_mode (TMask& m)
@ -303,6 +303,7 @@ bool TQuadroG::user_create()
_msk->disable(DLG_DELREC); // disabilito Elimina nella toolbar _msk->disable(DLG_DELREC); // disabilito Elimina nella toolbar
_msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar _msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar
_msk->set_handler(DLG_DISTINTA, exec_distinta); _msk->set_handler(DLG_DISTINTA, exec_distinta);
_msk->set_handler(mainmsk_handler);
TSheet_field& p1 = (TSheet_field&) _msk->field(F_P1); TSheet_field& p1 = (TSheet_field&) _msk->field(F_P1);
p1.set_notify(p1_notify); p1.set_notify(p1_notify);
p1.sheet_mask().set_handler(NUM_AZ, calc_amm); p1.sheet_mask().set_handler(NUM_AZ, calc_amm);
@ -670,8 +671,8 @@ int TQuadroG::rewrite(const TMask& m)
bool TQuadroG::remove() bool TQuadroG::remove()
{ {
const bool ok = TRelation_application::remove(); _registra = TRelation_application::remove();
return ok; return _registra;
} }
bool TQuadroG::p1_notify(TSheet_field& s, int r, KEY k) bool TQuadroG::p1_notify(TSheet_field& s, int r, KEY k)
@ -773,3 +774,12 @@ bool TQuadroG::pIII_notify(TSheet_field& s, int r, KEY k)
return TRUE; return TRUE;
} }
bool TQuadroG::mainmsk_handler(TMask& m, KEY k)
{
if (k == K_ESC)
{
TOperable_field& f = m.focus_field();
m.set_focus_field(f.dlg());
}
return TRUE;
}

View File

@ -31,7 +31,8 @@ class TQuadroG : public TRelation_application
static bool pIII_notify(TSheet_field& s, int r, KEY k); static bool pIII_notify(TSheet_field& s, int r, KEY k);
static bool calc_amm(TMask_field& f, KEY k); static bool calc_amm(TMask_field& f, KEY k);
static bool exec_distinta(TMask_field& f, KEY k); static bool exec_distinta(TMask_field& f, KEY k);
static void update_totals(TSheet_field& f, int ss); static void update_totals(TSheet_field& f, int ss);
static bool mainmsk_handler(TMask& m, KEY k);
protected: protected:
virtual bool user_create(); virtual bool user_create();
virtual bool user_destroy(); virtual bool user_destroy();
@ -113,8 +114,9 @@ class TQuadroG1 : public TRelation_application
TString16 _quadro; TString16 _quadro;
TString80 _title; TString80 _title;
bool _registra; bool _registra;
static bool p1_notify(TSheet_field& s, int r, KEY k); static bool p1_notify(TSheet_field& s, int r, KEY k);
static void update_totals(TSheet_field& f); static void update_totals(TSheet_field& f);
static bool mainmsk_handler(TMask& m, KEY k);
protected: protected:
virtual bool user_create(); virtual bool user_create();
virtual bool user_destroy(); virtual bool user_destroy();

View File

@ -188,4 +188,4 @@
#define F_DATADELIB 293 #define F_DATADELIB 293
#define F_DATADISTR 294 #define F_DATADISTR 294
#define DLG_AZZERA 295

View File

@ -50,9 +50,9 @@ BEGIN
PROMPT -23 -1 "" PROMPT -23 -1 ""
END END
BUTTON DLG_NULL 9 2 BUTTON DLG_AZZERA 9 2
BEGIN BEGIN
PROMPT -33 -1 "Azzera" PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@ MESSAGE RESET,1@
END END

View File

@ -53,9 +53,9 @@ BEGIN
PROMPT -23 -1 "" PROMPT -23 -1 ""
END END
BUTTON DLG_NULL 9 2 BUTTON DLG_AZZERA 9 2
BEGIN BEGIN
PROMPT -33 -1 "Azzera" PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@ MESSAGE RESET,1@
END END

File diff suppressed because it is too large Load Diff

View File

@ -25,7 +25,7 @@
HIDDEN TString80 __tmp; HIDDEN TString80 __tmp;
HIDDEN const int NUM_QUADRI = 26; HIDDEN const int NUM_QUADRI = 26;
HIDDEN const int QUADRO_L = 30; HIDDEN const int QUADRO_L = 27;
typedef enum { grassetto=0, sottolineato, piano } stile; typedef enum { grassetto=0, sottolineato, piano } stile;
@ -38,7 +38,8 @@ class TManutenzione_quadri : public TApplication
TLocalisamfile* _base, *_basebis; TLocalisamfile* _base, *_basebis;
int _anno_dic; int _anno_dic;
bool _soci; bool _soci;
long _codditta, _coddic; long _codditta, _coddic;
TString _qcomp_prev;
protected: protected:
virtual bool create(); virtual bool create();
@ -192,7 +193,10 @@ bool TManutenzione_quadri::create()
_base = new TLocalisamfile(LF_BASE); _base = new TLocalisamfile(LF_BASE);
_basebis = new TLocalisamfile(LF_BASEBIS); _basebis = new TLocalisamfile(LF_BASEBIS);
_rel = new TRelation(LF_BASE); _rel = new TRelation(LF_BASE);
_rel->add(LF_BASEBIS, "CODDITTA=CODDITTA"); _rel->add(LF_BASEBIS, "CODDITTA=CODDITTA");
// inizializza stato precedente quadri per ottimizzazione enphasize
_qcomp_prev.spaces(NUM_QUADRI+1);
load_mask(0); load_mask(0);
dispatch_e_menu (BAR_ITEM(1)); dispatch_e_menu (BAR_ITEM(1));
@ -327,36 +331,50 @@ void TManutenzione_quadri::inibith(TString& qric, TMask& m)
} }
// //
// Metto in grassetto i quadri gia' compilati // Metto in grassetto i quadri gia' compilati
// ma solo quelli variati dal ciclo precedente
// Il quadro L non ha il flag di compilato sul base. // Il quadro L non ha il flag di compilato sul base.
// void TManutenzione_quadri::enphasize(TString& qcomp,TMask& m)
void TManutenzione_quadri::enphasize(TString& qcomp, TMask& m)
{ {
int start_dlg = DLG_NULL_A; int start_dlg = DLG_NULL_A;
const char* prompt; const char* prompt;
const int L = 19; const int L = 19;
int dlg = 0; int dlg = 0;
char qcompL;
// quadri fino al quadro L non compreso
for (int i = 0; i < L; i++) for (int i = 0; i < L; i++)
{ {
dlg = start_dlg + (i * 2); if (qcomp[i] != _qcomp_prev[i])
prompt = make_prompt(i, qcomp[i] == 'X' ? grassetto : piano); {
m.field(dlg).set_prompt(prompt); dlg = start_dlg + (i * 2);
} prompt = make_prompt(i, qcomp[i] == 'X' ? grassetto : piano);
m.field(dlg).set_prompt(prompt);
prompt = esiste_record_L(get_firm_770(), _anno_dic) ? _qcomp_prev[i] = qcomp[i];
make_prompt(QUADRO_L, grassetto) : }
make_prompt(QUADRO_L, piano); }
dlg = start_dlg + (i * 2);
m.field(dlg).set_prompt(prompt);
// quadro L
qcompL = esiste_record_L(get_firm_770(), _anno_dic) ? 'X' : ' ';
if (qcompL != _qcomp_prev[QUADRO_L])
{
dlg = start_dlg + (i * 2);
prompt = make_prompt(QUADRO_L, qcompL == 'X' ? grassetto : piano);
m.field(dlg).set_prompt(prompt);
_qcomp_prev[QUADRO_L] = qcompL;
}
// rimanenti quadri
for (i = L+1; i < NUM_QUADRI; i++) for (i = L+1; i < NUM_QUADRI; i++)
{ {
int dlg = start_dlg + (i * 2); // Controlla qcomp[i-1] perche' in QCOMP non c'e' il flag del quadro L
// Controlla qcomp[i-1] perche' in QCOMP non c'e' il flag del quadro L if (qcomp[i-1] != _qcomp_prev[i-1])
prompt = make_prompt(i-1, qcomp[i-1] == 'X' ? grassetto : piano); {
m.field(dlg).set_prompt(prompt); int dlg = start_dlg + (i * 2);
prompt = make_prompt(i-1, qcomp[i-1] == 'X' ? grassetto : piano);
m.field(dlg).set_prompt(prompt);
_qcomp_prev[i-1] = qcomp[i-1];
}
} }
} }
@ -478,7 +496,7 @@ void TManutenzione_quadri::init_menu(TMask& m)
int rt = _basebis->read(); int rt = _basebis->read();
qcomp = _basebis->get("QCOMP"); qcomp = _basebis->get("QCOMP");
qric = _basebis->get("QSUPPRIC"); qric = _basebis->get("QSUPPRIC");
if (qcomp == "") qcomp.spaces(); if (qcomp == "") qcomp.spaces();
if (qric == "") qric.spaces(); if (qric == "") qric.spaces();

View File

@ -1060,7 +1060,7 @@ BEGIN
PROMPT 39 ROW4 "" PROMPT 39 ROW4 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,772MOD,-4,E,D|K_TAB,RILEGGI_QUADRI MESSAGE RUN,772MOD,-4,E,D|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "HD"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
@ -1076,7 +1076,7 @@ BEGIN
PROMPT 39 ROW5 "" PROMPT 39 ROW5 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,772MOD,-4,E1,D|K_TAB,RILEGGI_QUADRI MESSAGE RUN,772MOD,-4,E1,D|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "HD"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
@ -1092,7 +1092,7 @@ BEGIN
PROMPT 39 ROW6 "" PROMPT 39 ROW6 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,772MOD,-4,E2,D|K_TAB,RILEGGI_QUADRI MESSAGE RUN,772MOD,-4,E2,D|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "HD"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
// Fine terza colonna // Fine terza colonna
@ -1110,7 +1110,7 @@ BEGIN
PROMPT 58 ROW1 "" PROMPT 58 ROW1 ""
PICTURE 123 PICTURE 123
// MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI // MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "HD"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
@ -1126,7 +1126,7 @@ BEGIN
PROMPT 58 ROW2 "" PROMPT 58 ROW2 ""
PICTURE 123 PICTURE 123
// MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI // MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "HD"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
@ -1142,7 +1142,7 @@ BEGIN
PROMPT 58 ROW3 "" PROMPT 58 ROW3 ""
PICTURE 123 PICTURE 123
// MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI // MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "HD"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END
@ -1174,7 +1174,7 @@ BEGIN
PROMPT 58 ROW5 "" PROMPT 58 ROW5 ""
PICTURE 123 PICTURE 123
// MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI // MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
FLAGS "H" FLAGS "HD"
GROUP MENU_STAMPEDICH GROUP MENU_STAMPEDICH
END END

View File

@ -1,483 +1,482 @@
// 776300.cpp - Selezione dichiarazioni per menu' stampe // 776300.cpp - Selezione dichiarazioni per menu' stampe
#include <confapp.h> #include <confapp.h>
#include <mask.h> #include <mask.h>
#include <isam.h> #include <isam.h>
#include <sheet.h> #include <sheet.h>
#include <prefix.h> #include <prefix.h>
#include <progind.h> #include <progind.h>
#include <lffiles.h> #include <lffiles.h>
#include <utility.h> #include <utility.h>
#include <relation.h> #include <relation.h>
#include "776300a.h" #include "776300a.h"
#include "77lib.h" #include "77lib.h"
class TSelezioneDich : public TConfig_application class TSelezioneDich : public TConfig_application
{ {
TString16 _section; TString16 _section;
TBit_array _selected; TBit_array _selected;
TArray_sheet* _ditte, * _ditte_sel; TArray_sheet* _ditte, * _ditte_sel;
TArray _nomiditte; TArray _nomiditte;
TArray _old_ditte; TArray _old_ditte;
TConfig* _user_cnf, * _studio_cnf; TConfig* _user_cnf, * _studio_cnf;
int _n_ditte; int _n_ditte;
int _anno_dic; int _anno_dic;
TRelation* _nditte; TRelation* _nditte;
long _da_cod, _a_cod; long _da_cod, _a_cod;
bool _builded_nomiditte; bool _builded_nomiditte;
void build_nomiditte(); void build_nomiditte();
void build_ditte_sheet(); void build_ditte_sheet();
void build_ditte_sel_sheet(); void build_ditte_sel_sheet();
bool is_in (long codditta); bool is_in (long codditta);
void init_sheet(); void init_sheet();
void check_all_dic(); void check_all_dic();
public: public:
void set_choice_limits(TMask& m); void set_choice_limits(TMask& m);
long select_firm_range(long from, long to); long select_firm_range(long from, long to);
long set_previous_firm_range(); long set_previous_firm_range();
// handlers & handlers // handlers & handlers
static bool to_ditt_handler (TMask_field&, KEY); static bool to_ditt_handler (TMask_field&, KEY);
static bool fr_ditt_handler (TMask_field&, KEY); static bool fr_ditt_handler (TMask_field&, KEY);
static bool to_butt_handler (TMask_field&, KEY); static bool to_butt_handler (TMask_field&, KEY);
static bool fr_butt_handler (TMask_field&, KEY); static bool fr_butt_handler (TMask_field&, KEY);
static bool mask_select (TMask_field&, KEY); static bool mask_select (TMask_field&, KEY);
static bool mask_azzera (TMask_field&, KEY); static bool mask_azzera (TMask_field&, KEY);
// Seleziona tutte le dic // Seleziona tutte le dic
static bool tutte_handler (TMask_field&, KEY); static bool tutte_handler (TMask_field&, KEY);
// Mostra solo le selezionate // Mostra solo le selezionate
static bool dicsel_handler (TMask_field&, KEY); static bool dicsel_handler (TMask_field&, KEY);
virtual bool preprocess_config (TMask& mask, TConfig& config); virtual bool preprocess_config (TMask& mask, TConfig& config);
virtual bool postprocess_config (TMask& mask, TConfig& config); virtual bool postprocess_config (TMask& mask, TConfig& config);
// virtual bool postprocess_config_changed(const char* par, const char* var,const char* oldv, const char* newv); // virtual bool postprocess_config_changed(const char* par, const char* var,const char* oldv, const char* newv);
virtual bool user_create(); virtual bool user_create();
virtual bool user_destroy(); virtual bool user_destroy();
virtual bool firm_change_enabled() const; virtual bool firm_change_enabled() const;
TSelezioneDich() : TConfig_application(CONFIG_USER) , TSelezioneDich() : TConfig_application(CONFIG_USER) ,
_a_cod(0L), _da_cod(0L) {} _a_cod(0L), _da_cod(0L) {}
virtual ~TSelezioneDich() {} virtual ~TSelezioneDich() {}
}; };
HIDDEN TSelezioneDich& app() { return (TSelezioneDich&) main_app(); } HIDDEN TSelezioneDich& app() { return (TSelezioneDich&) main_app(); }
bool TSelezioneDich::user_create() bool TSelezioneDich::user_create()
{ {
const char* edit_mask = "776300a"; const char* edit_mask = "776300a";
_section = name(); _section = name();
_section.cut(2); _section.cut(2);
// Forza la scrittura del file in partenza // Forza la scrittura del file in partenza
// (onde evitare di vedere il messaggio "Nessun parametro da configurare" e di dover // (onde evitare di vedere il messaggio "Nessun parametro da configurare" e di dover
// rientrare). // rientrare).
TConfig* tmp = new TConfig(CONFIG_USER, _section); TConfig* tmp = new TConfig(CONFIG_USER, _section);
tmp->get("EdMask", _section, -1, edit_mask); tmp->get("EdMask", _section, -1, edit_mask);
delete tmp; delete tmp;
_user_cnf = new TConfig(CONFIG_USER, _section); _user_cnf = new TConfig(CONFIG_USER, _section);
_user_cnf->get("EdMask", _section, -1, edit_mask); _user_cnf->get("EdMask", _section, -1, edit_mask);
_studio_cnf = new TConfig(CONFIG_STUDIO); _studio_cnf = new TConfig(CONFIG_STUDIO);
_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",
"@1|Cod.@5|Ragione Sociale@50", 0); "Cod.@5|Ragione Sociale@50", 0x10);
_builded_nomiditte = FALSE; _builded_nomiditte = FALSE;
return TRUE; return TRUE;
} }
bool TSelezioneDich::user_destroy() bool TSelezioneDich::user_destroy()
{ {
delete _ditte; delete _ditte;
delete _ditte_sel; delete _ditte_sel;
delete _nditte; delete _nditte;
delete _user_cnf; delete _user_cnf;
delete _studio_cnf; delete _studio_cnf;
return TRUE; return TRUE;
} }
bool TSelezioneDich::firm_change_enabled() const bool TSelezioneDich::firm_change_enabled() const
{ {
return FALSE; return FALSE;
} }
void TSelezioneDich::init_sheet() void TSelezioneDich::init_sheet()
{ {
_n_ditte = 0l; _n_ditte = 0l;
_old_ditte.destroy(); _old_ditte.destroy();
if (!_builded_nomiditte) if (!_builded_nomiditte)
{ {
build_nomiditte(); build_nomiditte();
_builded_nomiditte = TRUE; _builded_nomiditte = TRUE;
} }
// Legge ditte selezionate dal CONFIG_USER e mette nell'array _old_ditte // Legge ditte selezionate dal CONFIG_USER e mette nell'array _old_ditte
long codditta = 0L; long codditta = 0L;
int i = 0; int i = 0;
TString16 cods; TString16 cods;
while ((codditta = _user_cnf->get_long(DITTE_SEL, _section, i++)) != 0L) while ((codditta = _user_cnf->get_long(DITTE_SEL, _section, i++)) != 0L)
{ {
// Salvo il primo e l'ultimo codice ditta per settare i campi in maschera // Salvo il primo e l'ultimo codice ditta per settare i campi in maschera
if (_da_cod == 0L) _da_cod = codditta; if (_da_cod == 0L) _da_cod = codditta;
_a_cod = codditta; _a_cod = codditta;
cods.format("%5ld", codditta); cods.format("%5ld", codditta);
_old_ditte.add(cods); _old_ditte.add(cods);
} }
build_ditte_sheet(); build_ditte_sheet();
} }
bool TSelezioneDich::preprocess_config (TMask& m, TConfig& config) bool TSelezioneDich::preprocess_config (TMask& m, TConfig& config)
{ {
init_sheet(); init_sheet();
// Setto l'anno dichiarazione con quello preso dai parametri di studio // Setto l'anno dichiarazione con quello preso dai parametri di studio
// ma SOLO SE non gia' compilato nei par. utente // ma SOLO SE non gia' compilato nei par. utente
_anno_dic = (int)_user_cnf->get_long(ANNO_SEL, _section); _anno_dic = (int)_user_cnf->get_long(ANNO_SEL, _section);
if (_anno_dic == 0) if (_anno_dic == 0)
_anno_dic = (int)_studio_cnf->get_long(ANNO_SEL, _section); _anno_dic = (int)_studio_cnf->get_long(ANNO_SEL, _section);
m.set(F_ANNODIC, _anno_dic); m.set(F_ANNODIC, _anno_dic);
// const long l = select_firm_range(_da_cod, _a_cod); // const long l = select_firm_range(_da_cod, _a_cod);
// Evidenzia le ditte precedentemente selezionate. Legge _old_ditte // Evidenzia le ditte precedentemente selezionate. Legge _old_ditte
const long l = set_previous_firm_range(); const long l = set_previous_firm_range();
set_choice_limits(m); set_choice_limits(m);
m.field(F_SELECT).set(format("%ld", l)); m.field(F_SELECT).set(format("%ld", l));
m.set_handler (DLG_SELECT_2, mask_select); m.set_handler (DLG_SELECT_2, mask_select);
m.set_handler (F_ANNULLA, mask_azzera); m.set_handler (F_ANNULLA, mask_azzera);
m.set_handler (A_CODICE, to_ditt_handler); m.set_handler (A_CODICE, to_ditt_handler);
m.set_handler (DA_CODICE, fr_ditt_handler); m.set_handler (DA_CODICE, fr_ditt_handler);
m.set_handler (F_TUTTE, tutte_handler); m.set_handler (F_TUTTE, tutte_handler);
m.set_handler (F_DICSEL, dicsel_handler); m.set_handler (F_DICSEL, dicsel_handler);
return TRUE; return TRUE;
} }
bool TSelezioneDich::is_in (long codditta) bool TSelezioneDich::is_in (long codditta)
{ {
for (int i=0; i<_old_ditte.items(); i++) for (int i=0; i<_old_ditte.items(); i++)
if (codditta == atol((TString&)_old_ditte[i])) if (codditta == atol((TString&)_old_ditte[i]))
return TRUE; return TRUE;
return FALSE; return FALSE;
} }
bool TSelezioneDich::postprocess_config (TMask& m, TConfig& config) bool TSelezioneDich::postprocess_config (TMask& m, TConfig& config)
{ {
if (m.last_key() == K_ENTER) if (m.last_key() == K_ENTER)
{ {
const int anno_dic = m.get_int(F_ANNODIC); const int anno_dic = m.get_int(F_ANNODIC);
const long selec = _ditte->checked(); const long selec = _ditte->checked();
const long items = _ditte->items(); const long items = _ditte->items();
TProgind prg(items, "Registrazione in corso\nAttendere prego...", FALSE, TRUE); TProgind prg(items, "Registrazione in corso\nAttendere prego...", FALSE, TRUE);
// Registro l'anno dic. nei parametri utente // Registro l'anno dic. nei parametri utente
_user_cnf->set(ANNO_SEL, anno_dic); _user_cnf->set(ANNO_SEL, anno_dic);
// Compatto l'array delle ditte nel .ini // Compatto l'array delle ditte nel .ini
int ditte_in_ini = 0; int ditte_in_ini = 0;
long codditta = 0L; long codditta = 0L;
for (int i = 0; i < items; i++) for (int i = 0; i < items; i++)
{ {
if (_selected[i]) if (_selected[i])
{ {
TToken_string& d = (TToken_string&)_nomiditte[i]; TToken_string& d = (TToken_string&)_nomiditte[i];
codditta = d.get_long(1); codditta = d.get_long(1);
_user_cnf->set(DITTE_SEL, codditta, _section, TRUE, ditte_in_ini); _user_cnf->set(DITTE_SEL, codditta, _section, TRUE, ditte_in_ini);
ditte_in_ini++ ; ditte_in_ini++ ;
} }
prg.addstatus(1); prg.addstatus(1);
} }
// Segno l'ultima ditta nel .ini // Segno l'ultima ditta nel .ini
_user_cnf->set(DITTE_SEL, "", _section, TRUE, ditte_in_ini); _user_cnf->set(DITTE_SEL, "", _section, TRUE, ditte_in_ini);
// Reset dei due codici ditta "Da" "A" // Reset dei due codici ditta "Da" "A"
_a_cod = _da_cod = 0L; _a_cod = _da_cod = 0L;
} }
return TRUE; return TRUE;
} }
bool TSelezioneDich::mask_select (TMask_field& f, KEY k) bool TSelezioneDich::mask_select (TMask_field& f, KEY k)
{ {
if (k == K_SPACE) if (k == K_SPACE)
{ {
app()._ditte->enable_check(); app()._ditte->enable_check();
// seleziona e aggiungi alle gia' selezionate // seleziona e aggiungi alle gia' selezionate
if (app()._ditte->run() == K_ENTER) if (app()._ditte->run() == K_ENTER)
{ {
for (long j = 0l; j < app()._ditte->items(); j++) for (long j = 0l; j < app()._ditte->items(); j++)
app()._selected.set(j, app()._ditte->checked(j)); app()._selected.set(j, app()._ditte->checked(j));
app().set_choice_limits(f.mask()); app().set_choice_limits(f.mask());
} }
} }
return TRUE; return TRUE;
} }
bool TSelezioneDich::mask_azzera (TMask_field& f, KEY k) bool TSelezioneDich::mask_azzera (TMask_field& f, KEY k)
{ {
if (k == K_SPACE) if (k == K_SPACE)
{ {
app()._selected.reset(); app()._selected.reset();
f.mask().reset(F_SELECT); f.mask().reset(F_SELECT);
f.mask().reset(DA_CODICE); f.mask().reset(DA_CODICE);
f.mask().reset(A_CODICE); f.mask().reset(A_CODICE);
app()._ditte->check(-1, FALSE); app()._ditte->check(-1, FALSE);
} }
return TRUE; return TRUE;
} }
// --------------------------- handlers per selezione ditte // --------------------------- handlers per selezione ditte
bool TSelezioneDich::to_ditt_handler(TMask_field& f, KEY key) bool TSelezioneDich::to_ditt_handler(TMask_field& f, KEY key)
{ {
TMask& m = f.mask(); TMask& m = f.mask();
if (key == K_F9) if (key == K_F9)
{ {
app().to_butt_handler(f, K_SPACE); app().to_butt_handler(f, K_SPACE);
} }
if (key == K_TAB && f.focusdirty()) if (key == K_TAB && f.focusdirty())
{ {
const long l = app().select_firm_range(m.get_long(DA_CODICE), m.get_long(A_CODICE)); const long l = app().select_firm_range(m.get_long(DA_CODICE), m.get_long(A_CODICE));
app().set_choice_limits(m); app().set_choice_limits(m);
m.field(F_SELECT).set(format("%ld", l)); m.field(F_SELECT).set(format("%ld", l));
} }
return TRUE; return TRUE;
} }
bool TSelezioneDich::fr_ditt_handler(TMask_field& f, KEY key) bool TSelezioneDich::fr_ditt_handler(TMask_field& f, KEY key)
{ {
TMask& m = f.mask(); TMask& m = f.mask();
if (key == K_F9) if (key == K_F9)
{ {
app().fr_butt_handler(f, K_SPACE); app().fr_butt_handler(f, K_SPACE);
} }
else if (key == K_TAB && f.focusdirty()) else if (key == K_TAB && f.focusdirty())
{ {
const long l = app().select_firm_range(m.get_long(DA_CODICE), m.get_long(A_CODICE)); const long l = app().select_firm_range(m.get_long(DA_CODICE), m.get_long(A_CODICE));
app().set_choice_limits(m); app().set_choice_limits(m);
m.field(F_SELECT).set(format("%ld", l)); m.field(F_SELECT).set(format("%ld", l));
} }
return TRUE; return TRUE;
} }
bool TSelezioneDich::to_butt_handler(TMask_field& f, KEY key) bool TSelezioneDich::to_butt_handler(TMask_field& f, KEY key)
{ {
if (key == K_SPACE) if (key == K_SPACE)
{ {
TArray_sheet* sh = app()._ditte; TArray_sheet* sh = app()._ditte;
TMask& m = f.mask(); TMask& m = f.mask();
sh->disable_check(); sh->disable_check();
if (sh->run() == K_ENTER) if (sh->run() == K_ENTER)
{ {
app().select_firm_range(m.get_long(DA_CODICE),sh->row(sh->selected()).get_long(1)); app().select_firm_range(m.get_long(DA_CODICE),sh->row(sh->selected()).get_long(1));
app().set_choice_limits(m); app().set_choice_limits(m);
} }
} }
return TRUE; return TRUE;
} }
bool TSelezioneDich::fr_butt_handler(TMask_field& f, KEY key) bool TSelezioneDich::fr_butt_handler(TMask_field& f, KEY key)
{ {
if (key == K_SPACE) if (key == K_SPACE)
{ {
TMask& m = f.mask(); TMask& m = f.mask();
TArray_sheet* sh = app()._ditte; TArray_sheet* sh = app()._ditte;
sh->disable_check(); sh->disable_check();
if (sh->run() == K_ENTER) if (sh->run() == K_ENTER)
{ {
app().select_firm_range(sh->row(sh->selected()).get_long(1), m.get_long(A_CODICE)); app().select_firm_range(sh->row(sh->selected()).get_long(1), m.get_long(A_CODICE));
app().set_choice_limits(m); app().set_choice_limits(m);
} }
} }
return TRUE; return TRUE;
} }
void TSelezioneDich::check_all_dic() void TSelezioneDich::check_all_dic()
{ {
for (int i = 0; i < _ditte->items(); i++) for (int i = 0; i < _ditte->items(); i++)
_ditte->check(i); _ditte->check(i);
} }
bool TSelezioneDich::tutte_handler(TMask_field& f, KEY key) bool TSelezioneDich::tutte_handler(TMask_field& f, KEY key)
{ {
if (key == K_SPACE) if (key == K_SPACE)
{ {
const bool checked = (f.get() == "X"); const bool checked = (f.get() == "X");
if (checked) if (checked)
{ {
app().check_all_dic(); app().check_all_dic();
app().select_firm_range(0L,0L); app().select_firm_range(0L,0L);
app().set_choice_limits(f.mask()); app().set_choice_limits(f.mask());
} }
} }
return TRUE; return TRUE;
} }
bool TSelezioneDich::dicsel_handler(TMask_field& f, KEY key) bool TSelezioneDich::dicsel_handler(TMask_field& f, KEY key)
{ {
if (key == K_SPACE) if (key == K_SPACE)
{ {
app().build_ditte_sel_sheet(); app().build_ditte_sel_sheet();
app()._ditte_sel->run(); app()._ditte_sel->run();
} }
return TRUE; return TRUE;
} }
void TSelezioneDich::set_choice_limits(TMask& m) void TSelezioneDich::set_choice_limits(TMask& m)
{ {
long first = -1l, last = -1l; long first = -1l, last = -1l;
for (int i = 0; i < _ditte->items(); i++) for (int i = 0; i < _ditte->items(); i++)
{ {
if (_selected[i]) if (_selected[i])
{ {
long dit = _ditte->row(i).get_long(1); long dit = _ditte->row(i).get_long(1);
if (first == -1l) first = dit; if (first == -1l) first = dit;
if (last < dit) last = dit; if (last < dit) last = dit;
} }
} }
if (first != -1) m.field(DA_CODICE).set(format("%ld",first)); if (first != -1) m.field(DA_CODICE).set(format("%ld",first));
if (last != -1) m.field(A_CODICE).set(format("%ld",last)); if (last != -1) m.field(A_CODICE).set(format("%ld",last));
m.set(F_SELECT, _selected.ones()); m.set(F_SELECT, _selected.ones());
} }
// Legge da _old_ditte le ditte selezionate e le evidenzia // Legge da _old_ditte le ditte selezionate e le evidenzia
long TSelezioneDich::set_previous_firm_range() long TSelezioneDich::set_previous_firm_range()
{ {
const long items = _old_ditte.items(); const long items = _old_ditte.items();
for (int i=0; i < items; i++) for (int i=0; i < items; i++)
{ {
const long codditta = atol((TString&)_old_ditte[i]); const long codditta = atol((TString&)_old_ditte[i]);
for (int dit=0; dit < _ditte->items(); dit++) for (int dit=0; dit < _ditte->items(); dit++)
{ {
TToken_string& d = _ditte->row(dit); TToken_string& d = _ditte->row(dit);
const long cod = d.get_long(1); const long cod = d.get_long(1);
if (codditta == cod) if (codditta == cod)
{ {
_selected.set(dit); _selected.set(dit);
_ditte->check(dit); _ditte->check(dit);
break; break;
} }
/************************ /************************
else else
{ {
_selected.set(dit,FALSE); _selected.set(dit,FALSE);
_ditte->uncheck(dit); _ditte->uncheck(dit);
} }
**************************/ **************************/
} }
} }
return _selected.ones(); return _selected.ones();
} }
long TSelezioneDich::select_firm_range(long from, long to) long TSelezioneDich::select_firm_range(long from, long to)
{ {
if (to == 0l) to = 99999L; if (to == 0l) to = 99999L;
for (int i = 0; i < _ditte->items(); i++) for (int i = 0; i < _ditte->items(); i++)
{ {
if (_ditte->row_disabled(i)) if (_ditte->row_disabled(i))
continue; continue;
TToken_string& d = _ditte->row(i); TToken_string& d = _ditte->row(i);
const long cod = d.get_long(1); const long cod = d.get_long(1);
if (cod >= from && cod <= to) if (cod >= from && cod <= to)
{ {
_selected.set(i); _selected.set(i);
_ditte->check(i); _ditte->check(i);
} }
else else
{ {
_selected.set(i,FALSE); _selected.set(i,FALSE);
_ditte->uncheck(i); _ditte->uncheck(i);
} }
} }
return _selected.ones(); return _selected.ones();
} }
// 23/6/95 - Scelta ditte solo tra quelle che hanno dichiarazione // 23/6/95 - Scelta ditte solo tra quelle che hanno dichiarazione
void TSelezioneDich::build_nomiditte() void TSelezioneDich::build_nomiditte()
{ {
_nomiditte.destroy(); _nomiditte.destroy();
// ricostruire _nomiditte e rifare build_ditte_sheet // ricostruire _nomiditte e rifare build_ditte_sheet
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);
_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);
} }
} }
void TSelezioneDich::build_ditte_sheet() void TSelezioneDich::build_ditte_sheet()
{ {
long codditta = 0L; long codditta = 0L;
// build sheet // build sheet
_ditte->destroy(); _ditte->destroy();
for (int i = 0; i < _nomiditte.items(); i++) for (int i = 0; i < _nomiditte.items(); i++)
{ {
TToken_string* d = new TToken_string(64); TToken_string* d = new TToken_string(64);
*d = (TToken_string&)_nomiditte[i]; *d = (TToken_string&)_nomiditte[i];
codditta = d->get_long(1); codditta = d->get_long(1);
const long pos = _ditte->add(d); const long pos = _ditte->add(d);
// Metto check se selezionata o era nei parametri precedenti // Metto check se selezionata o era nei parametri precedenti
if (_selected[i] || is_in(codditta)) if (_selected[i] || is_in(codditta))
_ditte->check(pos); _ditte->check(pos);
} }
} }
// Costruisce un array sheet copiando da nomiditte solo quelle // Costruisce un array sheet copiando da nomiditte solo quelle
// gia' selezionate // gia' selezionate
void TSelezioneDich::build_ditte_sel_sheet() void TSelezioneDich::build_ditte_sel_sheet()
{ {
long codditta = 0L;
// build sheet // build sheet
_ditte_sel->destroy(); _ditte_sel->destroy();
for (int i = 0; i < _nomiditte.items(); i++) for (int i = 0; i < _nomiditte.items(); i++)
{ {
TToken_string* d = new TToken_string(64); // copia da quelle selezionate
*d = (TToken_string&)_nomiditte[i]; TToken_string* d = new TToken_string(64);
codditta = d->get_long(1); *d = (TToken_string&)_nomiditte[i];
// elimina il token riservato alla selezione
// se selezionata o era nei parametri precedenti d->destroy(0);
if (_selected[i])
{ // se selezionata o era nei parametri precedenti
const long pos = _ditte_sel->add(d); if (_selected[i])
// _ditte_sel->check(pos); const long pos = _ditte_sel->add(d);
} }
} }
}
int SelezioneDichiarazioni(int argc, char* argv[])
int SelezioneDichiarazioni(int argc, char* argv[]) {
{ TSelezioneDich app;
TSelezioneDich app; app.run(argc, argv, "Selezione dichiarazione");
app.run(argc, argv, "Selezione dichiarazione"); return 0;
return 0; }
}

View File

@ -60,7 +60,7 @@ END
STRING F_SELECT 5 STRING F_SELECT 5
BEGIN BEGIN
PROMPT 2 8 "Dichiarazioni selezionate " PROMPT 2 8 "Dichiarazioni selezionate "
FLAGS "D" FLAGS "DR"
END END
NUMBER F_ANNODIC 4 NUMBER F_ANNODIC 4

View File

@ -32,8 +32,7 @@ void TQuadroG1::init_insert_mode (TMask& m)
void TQuadroG1::init_modify_mode (TMask& m) void TQuadroG1::init_modify_mode (TMask& m)
{ {
// init_mask(m);
m.disable(DLG_DELREC);
} }
int TQuadroG1::read(TMask& m) int TQuadroG1::read(TMask& m)
@ -98,6 +97,7 @@ bool TQuadroG1::user_create()
_msk->disable(DLG_NEWREC); // disabilito Nuovo nella toolbar _msk->disable(DLG_NEWREC); // disabilito Nuovo nella toolbar
_msk->disable(DLG_DELREC); // disabilito Elimina nella toolbar _msk->disable(DLG_DELREC); // disabilito Elimina nella toolbar
_msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar _msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar
_msk->set_handler(mainmsk_handler);
TSheet_field& p1 = (TSheet_field&) _msk->field(F_PI); TSheet_field& p1 = (TSheet_field&) _msk->field(F_PI);
p1.set_notify(p1_notify); p1.set_notify(p1_notify);
return TRUE; return TRUE;
@ -250,8 +250,8 @@ int TQuadroG1::rewrite(const TMask& m)
bool TQuadroG1::remove() bool TQuadroG1::remove()
{ {
const bool ok = TRelation_application::remove(); _registra = TRelation_application::remove();
return ok; return _registra;
} }
bool TQuadroG1::p1_notify(TSheet_field& s, int r, KEY k) bool TQuadroG1::p1_notify(TSheet_field& s, int r, KEY k)
@ -276,4 +276,13 @@ bool TQuadroG1::p1_notify(TSheet_field& s, int r, KEY k)
} }
return TRUE; return TRUE;
} }
bool TQuadroG1::mainmsk_handler(TMask& m, KEY k)
{
if (k == K_ESC)
{
TOperable_field& f = m.focus_field();
m.set_focus_field(f.dlg());
}
return TRUE;
}

View File

@ -46,8 +46,8 @@ BEGIN
DISPLAY "N°" NPROG DISPLAY "N°" NPROG
DISPLAY "Mese" MESERIF DISPLAY "Mese" MESERIF
DISPLAY "Anno" ANNORIF DISPLAY "Anno" ANNORIF
DISPLAY "Imposta rimborsata" IMPOSTA DISPLAY "Imposta rimborsata" IMPOSTA
DISPLAY "Compensi per l'assistenza" COMPENSI DISPLAY "Compensi per l'assistenza" COMPENSI
OUTPUT QNF_NPROG NPROG OUTPUT QNF_NPROG NPROG
OUTPUT QNF_COMPENSI COMPENSI OUTPUT QNF_COMPENSI COMPENSI
OUTPUT QNF_IMPOSTA IMPOSTA OUTPUT QNF_IMPOSTA IMPOSTA

View File

@ -53,11 +53,11 @@ BEGIN
INPUT NPROG QPF_NPROG INPUT NPROG QPF_NPROG
DISPLAY "N°" NPROG DISPLAY "N°" NPROG
DISPLAY "Imposta versata" IMPOSTA DISPLAY "Imposta versata" IMPOSTA
DISPLAY "Data versamento" DATAVERS
DISPLAY "Tipo" TIPOVERS
DISPLAY "Codice tributo" CODTRIB
DISPLAY "Interessi dipendente" INTERDIP DISPLAY "Interessi dipendente" INTERDIP
DISPLAY "Interessi datore di lavoro" INTERDAT DISPLAY "Interessi datore di lavoro" INTERDAT
DISPLAY "Tipo" TIPOVERS
DISPLAY "Codice tributo" CODTRIB
DISPLAY "Data versamento" DATAVERS
DISPLAY "Serie/ABI" SERIE DISPLAY "Serie/ABI" SERIE
DISPLAY "Numero/Bollettino/CAB" NUMERO DISPLAY "Numero/Bollettino/CAB" NUMERO
OUTPUT QPF_NPROG NPROG OUTPUT QPF_NPROG NPROG

View File

@ -45,11 +45,11 @@ BEGIN
INPUT NPROG QQF_NPROG INPUT NPROG QQF_NPROG
DISPLAY "N°" NPROG DISPLAY "N°" NPROG
DISPLAY "Mese" MESEPAG DISPLAY "Mese" MESEPAG
DISPLAY "Anno" ANNOPAG DISPLAY "Anno" ANNOPAG
DISPLAY "Cod.reg." CODREG
DISPLAY "Interessi o soprattasse" INTERESSI
DISPLAY "Contributo versato" CONTVERS DISPLAY "Contributo versato" CONTVERS
DISPLAY "Contributo rimborsato" CONTRIMB DISPLAY "Contributo rimborsato" CONTRIMB
DISPLAY "Interessi o soprattasse" INTERESSI
DISPLAY "Cod.reg." CODREG
OUTPUT QQF_NPROG NPROG OUTPUT QQF_NPROG NPROG
OUTPUT QQF_CONTRIMB CONTRIMB OUTPUT QQF_CONTRIMB CONTRIMB
OUTPUT QQF_CONTVERS CONTVERS OUTPUT QQF_CONTVERS CONTVERS

View File

@ -46,8 +46,8 @@ BEGIN
DISPLAY "N°" NPROG DISPLAY "N°" NPROG
DISPLAY "Mese" MESERIF DISPLAY "Mese" MESERIF
DISPLAY "Anno" ANNORIF DISPLAY "Anno" ANNORIF
DISPLAY "Imposta rimborsata" IMPRIMB DISPLAY "Imposta rimborsata" IMPRIMB
DISPLAY "Compensi per l'assistenza" COMPENSI DISPLAY "Compensi per l'assistenza" COMPENSI
OUTPUT QRF_NPROG NPROG OUTPUT QRF_NPROG NPROG
OUTPUT QRF_COMPENSI COMPENSI OUTPUT QRF_COMPENSI COMPENSI
OUTPUT QRF_IMPOSTA IMPRIMB OUTPUT QRF_IMPOSTA IMPRIMB

View File

@ -53,11 +53,11 @@ BEGIN
INPUT NPROG QSF_NPROG INPUT NPROG QSF_NPROG
DISPLAY "N°" NPROG DISPLAY "N°" NPROG
DISPLAY "Imposta versata" IMPOSTA DISPLAY "Imposta versata" IMPOSTA
DISPLAY "Data versamento" DATAVERS
DISPLAY "Tipo" TIPOVERS
DISPLAY "Codice tributo" CODTRIB
DISPLAY "Interessi dipendente" INTERDIP DISPLAY "Interessi dipendente" INTERDIP
DISPLAY "Interessi datore di lavoro" INTERDAT DISPLAY "Interessi datore di lavoro" INTERDAT
DISPLAY "Tipo" TIPOVERS
DISPLAY "Codice tributo" CODTRIB
DISPLAY "Data versamento" DATAVERS
DISPLAY "Serie/ABI" SERIE DISPLAY "Serie/ABI" SERIE
DISPLAY "Numero/Bollettino/CAB" NUMERO DISPLAY "Numero/Bollettino/CAB" NUMERO
OUTPUT QSF_NPROG NPROG OUTPUT QSF_NPROG NPROG

View File

@ -45,11 +45,11 @@ BEGIN
INPUT NPROG QTF_NPROG INPUT NPROG QTF_NPROG
DISPLAY "N°" NPROG DISPLAY "N°" NPROG
DISPLAY "Mese" MESEPAG DISPLAY "Mese" MESEPAG
DISPLAY "Anno" ANNOPAG DISPLAY "Anno" ANNOPAG
DISPLAY "Cod.reg." CODREG
DISPLAY "Interessi o soprattasse" INTERESSI
DISPLAY "Contributo versato" CONTVERS DISPLAY "Contributo versato" CONTVERS
DISPLAY "Contributo rimborsato" CONTRIMB DISPLAY "Contributo rimborsato" CONTRIMB
DISPLAY "Interessi o soprattasse" INTERESSI
DISPLAY "Cod.reg." CODREG
OUTPUT QTF_NPROG NPROG OUTPUT QTF_NPROG NPROG
OUTPUT QTF_CONTRIMB CONTRIMB OUTPUT QTF_CONTRIMB CONTRIMB
OUTPUT QTF_CONTVERS CONTVERS OUTPUT QTF_CONTVERS CONTVERS

View File

@ -1,27 +1,27 @@
// batbca7.h - Tabella causali 770 // batbca7.h - Tabella causali 770
#define F_CODCAUS 100 #define F_CODCAUS 100
#define F_CODTRIB 101 #define F_CODTRIB 101
#define F_DESCR1 102 #define F_DESCR1 102
#define F_QUADRAT 103 #define F_QUADRAT 103
#define F_QUADRCE2 104 #define F_QUADRCE2 104
#define F_ASSRIT 105 #define F_ASSRIT 105
#define F_IC 106 #define F_IC 106
#define F_CT 107 #define F_CT 107
#define F_PERASS 108 #define F_PERASS 108
#define F_PERRIT 109 #define F_PERRIT 109
#define F_ARTBIL 110 #define F_ARTBIL 110
#define F_DESCR2 111 #define F_DESCR2 111
#define F_CODQUA 112 #define F_CODQUA 112
#define TCF_CAUSD 113
// Aggiunte 96 #define TCF_CAUSD1 114
#define TCF_CAUSD 113 #define TCF_BINPS 115
#define TCF_CAUSD1 114 #define TCF_PERCINPS 116
#define TCF_BINPS 115 #define TCF_ASSIMPINPS 117
#define TCF_PERCINPS 116 #define TCF_COMMINPS 118
#define TCF_ASSIMPINPS 117 #define TCF_PERCASSPREV 119
#define TCF_COMMINPS 118 #define TCF_CAUSD_DESCR 120
#define TCF_PERCASSPREV 119 #define TCF_CAUSD1_DESCR 121
#define G_INPS 10 #define G_INPS 10
#define INPS_GROUP 7 #define INPS_GROUP 7

View File

@ -17,10 +17,11 @@ BEGIN
HELP "Inserire il codice della causale" HELP "Inserire il codice della causale"
USE %CA7 USE %CA7
INPUT CODTAB F_CODCAUS INPUT CODTAB F_CODCAUS
DISPLAY "Codice causale " CODTAB DISPLAY "Cod.caus." CODTAB
DISPLAY "Codice tributo " I0 DISPLAY "Cod.trib." I0
DISPLAY "Art.bil." I3
DISPLAY "Quadro " S1
DISPLAY "Descrizione @60" S0 DISPLAY "Descrizione @60" S0
DISPLAY "Codice quadro " S1
OUTPUT F_CODCAUS CODTAB OUTPUT F_CODCAUS CODTAB
OUTPUT F_DESCR2 S0 OUTPUT F_DESCR2 S0
OUTPUT F_CODTRIB I0 OUTPUT F_CODTRIB I0
@ -151,7 +152,7 @@ BEGIN
FIELD LF_TABCOM->S1 FIELD LF_TABCOM->S1
END END
STRING F_DESCR1 35 STRING F_DESCR1 60 35
BEGIN BEGIN
PROMPT 1 4 "Descrizione " PROMPT 1 4 "Descrizione "
HELP "Inserire la descrizione della causale" HELP "Inserire la descrizione della causale"
@ -171,45 +172,67 @@ BEGIN
MESSAGE COPY,F_DESCR1,1,22 MESSAGE COPY,F_DESCR1,1,22
END END
LISTBOX TCF_CAUSD 1 62 STRING TCF_CAUSD 1
BEGIN BEGIN
PROMPT 1 5 "Causale D " PROMPT 1 5 "Causale D "
ITEM "|" SHEET "Codice|Descrizione@60"
ITEM "A|A prestaz. di lav. aut. ... nelles. arti o prof. abituale" INPUT TCF_CAUSD
ITEM "B|B prestaz. rese da amministratori, sindaci e revisori..." ITEM " | "
ITEM "C|C prestaz. rese da collaboratori a giornali, riviste, ..." ITEM "A|prestaz. di lav. aut. ... nelles. arti o prof. abituale"
ITEM "D|D prestaz. rese da partecipanti a collegi e commissioni" ITEM "B|prestaz. rese da amministratori, sindaci e revisori..."
ITEM "E|E prestaz. rese dagli sportivi con contratto di lav. autonomo" ITEM "C|prestaz. rese da collaboratori a giornali, riviste, ..."
ITEM "F|F prestaz. ... di rapp. di coll. coord. e c. diversi dai prec" ITEM "D|prestaz. rese da partecipanti a collegi e commissioni"
ITEM "G|G utiliz. economica, da parte dellautore o dellinventore..." ITEM "E|prestaz. rese dagli sportivi con contratto di lav. autonomo"
ITEM "H|H utili ... da contratti di associazione in partecipazioni..." ITEM "F|prestaz. ... di rapp. di coll. coord. e c. diversi dai prec"
ITEM "I|I utili ... ai soci promot. e/o fond. delle soc. di capitale" ITEM "G|utiliz. economica, da parte dellautore o dellinventore..."
ITEM "L|L per la levata di protesti cambiari da parte dei segretar..." ITEM "H|utili ... da contratti di associazione in partecipazioni..."
ITEM "M|M utiliz. economica, ... di soggetto diverso dallautore o..." ITEM "I|utili ... ai soci promot. e/o fond. delle soc. di capitale"
ITEM "N|N indennità corrisp. per la cessaz. di rapporti di coll..." ITEM "L|per la levata di protesti cambiari da parte dei segretar..."
ITEM "P|P indennità corrisp. per la cessaz. dei rapporti di agenzia" ITEM "M|utiliz. economica, ... di soggetto diverso dallautore o..."
ITEM "Q|Q indennità corrisp. per la cessaz. da funzioni notarili" ITEM "N|indennità corrisp. per la cessaz. di rapporti di coll..."
ITEM "R|R indennità corrisp. per la cessaz. di attività sportiva prof" ITEM "P|indennità corrisp. per la cessaz. dei rapporti di agenzia"
ITEM "S|S indennità di trasf. o di rimborso forfettario di spese..." ITEM "Q|indennità corrisp. per la cessaz. da funzioni notarili"
ITEM "T|T altro titolo diverso dai precedenti" ITEM "R|indennità corrisp. per la cessaz. di attività sportiva prof"
ITEM "S|indennità di trasf. o di rimborso forfettario di spese..."
ITEM "T|altro titolo diverso dai precedenti"
OUTPUT TCF_CAUSD
OUTPUT TCF_CAUSD_DESCR
FIELD LF_TABCOM->S2 FIELD LF_TABCOM->S2
FLAGS "D" FLAGS "D"
GROUP GR_CAUDD1 GROUP GR_CAUDD1
END END
LISTBOX TCF_CAUSD1 1 62 STRING TCF_CAUSD_DESCR 60
BEGIN BEGIN
PROMPT 16 5 ""
FLAGS "D"
GROUP GR_CAUDD1
END
STRING TCF_CAUSD1 1
BEGIN
PROMPT 1 6 "Causale D1 " PROMPT 1 6 "Causale D1 "
ITEM "|" SHEET "Codice|Descrizione@60"
ITEM "A|A Agente o rappresentante di commercio monomadatario" INPUT TCF_CAUSD1
ITEM "B|B Agente o rappresentate plurimandatario" ITEM " | "
ITEM "C|C Commissionario" ITEM "A|Agente o rappresentante di commercio monomadatario"
ITEM "D|D Mediatore" ITEM "B|Agente o rappresentate plurimandatario"
ITEM "E|E Procacciatore d'affari" ITEM "C|Commissionario"
ITEM "F|F Per somme assoggettate a ritenuta a titolo d'imposta" ITEM "D|Mediatore"
ITEM "E|Procacciatore d'affari"
ITEM "F|Per somme assoggettate a ritenuta a titolo d'imposta"
OUTPUT TCF_CAUSD1
OUTPUT TCF_CAUSD1_DESCR
FIELD LF_TABCOM->S3 FIELD LF_TABCOM->S3
FLAGS "D" FLAGS "D"
GROUP GR_CAUDD1 GROUP GR_CAUDD1
END
STRING TCF_CAUSD1_DESCR 60
BEGIN
PROMPT 16 6 ""
FLAGS "D"
GROUP GR_CAUDD1
END END
BOOLEAN F_ASSRIT BOOLEAN F_ASSRIT

View File

@ -14,10 +14,13 @@ BEGIN
USE %CAF USE %CAF
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
INPUT CODTAB F_CODCAAF INPUT CODTAB F_CODCAAF
DISPLAY "Codice CAA " CODTAB DISPLAY "Cod.CAA " CODTAB
DISPLAY "Denominazione@50" S0 DISPLAY "Denominazione@50" S0
DISPLAY "Codice fiscale@11" S1
DISPLAY "N.iscr.albo" I1
OUTPUT F_CODCAAF CODTAB OUTPUT F_CODCAAF CODTAB
KEY 1 KEY 1
FLAGS "RZ"
END END
STRING F_DENOM 50 STRING F_DENOM 50

View File

@ -16,19 +16,20 @@ BEGIN
USE %ENT USE %ENT
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
INPUT CODTAB F_CODENTE INPUT CODTAB F_CODENTE
DISPLAY "Codice Ente " CODTAB DISPLAY "Cod.Ente" CODTAB
DISPLAY "Descrizione@60 " S0 DISPLAY "Denominazione@60 " S0
OUTPUT F_CODENTE CODTAB OUTPUT F_CODENTE CODTAB
OUTPUT F_DESCR S0 OUTPUT F_DESCR S0
KEY 1 KEY 1
FLAGS "RZ"
END END
STRING F_DESCR 60 STRING F_DESCR 60
BEGIN BEGIN
PROMPT 4 3 "Descrizione " PROMPT 4 3 "Denominazione "
FIELD LF_TABCOM->S0 FIELD LF_TABCOM->S0
HELP "Inserire la descrizione dell' Ente" HELP "Inserire la descrizione dell' Ente"
WARNING "Manca la descrizione" WARNING "Manca la denominazione"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END

View File

@ -746,11 +746,9 @@ bool TGeneric_application::menu(MENU_TAG)
TMask m(_maskname); TMask m(_maskname);
// if (m.id2pos(F_CODDITTA) > 0)
// m.set_handler(F_CODDITTA, codditta77_handler);
k = m.run(); k = m.run();
if (k == K_QUIT) stop_run();
if (k == K_QUIT || k == K_ESC) stop_run();
return k != K_QUIT; return k != K_QUIT;
} }

View File

@ -9,7 +9,6 @@ BEGIN
GROUP 1 GROUP 1
END END
// Il menu' viene richiamato nell'handler di questo bottone
BUTTON B_SELDIC 1 1 BUTTON B_SELDIC 1 1
BEGIN BEGIN
PROMPT 1 3 "" PROMPT 1 3 ""
@ -255,7 +254,8 @@ BUTTON B_E 1 1
BEGIN BEGIN
PROMPT 39 ROW4 "" PROMPT 39 ROW4 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,772MOD,-4,E,S MESSAGE RUN,772MOD,-4,E,S
FLAG "D"
GROUP 1 GROUP 1
END END
@ -269,7 +269,8 @@ BUTTON B_E1 1 1
BEGIN BEGIN
PROMPT 39 ROW5 "" PROMPT 39 ROW5 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,772MOD,-4,E1,S MESSAGE RUN,772MOD,-4,E1,S
FLAG "D"
GROUP 1 GROUP 1
END END
@ -284,6 +285,7 @@ BEGIN
PROMPT 39 ROW6 "" PROMPT 39 ROW6 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,772MOD,-4,E2,S MESSAGE RUN,772MOD,-4,E2,S
FLAG "D"
GROUP 1 GROUP 1
END END
// Fine terza colonna // Fine terza colonna
@ -300,6 +302,7 @@ BEGIN
PROMPT 58 ROW1 "" PROMPT 58 ROW1 ""
PICTURE 123 PICTURE 123
// MESSAGE RUN,771MOD,-1 // MESSAGE RUN,771MOD,-1
FLAG "D"
GROUP 1 GROUP 1
END END
@ -314,6 +317,7 @@ BEGIN
PROMPT 58 ROW2 "" PROMPT 58 ROW2 ""
PICTURE 123 PICTURE 123
// MESSAGE RUN,771MOD,-1 // MESSAGE RUN,771MOD,-1
FLAG "D"
GROUP 1 GROUP 1
END END
@ -328,6 +332,7 @@ BEGIN
PROMPT 58 ROW3 "" PROMPT 58 ROW3 ""
PICTURE 123 PICTURE 123
// MESSAGE RUN,771MOD,-1 // MESSAGE RUN,771MOD,-1
FLAG "D"
GROUP 1 GROUP 1
END END
@ -356,6 +361,7 @@ BEGIN
PROMPT 58 ROW5 "" PROMPT 58 ROW5 ""
PICTURE 123 PICTURE 123
// MESSAGE RUN,771MOD,-1 // MESSAGE RUN,771MOD,-1
FLAG "D"
GROUP 1 GROUP 1
END END
@ -374,9 +380,9 @@ BEGIN
END END
// Fine QUARTA colonna // Fine QUARTA colonna
BUTTON DLG_QUIT 20 2 BUTTON DLG_CANCEL 20 2
BEGIN BEGIN
PROMPT -12 -1 "Fine" PROMPT -22 -1 "Menu precedente"
END END
ENDPAGE ENDPAGE