Patch level : 10.0 no patch

Files correlati     : 
Ricompilazione Demo : [ ]
Commento            :

Nel caso la ricerse fosse su una tabella non veniva impostato il campo _tab, per cui il record non ers in realtà dii una tabella.

git-svn-id: svn://10.65.10.50/branches/R_10_00@23212 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
bonazzi 2016-09-02 08:44:38 +00:00
parent 0b44cc293a
commit 69cf9a5d3b

View File

@ -688,6 +688,9 @@ const TObject& TFile_cache::query(const char* code)
{
TLocalisamfile& f = file();
TRectype& curr = f.curr();
const int logicnum = f.num();
const bool is_tab = (logicnum >= LF_TABGEN && logicnum <= LF_TAB) || (logicnum == LF_TABMOD);
if (_code.full())
{
const RecDes& recd = curr.rec_des(); // Descrizione del record della testata
@ -697,8 +700,13 @@ const TObject& TFile_cache::query(const char* code)
const int nf = kd.FieldSeq[i] % MaxFields;
const RecFieldDes& rf = recd.Fd[nf];
const char* val = _code.get();
if (val && *val)
curr.put(rf.Name, val);
{
if (is_tab && strcmp(rf.Name, "COD") == 0)
curr.settab(val);
curr.put(rf.Name, val);
}
else
curr.zero(rf.Name);
}