Aggiunta funzione per calcolo lordo-netto: errore MI6158, MI6159.

git-svn-id: svn://10.65.10.50/trunk@3963 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1996-12-06 08:18:01 +00:00
parent 450a28c044
commit 0bd3df5552
2 changed files with 31 additions and 0 deletions

@ -473,6 +473,10 @@ public:
void add_corrisp (int month, const char* codreg, real& r, real& p,
int tipodet, const char* codiva, const char* codatt);
//vergine immacolata, richiamata per scorporare l'iva nei peccatori corrispettivi
void lordo2netto(const real& totale, real& imponibile, real& imposta, const real& aliquota);
void lordo2netto(real& imponibile, real& imposta, const real& aliquota);
// printappings
virtual void set_page(int file, int counter);
virtual bool preprocess_page(int file, int counter);

@ -181,6 +181,33 @@ void TLiquidazione_app::add_corrisp(int month, const char* codreg, real& r,
ci->_totale += r;
}
void TLiquidazione_app::lordo2netto(const real& totale, real& imponibile, real& imposta, const real& aliquota)
{
/* *** Questo e' stato preso da recalc_corrispettivi()
real imposta = (abs(ci->_totale) * ci->_aliquota)/(ci->_aliquota + 1.00);
imposta.ceil();
if (ci->_totale.sign() < 0) imposta = -imposta;
real imponibile = ci->_totale - imposta;
// quadratura del cerchione
real delta = ci->_totale - imponibile - imposta;
if (!delta.is_zero())
imposta += delta;
*/
imposta = (abs(totale) * aliquota)/(aliquota + 1.00);
imposta.ceil();
if (totale.sign() < 0) imposta = -imposta;
imponibile = totale - imposta;
// quadratura del cerchione
real delta = totale - imponibile - imposta;
if (!delta.is_zero())
imposta += delta;
}
void TLiquidazione_app::lordo2netto(real& imponibile, real& imposta, const real& aliquota)
{
real totale(imponibile);
lordo2netto(totale, imponibile, imposta, aliquota);
}
bool TLiquidazione_app::look_pim(int month, const char* codatt, const char* codreg,
const char* tipocr, const char* codiva, int tipodet,