Patch level : 12.00.1274

Commento            : ve0.exe ve5,exe ve6.exe
Corretta evasione ordini Major
This commit is contained in:
Alessandro Bonazzi 2023-07-14 05:56:19 +02:00
parent d63b1a4302
commit b10de90dc3
2 changed files with 27 additions and 2 deletions

View File

@ -1026,7 +1026,7 @@ public:
void update_row_auto_qta(int nrow, real & qta, bool plus = true, bool insert = false);
bool check_auto_evasione() const { return _qta_evasa_auto.items() > 0; }
real TDocumento::qta_bloccata_auto_evasione(const int nrow);
real qta_bloccata_auto_evasione(const int nrow);
void auto_evasione(const int nrow = -1);
void qta_evasa_auto_pack(const int nrow) { _qta_evasa_auto.destroy(nrow, true); }

View File

@ -567,12 +567,37 @@ void TRiga_documento::update_orders(real qta, TToken_string & tipi, TToken_strin
put(RDOC_DAPROVV, original_key.get());
put(RDOC_DANDOC, original_key.get());
put(RDOC_DAIDRIGA, original_key.get());
saved.arr2tok(tok);
FOR_EACH_ARRAY_ITEM(saved_qta, i, qobj)
{
if (*((real *)qobj) == ZERO)
{
saved.destroy(i);
saved_qta.destroy(i);
}
}
saved.arr2tok(tok);
put(RDOC_ORIGINAL_ROWS, tok);
tok.cut(0);
FOR_EACH_ARRAY_ITEM(saved_qta, i, sobj)
tok.add(*((real *)sobj));
put(RDOC_ORIGINAL_QTAROWS, tok);
static bool _in_update = false;
if (!_in_update)
{
real qta = get_real(RDOC_QTA);
real qta_scar;
FOR_EACH_ARRAY_ITEM(saved_qta, i, sobj)
qta_scar += *((real *)sobj);
if (qta_scar > qta)
{
_in_update = true;
update_orders(qta - qta_scar, tipi, stati, stato_aperto, stato_evaso);
_in_update = false;
}
}
}
}
}