Migliorata gestione FIELD della coppia COMMESSA+FASE
git-svn-id: svn://10.65.10.50/branches/R_10_00@22949 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
db0a1c63c4
commit
982f90360e
@ -107,6 +107,18 @@ int TMultilevel_code_info::levels() const
|
|||||||
return _picture.items();
|
return _picture.items();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int TMultilevel_code_info::parent_levels() const
|
||||||
|
{
|
||||||
|
int n = 0;
|
||||||
|
if (_logicnum == LF_FASI && _parentnum > 0)
|
||||||
|
{
|
||||||
|
const TMultilevel_code_info cdc_cms(_parentnum);
|
||||||
|
n = cdc_cms.levels();
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const TString& TMultilevel_code_info::picture(int level) const
|
const TString& TMultilevel_code_info::picture(int level) const
|
||||||
{
|
{
|
||||||
if (level < 0 || level >= levels())
|
if (level < 0 || level >= levels())
|
||||||
@ -804,6 +816,7 @@ int ca_create_fields(TMask& msk, int page, int logicnum, int x, int y,
|
|||||||
|
|
||||||
if (key_id > 0 && (mode == 0 || (mode & 0x1) != 0))
|
if (key_id > 0 && (mode == 0 || (mode & 0x1) != 0))
|
||||||
{
|
{
|
||||||
|
const int parent_levels = mci.parent_levels();
|
||||||
for (int i = 0; i < mci.levels(); i++)
|
for (int i = 0; i < mci.levels(); i++)
|
||||||
{
|
{
|
||||||
const short kid = key_id+i;
|
const short kid = key_id+i;
|
||||||
@ -826,9 +839,16 @@ int ca_create_fields(TMask& msk, int page, int logicnum, int x, int y,
|
|||||||
if (fieldname && *fieldname)
|
if (fieldname && *fieldname)
|
||||||
{
|
{
|
||||||
const TFieldref& fr = *kfld->field();
|
const TFieldref& fr = *kfld->field();
|
||||||
|
const char* campo = fieldname;
|
||||||
|
if (i < parent_levels)
|
||||||
|
{
|
||||||
|
// Aggiunsta nome campo principale
|
||||||
|
if (strcmp(campo, RMOVANA_CODFASE) == 0)
|
||||||
|
campo = mci.parent() == LF_COMMESSE ? RMOVANA_CODCMS : RMOVANA_CODCCOSTO;
|
||||||
|
}
|
||||||
|
|
||||||
TString80 str;
|
TString80 str;
|
||||||
str.format("%s[%d,%d]", fieldname, fr.from()+from+1, fr.to()+from);
|
str.format("%s[%d,%d]", campo, fr.from()+from+1, fr.to()+from);
|
||||||
kfld->set_field(str);
|
kfld->set_field(str);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -60,6 +60,7 @@ public:
|
|||||||
const TString& editor() const { return _editor; }
|
const TString& editor() const { return _editor; }
|
||||||
int pack(TString& code) const; // Toglie i pipe
|
int pack(TString& code) const; // Toglie i pipe
|
||||||
int unpack(TString& code) const; // Aggiunge i pipe
|
int unpack(TString& code) const; // Aggiunge i pipe
|
||||||
|
int parent_levels() const; // Numero di livelli del padre di LF_FASI (puo' essere 0)
|
||||||
|
|
||||||
TMultilevel_code_info(int logicnum);
|
TMultilevel_code_info(int logicnum);
|
||||||
virtual ~TMultilevel_code_info() { }
|
virtual ~TMultilevel_code_info() { }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user