Patch level : 10.0
Files correlati : lv2 lv3 Ricompilazione Demo : [ ] Commento : Correzioni di Guido git-svn-id: svn://10.65.10.50/trunk@20008 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
ee97a1cc06
commit
c46620fa4c
@ -137,30 +137,38 @@ class TMov_mag_doc : public TMov_mag
|
|||||||
TString_array _codmagc;
|
TString_array _codmagc;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual const char * codmag_rauto(int r) const;
|
virtual const char* codmag_rauto(int r) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void add_magc(const char* magc) { _codmagc.add(magc); }
|
void add_magc(const char* magc)
|
||||||
|
{
|
||||||
|
CHECKS(magc && *magc && strlen(magc) <= 5, "Invalid CODMAG ", magc);
|
||||||
|
_codmagc.add(magc);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const char* TMov_mag_doc::codmag_rauto(int r) const
|
const char* TMov_mag_doc::codmag_rauto(int r) const
|
||||||
{
|
{
|
||||||
const TRecord_array& b = body();
|
const char* codmagc = NULL;
|
||||||
|
const int num_magc = _codmagc.items();
|
||||||
if (r <= 0 || r > b.rows()) // Can't check non-existent rows
|
if (num_magc > 0) // Impossibile trovare un codmagc
|
||||||
return NULL;
|
{
|
||||||
|
const TRecord_array& b = body();
|
||||||
const char tr = b[r].get_char(RMOVMAG_TIPORIGA);
|
if (r > 0 && r <= b.rows()) // Can't check non-existent rows
|
||||||
|
{
|
||||||
if (tr != 'D' && tr != 'A') // These are customer's added rows
|
const char tr = b[r].get_char(RMOVMAG_TIPORIGA);
|
||||||
return NULL;
|
if (tr == 'D' || tr == 'A') // These are customer's added rows
|
||||||
|
{
|
||||||
int j = -1; // Indice per reperire il mag. collegato da _codmagc
|
int j = -1; // Indice per reperire il mag. collegato da _codmagc
|
||||||
for (int i = r; i > 0; i--) // Scorre dalla riga r in su e conta quante righe D
|
for (int i = r; i > 0; i--) // Scorre dalla riga r in su e conta quante righe D
|
||||||
if (b[i].get_char(RMOVMAG_TIPORIGA) == 'D')
|
if (b[i].get_char(RMOVMAG_TIPORIGA) == 'D')
|
||||||
j++;
|
j++;
|
||||||
|
if (j >= 0 && j < num_magc)
|
||||||
return j >= 0 && j < _codmagc.items() ? _codmagc.row(j) : NULL;
|
codmagc = _codmagc.row(j);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return codmagc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////
|
||||||
|
Loading…
x
Reference in New Issue
Block a user