Patch level : 12.0 442

Files correlati     : tf
Commento            : Sistemato errore maschera in presenza di cli/fo occasionali

git-svn-id: svn://10.65.10.50/branches/R_10_00@24071 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
mtollari 2017-09-04 09:18:50 +00:00
parent f18f72ef20
commit 333cd1e0a3
2 changed files with 50 additions and 2 deletions

View File

@ -71,6 +71,36 @@ bool TSpeCheck_msk::on_field_event(TOperable_field& o, TField_event e, long joll
} }
} }
break; break;
case A_TIPOCF:
case A_CODCF:
case A_OCFPI:
{
if(e != fe_modify) break;
// Leggo dal clifo
TString tipocf, codcf, ocfpi;
tipocf = o.mask().get(A_TIPOCF);
codcf = o.mask().get(A_CODCF);
ocfpi = o.mask().get(A_OCFPI);
TRectype app = getCli(tipocf, codcf, ocfpi);
o.mask().set(A_RAGSOC, app.get("RAGSOC"));
o.mask().set(A_RFSO, app.get("CODRFSO"));
o.mask().set(A_RAGSOCRFSO, getRFSO(app.get("CODRFSO")));
o.mask().set(A_PAIV, app.get("PAIV"));
o.mask().set(A_COFI, app.get("COFI"));
// Abilito se il cliente è occasionale
o.mask().enable(A_OCFPI, app.get_bool("OCCAS"));
// Controllo autofattura
TString key; key << prefix().firm().get("TIPOA") << "|" << prefix().firm().get("CODANAGR");
TString piva = cache().get(LF_ANAG, key, "PAIV");
if(piva == app.get("PAIV"))
{
// Autofattura!
o.mask().set(A_AUTOFATT, "X");
}
}
break;
default: default:
break; break;
@ -191,6 +221,7 @@ void TSpeCheck_msk::fillNoFilter()
s.show(); s.show();
enableEdit(false); enableEdit(false);
} }
void TSpeCheck_msk::fillDiff() void TSpeCheck_msk::fillDiff()
{ {
// Apro la tabella TRASFATT e per ogni record lo ricostruisco l'originale // Apro la tabella TRASFATT e per ogni record lo ricostruisco l'originale
@ -499,8 +530,26 @@ void TSpeCheck_msk::enableEdit(bool en)
s.enable_column(s.cid2index(A_NATURA),en); s.enable_column(s.cid2index(A_NATURA),en);
s.enable_column(s.cid2index(A_TIPOCF),en); s.enable_column(s.cid2index(A_TIPOCF),en);
s.enable_column(s.cid2index(A_CODCF),en); s.enable_column(s.cid2index(A_CODCF),en);
// Abilito/Disabilito le righe dei ocfpi corretti
if(en)
{
FOR_EACH_SHEET_ROW(s, r, strarr)
{
static TString app;
strarr->get(s.cid2index(A_OCFPI), app);
if(app.blank())
s.disable_cell(r, s.cid2index(A_OCFPI));
else
s.enable_cell(r, s.cid2index(A_OCFPI));
}
}
// Altrimenti disabilito tutto
else
{
s.enable_column(s.cid2index(A_OCFPI), en); s.enable_column(s.cid2index(A_OCFPI), en);
} }
s.force_update();
}
void TSpeCheck_msk::selectAll() void TSpeCheck_msk::selectAll()
{ {

View File

@ -214,7 +214,6 @@ BEGIN
CHEKTYPE NORMAL CHEKTYPE NORMAL
GROUP 3 GROUP 3
ADD RUN cg0 -6 ADD RUN cg0 -6
FIELD OCFPI
END END
STRING A_RAGSOC 50 47 STRING A_RAGSOC 50 47