Patch level : 2.0 518
Files correlati : in0.exe Ricompilazione Demo : [ ] Commento : Il collegamento tra anagrafiche ora avviene sempre mediante la chiave 1 in modo da gestire correttamente anche le omonimie. git-svn-id: svn://10.65.10.50/trunk@11306 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
4d3fadca5f
commit
31640e4bbc
@ -2339,26 +2339,23 @@ bool TBrowse::do_link(bool insert)
|
||||
TString8 paragraph; paragraph << _cursor->file().num();
|
||||
ini.set_paragraph(paragraph);
|
||||
|
||||
_inp_fn.restart();
|
||||
|
||||
// Uso sempre la chiave 1 per collegarmi agli altri programmi
|
||||
const TRelation& rel = *_cursor->relation();
|
||||
const RecDes* recd = rel.curr().rec_des(); // Descrizione del record della testata
|
||||
const KeyDes& kd = recd->Ky[0]; // Elenco dei campi della chiave 1
|
||||
TString inp_val;
|
||||
FOR_EACH_TOKEN(_inp_id, i)
|
||||
{
|
||||
inp_val = i;
|
||||
TFieldref fldref(_inp_fn.get(), 0);
|
||||
if (inp_val[0] == '"')
|
||||
{
|
||||
inp_val.rtrim(1);
|
||||
inp_val.ltrim(1);
|
||||
}
|
||||
else
|
||||
inp_val = fldref.read(*_cursor->relation());
|
||||
for (int i = 0; i < kd.NkFields; i++)
|
||||
{
|
||||
const int nf = kd.FieldSeq[i] % MaxFields;
|
||||
const RecFieldDes& rf = recd->Fd[nf];
|
||||
const TFieldref fldref(rf.Name, 0);
|
||||
inp_val = fldref.read(rel);
|
||||
fldref.write(ini, paragraph, inp_val);
|
||||
}
|
||||
}
|
||||
|
||||
TExternal_app a(app);
|
||||
int err = a.run();
|
||||
const int err = a.run();
|
||||
field().mask().set_focus();
|
||||
|
||||
if (msg.not_empty())
|
||||
@ -2375,10 +2372,7 @@ bool TBrowse::do_link(bool insert)
|
||||
{
|
||||
rec_cache(_cursor->file().num()).destroy(); // Svuota eventule cache
|
||||
do_output();
|
||||
}
|
||||
#ifdef DBG
|
||||
else yesnofatal_box("Selezione da programma esterno errata");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
::remove(msg);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user