Patch level : 12.00 1280

Files correlati     : sc0.exe
Commento            :

Programma di controllo e ripristino partite errate.
This commit is contained in:
Alessandro Bonazzi 2023-09-19 14:48:01 +02:00
parent 67282f4129
commit 9a31c00732
2 changed files with 11 additions and 9 deletions

View File

@ -1386,11 +1386,11 @@ char TPartita::_for_align = ' ';
bool TPartita::_diffcam_always = false;
TPartita::TPartita(const TBill& clifo, int anno, const char* num)
: _unassigned(LF_PAGSCA, PAGSCA_NRIGP), _align(' ')
: _unassigned(LF_PAGSCA, PAGSCA_NRIGP), _align(' '), _patched(false)
{ read(clifo, anno, num); }
TPartita::TPartita(const TRectype& r)
: _unassigned(LF_PAGSCA, PAGSCA_NRIGP), _align(' ')
: _unassigned(LF_PAGSCA, PAGSCA_NRIGP), _align(' '), _patched(false)
{
TBill clifo; clifo.get(r);
if (clifo.gruppo() == 0 && r.num() == LF_PARTITE)
@ -1640,6 +1640,7 @@ bool TPartita::read(const TBill& clifo, int year, const char* num)
_conto = clifo;
_anno = year;
_num = num;
_patched = false;
if (allineamento_corrente() > ' ')
{
@ -1684,7 +1685,6 @@ bool TPartita::read(const TBill& clifo, int year, const char* num)
TAssoc_array regs;
int firstrow =first();
bool changed = false;
for (int r = last(); r >= firstrow; r = pred(r))
{
@ -1703,7 +1703,7 @@ bool TPartita::read(const TBill& clifo, int year, const char* num)
{
((TRiga_partite &)_part.row(r)).zero(PART_NREG);
((TRiga_partite &)_part.row(r)).zero(PART_NUMRIG);
changed = true;
_patched = true;
}
else
regs.add(key);
@ -1725,7 +1725,7 @@ bool TPartita::read(const TBill& clifo, int year, const char* num)
{
((TRiga_partite &)_part.row(r)).zero(PART_NREG);
((TRiga_partite &)_part.row(r)).zero(PART_NUMRIG);
changed = true;
_patched = true;
}
}
}
@ -1750,7 +1750,7 @@ bool TPartita::read(const TBill& clifo, int year, const char* num)
if (!esiste(rigap))
{
recover_rpart(pag, rigap);
changed = true;
_patched = true;
}
}
}
@ -1792,10 +1792,10 @@ bool TPartita::read(const TBill& clifo, int year, const char* num)
if (!esiste(rigap))
{
recover_rpart(pag, rigap, f);
changed = true;
_patched = true;
}
}
if (changed)
if (_patched)
rewrite();
return ok();
}

View File

@ -235,6 +235,7 @@ class TPartita : public TSortable
TRiga_partite_array _part;
TRecord_array _unassigned;
char _align; // current _num alignment
bool _patched;
static char _cli_align, _for_align; // default _num alignment
static bool _diffcam_always;
@ -279,6 +280,7 @@ public:
bool reread();
bool read(const TBill& clifo, int anno, const char* num);
bool patched() const { return _patched; }
bool write(bool re = false) const;
bool rewrite() const { return write(true); }
bool remove() const;