Correzione MI3309 relativo alla gestione acconti e creazione
versamenti nel caso sia presente il credito utilizzato. git-svn-id: svn://10.65.10.50/trunk@4352 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
950cd99a0a
commit
a469540724
@ -86,13 +86,13 @@ bool GesAcc_app::msk_acconto(TMask_field& f, KEY k)
|
||||
TInteressi_IVA_table ver;
|
||||
if (ver.read(f.mask().get_int(F_ANNO),12)!=NOERR)
|
||||
warning_box("Errore %d in lettura tabella versamenti ed interessi.",ver.status());
|
||||
real acconto_meno_credito = ver.get(I_ACCONTOIVA);
|
||||
real acconto_minimo = ver.get(I_ACCONTOIVA);
|
||||
if (!acconto.is_zero())
|
||||
{
|
||||
if (acconto.sign() < 0)
|
||||
return f.error_box("Introdurre un valore non negativo");
|
||||
if (acconto - credito < acconto_meno_credito)
|
||||
return f.error_box("La differenza tra acconto e credito deve essere superiore a lire %s", acconto_meno_credito.string("."));
|
||||
if (acconto < acconto_minimo)
|
||||
return f.error_box("L'importo dell'acconto inserito deve essere superiore a lire %s", acconto_minimo.string("."));
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
|
@ -34,7 +34,7 @@ class VersAcc_app : public TApplication
|
||||
TProgind* _prind;
|
||||
|
||||
int _year;
|
||||
real _acconto, _credito, _diff, _impver, _acconto_senza_credito;
|
||||
real _acconto, _credito, _diff, _impver, _acconto_minimo, _acconto_minimo_cr_ut;
|
||||
bool _calcall, _da_stampare, _print;
|
||||
TDate _dataver;
|
||||
TString16 _abi, _cab, _con;
|
||||
@ -280,7 +280,7 @@ void VersAcc_app::vers_acc()
|
||||
|
||||
if (_ver->read(_year,12)!=NOERR)
|
||||
warning_box("Errore %d in lettura tabella versamenti ed interessi.",_ver->status());
|
||||
_acconto_senza_credito = _ver->get(I_ACCONTOIVA);
|
||||
_acconto_minimo = _ver->get(I_ACCONTOIVA);
|
||||
for (int l = 0; l < _ditte->items(); l++)
|
||||
{
|
||||
if (_prind->iscancelled())
|
||||
@ -387,6 +387,7 @@ void VersAcc_app::lettura_delega()
|
||||
{
|
||||
TString16 cod;
|
||||
TString16 y (format("%05ld", _nditte->lfile().get_long("CODDITTA")));
|
||||
const real minimo = _credito != ZERO ? _acconto_minimo_cr_ut : _acconto_minimo;
|
||||
|
||||
_diff = _acconto - _credito;
|
||||
_diff.round(ROUND_MILLELIRE);
|
||||
@ -398,14 +399,14 @@ void VersAcc_app::lettura_delega()
|
||||
|
||||
if (_del->read() == NOERR)
|
||||
{
|
||||
if (_diff < _acconto_senza_credito) //l'importo non e' dovuto
|
||||
if (_diff < minimo) //l'importo non e' dovuto
|
||||
{
|
||||
//cancello la delega
|
||||
_del->remove();
|
||||
return;
|
||||
}
|
||||
|
||||
// se sono qui e' perche' l'importo e' dovuto (_diff >= _acconto_senza_credito)
|
||||
// se sono qui e' perche' l'importo e' dovuto (_diff >= minimo)
|
||||
bool stampata = _del->get_bool("B0");
|
||||
|
||||
_impver = _del->get_real("R0");
|
||||
@ -428,7 +429,7 @@ void VersAcc_app::lettura_delega()
|
||||
}
|
||||
else //non esiste la delega
|
||||
{
|
||||
if (_diff >= _acconto_senza_credito)
|
||||
if (_diff >= minimo)
|
||||
//creo record delega
|
||||
{
|
||||
crea_delega();
|
||||
@ -473,6 +474,13 @@ void VersAcc_app::lettura_anagrafica(bool* tipo)
|
||||
const bool cf = anag.get_bool("TITCF");
|
||||
const int isdel = anag.get_int("TIPOSTDEL");
|
||||
|
||||
// Se deve stampare un bollettino delega l'importo minimo con credito utilizzato diventa 12500;
|
||||
// se invece deve stampare una distinta l'importo minimo e' 13500
|
||||
if (cf)
|
||||
_acconto_minimo_cr_ut = isdel == 2 ? 13500.0 : 12500.0;
|
||||
else
|
||||
// Nel caso non sia titolare conto fiscale l'importo minimo e' 500
|
||||
_acconto_minimo_cr_ut = 500.0;
|
||||
if (cf && (isdel == 1 || isdel == 2))
|
||||
{
|
||||
*tipo = TRUE;
|
||||
|
Loading…
x
Reference in New Issue
Block a user