Corretti errori sul codice allegato dei clifo

Aggiunte descrizioni nella maschera causali


git-svn-id: svn://10.65.10.50/trunk@809 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1995-01-02 09:31:23 +00:00
parent f62c380327
commit 6256d39aa6
7 changed files with 140 additions and 83 deletions

View File

@ -225,10 +225,9 @@ HIDDEN bool autoexit_handler(TMask_field& f, KEY key)
bool TClifo_application::tipo_handler(TMask_field& f, KEY key) bool TClifo_application::tipo_handler(TMask_field& f, KEY key)
{ {
TMask& m = f.mask(); TMask& m = f.mask();
const bool fis = f.get() == "F"; const bool fis = f.get() == "F";
m.show(-5, app()._lbcn && fis);
m.send_key(K_SHIFT + K_CTRL + (app()._lbcn && fis ? 's' : 'h'), -5);
return TRUE; return TRUE;
} }
@ -259,7 +258,7 @@ bool TClifo_application::percip_handler(TMask_field& f, KEY key)
if (p.empty()) m.set(F_PAIV, anag.get(ANA_PAIV)); if (p.empty()) m.set(F_PAIV, anag.get(ANA_PAIV));
if (m.get(F_TIPOAPER) == "F") if (m.get(F_TIPOAPER) == "F")
{ {
m.send_key(K_SHIFT + K_CTRL + (app()._lbcn ? 's' : 'h'), -5); m.show(-5, app()._lbcn);
if (app()._lbcn) if (app()._lbcn)
{ {
TLocalisamfile fis(LF_ANAGFIS); TLocalisamfile fis(LF_ANAGFIS);
@ -288,10 +287,11 @@ HIDDEN bool alleg_handler(TMask_field& f, KEY key)
{ {
if (f.to_check(key)) if (f.to_check(key))
{ {
const int tipoall = atoi(f.get());
TMask& m = f.mask(); TMask& m = f.mask();
const int tipoall = atoi(f.get());
if (tipoall == 0 || tipoall == 4) m.enable(F_CODALLEG); if (tipoall == 0 || tipoall == 1 || tipoall == 4)
m.enable(F_CODALLEG);
else else
{ {
m.disable(F_CODALLEG); m.disable(F_CODALLEG);
@ -304,16 +304,17 @@ HIDDEN bool alleg_handler(TMask_field& f, KEY key)
} }
HIDDEN bool occas_handler(TMask_field& f, KEY key) HIDDEN bool occas_handler(TMask_field& f, KEY key)
{ {
if (f.to_check(key)) if (f.to_check(key))
{ {
const bool occas = f.get().not_empty(); const bool occas = f.get().not_empty();
TMask& m = f.mask(); TMask& m = f.mask();
if (occas) m.set(F_ALLEG, "2"); if (occas)
m.set(F_ALLEG, "2");
else else
if (m.get_int(F_ALLEG) == 2) m.set(F_ALLEG, " "); if (m.get_int(F_ALLEG) == 2)
m.reset(F_ALLEG);
} }
return TRUE; return TRUE;
} }
@ -346,7 +347,7 @@ HIDDEN bool codalleg_handler(TMask_field& f, KEY key)
return error_box("Codice non utilizzabile: privo di partita IVA"); return error_box("Codice non utilizzabile: privo di partita IVA");
const TString& tipoall = clifo.get(CLI_ALLEG); const TString& tipoall = clifo.get(CLI_ALLEG);
if (tipoall.not_empty() && tipoall != "4") if (tipoall.not_empty() && tipoall != "1" && tipoall != "4")
return error_box("Codice non utilizzabile: codice inserimento allegato non corretto"); return error_box("Codice non utilizzabile: codice inserimento allegato non corretto");
} }
} }
@ -366,7 +367,7 @@ void TClifo_application::init_pages(TMask& m)
{ {
_rel->gestione_vendite(_gesven); _rel->gestione_vendite(_gesven);
m.send_key(K_SHIFT + K_CTRL + (_lbcn ? 's' : 'h'), -5); m.show(-5, _lbcn);
// Se non e' abilitata la gestione delle vendite disabilita le // Se non e' abilitata la gestione delle vendite disabilita le
// maschere dalla 4 in poi // maschere dalla 4 in poi

View File

@ -270,13 +270,8 @@ void TCaus_app::causale_inc_pag()
************/ ************/
bool TCaus_app::m770_hndl (TMask_field& f, KEY k) bool TCaus_app::m770_hndl (TMask_field& f, KEY k)
{ {
if (k == K_TAB) if (k == K_TAB && f.focusdirty())
{ app().fill_sheet(f.mask());
TMask& m = f.mask();
const int m770 = m.get_int(F_M_770);
if (m770 == 6)
app().fill_sheet(m);
}
return TRUE; return TRUE;
} }
@ -287,14 +282,16 @@ bool TCaus_app::tipodoc_hndl (TMask_field& f, KEY k)
if (k == K_TAB) if (k == K_TAB)
{ {
const TString16 val(f.get()); const TString16 val(f.get());
TEdit_field& field_reg = f.mask().efield(F_COD_REG); TMask& m = f.mask();
TEdit_field& field_reg = m.efield(F_COD_REG);
if (val.not_empty() && val != "IN" && val != "PG" && val != "AN") if (val.not_empty() && val != "IN" && val != "PG" && val != "AN")
{ {
f.mask().hide(F_TIPO_MOV_2); m.hide(F_TIPO_MOV_2);
if (app().saldaconto()) f.mask().show(F_TIPO_MOV_1); if (app().saldaconto()) m.show(F_TIPO_MOV_1);
field_reg.enable(); field_reg.enable();
m.enable(F_DES_REG);
field_reg.check_type(CHECK_REQUIRED); field_reg.check_type(CHECK_REQUIRED);
TTable tabtpd("%TPD"); TTable tabtpd("%TPD");
@ -334,9 +331,12 @@ bool TCaus_app::tipodoc_hndl (TMask_field& f, KEY k)
{ {
field_reg.reset(); field_reg.reset();
field_reg.disable(); field_reg.disable();
f.mask().hide(F_TIPO_MOV_1); m.reset(F_DES_REG);
m.disable(F_DES_REG);
m.hide(F_TIPO_MOV_1);
if (app().saldaconto()) if (app().saldaconto())
f.mask().show(F_TIPO_MOV_2); m.show(F_TIPO_MOV_2);
} }
// Ma davvero esiste il registro ? // Ma davvero esiste il registro ?
@ -350,7 +350,7 @@ bool TCaus_app::tipodoc_hndl (TMask_field& f, KEY k)
} }
app().mostra_campi(f); app().mostra_campi(f);
app().fill_sheet(f.mask()); app().fill_sheet(m);
} }
return TRUE; return TRUE;
} }
@ -717,22 +717,20 @@ void TCaus_app::read_rcaus(TMask& m)
bool TCaus_app::fill_sheet(TMask& m) bool TCaus_app::fill_sheet(TMask& m)
{ {
TLocalisamfile& caus = _rel->lfile(); const TString16 codreg = m.get(F_COD_REG);
TString16 tpd, codreg; const TString16 tpd = m.get(F_TIPO_DOC);
int tpm, m770, tpr; const int tpm = m.get_int(F_TIPO_MOV);
const int m770 = m.get_int(F_M_770);
codreg = m.field(F_COD_REG).get(); int tpr = m.get_int(F_TIPO_REG);
tpd = m.field(F_TIPO_DOC).get();
tpm = m.get_int(F_TIPO_MOV);
m770 = m.get_int(F_M_770);
if (!m.running())
{
TString16 chiave; chiave << anno_iva() << codreg; TString16 chiave; chiave << anno_iva() << codreg;
TTable reg("REG"); TTable reg("REG");
reg.put("CODTAB", chiave); reg.put("CODTAB", chiave);
if (reg.read() == NOERR) if (reg.read() == NOERR)
tpr = reg.get_int("I0"); tpr = reg.get_int("I0");
else }
tpr = 0;
// carico le descrizioni fisse nell'array Righe_rcaus // carico le descrizioni fisse nell'array Righe_rcaus
compila_array(tpd,tpm,tpr,m770); compila_array(tpd,tpm,tpr,m770);

View File

@ -28,6 +28,8 @@
#define F_CORRISP 125 #define F_CORRISP 125
#define F_COD_CAUS2 126 #define F_COD_CAUS2 126
#define F_DESCR2 127 #define F_DESCR2 127
#define F_DES_DOC 128
#define F_DES_REG 129
#define SS_SEZIONE 102 #define SS_SEZIONE 102
#define SS_TIPOCF 103 #define SS_TIPOCF 103

View File

@ -39,7 +39,7 @@ END
STRING F_DESCR 50 STRING F_DESCR 50
BEGIN BEGIN
PROMPT 15 1 "Descriz. " PROMPT 16 1 "Descriz."
FIELD LF_CAUSALI->DESCR FIELD LF_CAUSALI->DESCR
USE LF_CAUSALI KEY 2 USE LF_CAUSALI KEY 2
INPUT DESCR F_DESCR INPUT DESCR F_DESCR
@ -61,7 +61,7 @@ END
STRING F_TIPO_DOC 2 STRING F_TIPO_DOC 2
BEGIN BEGIN
PROMPT 2 4 "Tipo doc. " PROMPT 2 3 "Tipo documento "
HELP "Tipo di documento collegato alla causale" HELP "Tipo di documento collegato alla causale"
FIELD LF_CAUSALI->TIPODOC FIELD LF_CAUSALI->TIPODOC
USE %TPD USE %TPD
@ -69,6 +69,7 @@ BEGIN
DISPLAY "Tipo " CODTAB DISPLAY "Tipo " CODTAB
DISPLAY "Descrizione @50" S0 DISPLAY "Descrizione @50" S0
OUTPUT F_TIPO_DOC CODTAB OUTPUT F_TIPO_DOC CODTAB
OUTPUT F_DES_DOC S0
HELP "Tipo documento" HELP "Tipo documento"
WARNING "Tipo documento errato" WARNING "Tipo documento errato"
CHECKTYPE NORMAL CHECKTYPE NORMAL
@ -76,9 +77,24 @@ BEGIN
ADD NONE ADD NONE
END END
STRING F_DES_DOC 50
BEGIN
PROMPT 24 3 ""
HELP "Tipo di documento collegato alla causale"
USE %TPD KEY 2
INPUT S0 F_DES_DOC
DISPLAY "Descrizione @50" S0
DISPLAY "Tipo " CODTAB
COPY OUTPUT F_TIPO_DOC
HELP "Tipo documento"
WARNING "Tipo documento errato"
CHECKTYPE NORMAL
ADD NONE
END
STRING F_COD_REG 3 STRING F_COD_REG 3
BEGIN BEGIN
PROMPT 23 4 "Cod. reg. " PROMPT 2 4 "Cod. registro "
HELP "Codice registro collegato alla causale" HELP "Codice registro collegato alla causale"
FIELD LF_CAUSALI->REG FIELD LF_CAUSALI->REG
USE REG USE REG
@ -92,15 +108,33 @@ BEGIN
OUTPUT F_COD_REG CODTAB[5,7] OUTPUT F_COD_REG CODTAB[5,7]
OUTPUT F_TIPO_REG I0 OUTPUT F_TIPO_REG I0
OUTPUT F_CORRISP B0 OUTPUT F_CORRISP B0
OUTPUT F_DES_REG S0
WARNING "Registro assente o non compatibile col tipo documento" WARNING "Registro assente o non compatibile col tipo documento"
CHECKTYPE NORMAL CHECKTYPE NORMAL
FLAGS "DUZ" FLAGS "DUZ"
END END
STRING F_DES_REG 50
BEGIN
PROMPT 24 4 ""
HELP "Codice registro collegato alla causale"
USE REG KEY 2
INPUT S0 F_DES_REG
DISPLAY "Descrizione @50" S0
DISPLAY "Anno" CODTAB[1,4]
DISPLAY "Codice registro " CODTAB[5,7]
DISPLAY "Tipo" I0
DISPLAY "Corrispettivi" B0
COPY OUTPUT F_COD_REG
CHECKTYPE NORMAL
FLAGS "D"
END
// Questo rimane quasi sempre nascosto // Questo rimane quasi sempre nascosto
STRING F_TIPO_MOV 2 STRING F_TIPO_MOV 2
BEGIN BEGIN
PROMPT 68 4 "" PROMPT 2 5 ""
FIELD TIPOMOV FIELD TIPOMOV
FLAGS "H" FLAGS "H"
END END
@ -108,7 +142,7 @@ END
// Viene mostrato questo se TPD non vuoto e diverso da IN AN PG // Viene mostrato questo se TPD non vuoto e diverso da IN AN PG
LISTBOX F_TIPO_MOV_1 1 20 LISTBOX F_TIPO_MOV_1 1 20
BEGIN BEGIN
PROMPT 44 4 "Tipo mov. " PROMPT 2 5 "Tipo movimento "
HELP "Tipo di movimento generato dalla causale" HELP "Tipo di movimento generato dalla causale"
FIELD TIPOMOV FIELD TIPOMOV
HELP "Tipo movimento" HELP "Tipo movimento"
@ -121,7 +155,7 @@ END
// Viene mostrato questo se TPD vuoto o uguale a IN AN PG // Viene mostrato questo se TPD vuoto o uguale a IN AN PG
LISTBOX F_TIPO_MOV_2 1 20 LISTBOX F_TIPO_MOV_2 1 20
BEGIN BEGIN
PROMPT 44 4 "Tipo mov. " PROMPT 2 5 "Tipo movimento "
FIELD LF_CAUSALI->TIPOMOV FIELD LF_CAUSALI->TIPOMOV
HELP "Tipo di movimento generato dalla causale" HELP "Tipo di movimento generato dalla causale"
ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV
@ -133,7 +167,7 @@ END
LISTBOX F_M_770 1 48 LISTBOX F_M_770 1 48
BEGIN BEGIN
PROMPT 2 5 "Collegamento Mod.770 " PROMPT 2 6 "Collegamento Mod.770 "
FIELD LF_CAUSALI->M770 FIELD LF_CAUSALI->M770
HELP "Tipo di collegamento Mod.770" HELP "Tipo di collegamento Mod.770"
ITEM " |Nessuno" ITEM " |Nessuno"

View File

@ -40,7 +40,6 @@
#define CHK_RRMECO 139 #define CHK_RRMECO 139
#define FLD_RRCCRA 140 #define FLD_RRCCRA 140
#define FLD_RRCCRI 141 #define FLD_RRCCRI 141
#define CHK_GESVEN 142 #define CHK_GESVEN 142
#define FLD_DCOCAAP 143 #define FLD_DCOCAAP 143
#define FLD_DCOCACH 144 #define FLD_DCOCACH 144
@ -53,3 +52,4 @@
#define FLD_DCSPECP 151 #define FLD_DCSPECP 151
#define FLD_DCSUECE 152 #define FLD_DCSUECE 152
#define FLD_DCSPECE 153 #define FLD_DCSPECE 153
#define FLD_DESLIN 154

View File

@ -156,16 +156,30 @@ END
STRING FLD_CODLIN 1 STRING FLD_CODLIN 1
BEGIN BEGIN
PROMPT 1 3 "Codice lingua " PROMPT 1 3 "Codice lingua "
HELP "Indicare la lingua utilizzata" HELP "Lingua utilizzata"
USE %LNG USE %LNG
INPUT CODTAB FLD_CODLIN
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
OUTPUT FLD_CODLIN CODTAB OUTPUT FLD_CODLIN CODTAB
INPUT CODTAB FLD_CODLIN OUTPUT FLD_DESLIN S0
CHECKTYPE NORMAL CHECKTYPE NORMAL
FIELD CodLin FIELD CodLin
END END
STRING FLD_DESLIN 50 35
BEGIN
PROMPT 40 3 ""
HELP "Lingua utilizzata"
USE %LNG KEY 2
INPUT S0 FLD_DESLIN
DISPLAY "Descrizione@50" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT FLD_CODLIN
CHECKTYPE NORMAL
END
STRING FLD_COCACH 3 STRING FLD_COCACH 3
BEGIN BEGIN
PROMPT 1 4 "Codice causale chiusura " PROMPT 1 4 "Codice causale chiusura "

View File

@ -215,6 +215,8 @@ bool TSaldibrowse_application::sottoc_handler(TMask_field& f, KEY key)
if (key == K_TAB) if (key == K_TAB)
{ {
bool stop = FALSE;
TMask& m = f.mask(); TMask& m = f.mask();
int gruppo = m.get_int(F_GRUPPO); int gruppo = m.get_int(F_GRUPPO);
int conto = m.get_int(F_CONTO); int conto = m.get_int(F_CONTO);
@ -223,17 +225,19 @@ bool TSaldibrowse_application::sottoc_handler(TMask_field& f, KEY key)
const short id = f.dlg(); const short id = f.dlg();
TLocalisamfile& pconti = app().get_relation()->lfile(); TLocalisamfile& pconti = app().get_relation()->lfile();
if (sottoconto > 0) if (sottoconto != 0)
{ {
if (id == F_SOTTOCONTO) if (id == F_SOTTOCONTO)
{ {
if (gruppo == 0 || conto == 0) if (gruppo != 0 && conto != 0)
return TRUE; {
pconti.setkey(1); pconti.setkey(1);
pconti.put(PCN_GRUPPO, gruppo) ; pconti.put(PCN_GRUPPO, gruppo) ;
pconti.put(PCN_CONTO, conto); pconti.put(PCN_CONTO, conto);
pconti.put(PCN_SOTTOCONTO, sottoconto); pconti.put(PCN_SOTTOCONTO, sottoconto);
ok = pconti.read(_isequal, _nolock) == NOERR; ok = stop = pconti.read(_isequal, _nolock) == NOERR;
}
else ok = FALSE;
} }
else else
{ {
@ -242,22 +246,23 @@ bool TSaldibrowse_application::sottoc_handler(TMask_field& f, KEY key)
clifo.setkey(1); clifo.setkey(1);
clifo.put(CLI_TIPOCF,tipo); clifo.put(CLI_TIPOCF,tipo);
clifo.put(CLI_CODCF, sottoconto) ; clifo.put(CLI_CODCF, sottoconto) ;
ok = clifo.read(_isequal, _nolock) == NOERR; ok = stop = clifo.read(_isequal, _nolock) == NOERR;
if (ok && (gruppo == 0 || conto == 0)) if (ok && (gruppo == 0 || conto == 0))
{ {
m.set(F_GRUPPO, gruppo = clifo.get_int("GRUPPO")); m.set(F_GRUPPO, gruppo = clifo.get_int("GRUPPO"));
m.set(F_CONTO, conto = clifo.get_int("CONTO")); m.set(F_CONTO, conto = clifo.get_int("CONTO"));
ok = gruppo != 0 && conto != 0; ok = stop = gruppo != 0 && conto != 0;
} }
} }
} }
else else
if (gruppo != 0 && conto != 0)
{ {
pconti.setkey(1); pconti.setkey(1);
pconti.zero(); pconti.zero();
pconti.put(PCN_GRUPPO, gruppo) ; pconti.put(PCN_GRUPPO, gruppo) ;
pconti.put(PCN_CONTO, conto); pconti.put(PCN_CONTO, conto);
ok = pconti.read(_isequal, _nolock) == NOERR; ok = stop= pconti.read(_isequal, _nolock) == NOERR;
if (ok) if (ok)
{ {
m.set(id, pconti.get(PCN_DESCR)); m.set(id, pconti.get(PCN_DESCR));
@ -265,7 +270,8 @@ bool TSaldibrowse_application::sottoc_handler(TMask_field& f, KEY key)
} }
else m.reset(id); else m.reset(id);
} }
if (ok) m.stop_run(K_AUTO_ENTER); if (stop) m.stop_run(K_AUTO_ENTER);
if (!ok) error_box("Conto errato o incompleto");
} }
return ok; return ok;
@ -273,15 +279,17 @@ bool TSaldibrowse_application::sottoc_handler(TMask_field& f, KEY key)
bool TSaldibrowse_application::user_create() bool TSaldibrowse_application::user_create()
{ {
_clifo = new TLocalisamfile(LF_CLIFO);
_rel = new TRelation(LF_PCON);
_rel1 = new TRelation(LF_SALDI);
_cur = new TCursor(_rel1, "", 2);
_msk = new TMask("cg5200a"); _msk = new TMask("cg5200a");
_msk->set_handler(F_SOTTOCONTO, sottoc_handler); _msk->set_handler(F_SOTTOCONTO, sottoc_handler);
_msk->set_handler(F_SOTTOC_CLIENTE, sottoc_handler); _msk->set_handler(F_SOTTOC_CLIENTE, sottoc_handler);
_msk->set_handler(F_SOTTOC_FORN, sottoc_handler); _msk->set_handler(F_SOTTOC_FORN, sottoc_handler);
ss().disable(); ss().disable();
_clifo = new TLocalisamfile(LF_CLIFO);
_rel = new TRelation(LF_PCON);
_rel1 = new TRelation(LF_SALDI);
_cur = new TCursor(_rel1, "", 2);
set_search_field(F_GRUPPO); set_search_field(F_GRUPPO);
return TRUE; return TRUE;