Aggiornata gestione corrispettivi come da fax misterioso in liquidazione

Aggiunte frasi concilianti nel controllo esistenza registri di cg5300


git-svn-id: svn://10.65.10.50/trunk@646 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1994-11-17 09:35:15 +00:00
parent 14baae4622
commit 55fc8fb766
3 changed files with 75 additions and 56 deletions

View File

@ -15,7 +15,7 @@ bool TLiquidazione_app::recalc_all()
long l;
_prind = new TProgind(_selected.ones()*2,
" Calcolo liquidazioni... \n"
" Calcolo liquidazione... \n"
" Preparazione archivi ",
TRUE,TRUE,45);
@ -440,7 +440,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
if (_isplafond && tipomov == acquisto &&
tipoiva == "NI" && tipopla != 0)
{
if (tipodoc == "BD") intra = TRUE;
if (tipodoc == "BD")
intra = TRUE;
add_plafond(month, codatt, tipopla, imponibile, intra);
}
// agenzie viaggio (CHECK imponibili etc.)
@ -478,7 +479,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
continue; // non entrano in liquidazione
}
if (tipodet == 3) // passaggi interni (solo ventilaz.)
if (tipodet == 3) // passaggi interni (solo ventilaz)
{
acq_pint += imponibile;
acq_pint_iva += imposta;
@ -488,20 +489,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
// *****************************************
// Fine casi particolari
// Non che i casi normali siano tanto meglio
// *****************************************
if (tipomov == vendita)
{
// totale vendite
vendite += imponibile;
vendite_iva += imposta;
}
else
{
// totale acquisti
acquisti += imponibile;
acquisti_iva += imposta;
}
// *****************************************
/*
* Calcolo e aggiornamento
@ -513,31 +501,74 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
real imp = _pim_r->get_real("R0"); // imponibile
real ivp = _pim_r->get_real("R1"); // IVA su imp.
real lor = _pim_r->get_real("R2"); // lordo
/*
* se corrispettivi da ventilare considera il lordo
*/
if (corrisp && tipoiva == "VE")
{
lor += imponibile;
_pim_r->put("I0",LORDO);
add_vendite(month, reg, imponibile);
}
/*
* corrispettivi non da ventilare vanno comunque scorporati poi
*/
else if (corrisp)
{
real perc = _iva->get_real("R0") / CENTO;
lor += imponibile;
lor += imposta;
_pim_r->put("I0",LORDO);
add_corrisp(month, reg, imponibile, perc, codiva);
if (tipomov == vendita && !corrisp) // i corrispettivi sono gestiti a parte
{
// totale vendite
vendite += imponibile;
vendite_iva += imposta;
}
else
else if (tipomov == acquisto)
{
// totale acquisti
acquisti += imponibile;
acquisti_iva += imposta;
}
// corrispettivi
if (corrisp)
{
// l'ultimo casino
if (tipodoc == "CR" || tipodoc == "RF" || tipodoc == "SC")
{
// questi sono corrispettivi davvero; comportamento normale
if (tipoiva == "VE") // da ventilare
{
lor += imponibile;
_pim_r->put("I0",LORDO);
add_vendite(month, reg, imponibile);
}
else // non da ventilare, con imposta gia' conteggiata
{
real perc = _iva->get_real("R0") / CENTO;
lor += imponibile + imposta;
_pim_r->put("I0",LORDO);
add_corrisp(month, reg, imponibile, perc, codiva);
}
}
else if (tipodoc == "FS")
{
// queste sono fatture che seguono scontrino, il lordo va detratto
// perche' si e' gia' registrato lo scontrino medesimo
if (tipoiva == "VE")
{
real rr = imponibile + imposta;
vendite += rr;
imp += rr;
add_vendite(month, reg, rr);
}
else
{
vendite += imponibile;
vendite_iva += imposta;
imp += imponibile;
ivp += imposta;
}
lor -= imponibile + imposta;
}
else // vendite normali a tutti gli effetti
{
vendite += imponibile;
vendite_iva += imposta;
imp += imponibile;
ivp += imposta;
_pim_r->put("I0",NETTO);
}
} // if corrisp
else // non corrisp
{
// netti e imposta separata
// imponibile e imposta separata
imp += imponibile;
ivp += imposta;
_pim_r->put("I0",NETTO);
@ -627,8 +658,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
_plm->put("R1", acquisti_iva);
_plm->put("R3", ult_detr);
_plm->put("R12", _prorata); // per comodita' in stampa
_plm->put("B0", "X"); // calcolato (deve essere invalidato dalla
// primanota)
_plm->put("B0", "X"); // calcolato (invalidato dalla primanota)
_plm->put("S1", for_rimb.string());
_plm->put("S2", acq_ies.string());
_plm->put("S3", acq_ies_iva.string());
@ -914,17 +944,5 @@ _DescrItem* TLiquidazione_app::recalc_rimborso(int month, const char* codatts)
d->_r7 = ala * CENTO;
}
// if (rimborsami)
// {
// il rimborso NON viene chiesto
// look_lim(month);
// real cred = _lim->get_real("R0");
// if (cred.sign() < 0)
// {
// _lim->put("R1",abs(cred));
// _lim->rewrite();
// }
// }
return d;
}

View File

@ -64,7 +64,8 @@ void TLiquidazione_app::zero_plafond (int month, const char* codatt)
_ppa_r->put("R1","");
_ppa->rewrite();
} // for tipo esenzione plafond
}
}
// ricalcolo dei corrispettivi
void TLiquidazione_app::recalc_corrispettivi(int month, const char* codatt)
{
@ -94,7 +95,7 @@ void TLiquidazione_app::recalc_corrispettivi(int month, const char* codatt)
imposta += _pim->get_real("R1");
_pim->put("R0", imponibile);
_pim->put("R1", imposta);
_pim->zero("R2"); // e' giusto ???? TBI
// segnale per comodita'
_pim->put("B1","X");
_pim->rewrite();

View File

@ -101,7 +101,7 @@ void CG5300_App::check_registers(int year)
if (flags < R_ALL)
{
TString att = (TString&)_atts[i];
TString wrn("I seguenti registri non esistono per l'attivita' ");
TString wrn("I seguenti registri probabilmente non esistono per l'attivita' ");
wrn << att << ":";
if ((flags & R_VEN) == 0x00) wrn << "\n\tregistro vendite";
if ((flags & R_ACQ) == 0x00) wrn << "\n\tregistro acquisti";