Correzioni calcolo acconti
git-svn-id: svn://10.65.10.50/trunk@885 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
47733f66fa
commit
efb2297e28
@ -253,7 +253,8 @@ bool TLiquidazione_app::user_destroy()
|
|||||||
bool TLiquidazione_app::set_print(int n)
|
bool TLiquidazione_app::set_print(int n)
|
||||||
{
|
{
|
||||||
_descr_arr.destroy();
|
_descr_arr.destroy();
|
||||||
|
_errors.destroy();
|
||||||
|
|
||||||
switch(n)
|
switch(n)
|
||||||
{
|
{
|
||||||
case 1: // liquidazione
|
case 1: // liquidazione
|
||||||
|
@ -176,6 +176,7 @@ class TLiquidazione_app : public TPrint_application
|
|||||||
bool _isservizio; // servizi, professionisti, artisti
|
bool _isservizio; // servizi, professionisti, artisti
|
||||||
bool _isrimborso; // vuole il rimborso infraannuale
|
bool _isrimborso; // vuole il rimborso infraannuale
|
||||||
bool _isricacq; // ricalcolo imposte acq. riv (par. ditta)
|
bool _isricacq; // ricalcolo imposte acq. riv (par. ditta)
|
||||||
|
bool _isdifferita; // liquidazione differita
|
||||||
bool _calcall; // tutte le ditte nessuna esclusa
|
bool _calcall; // tutte le ditte nessuna esclusa
|
||||||
bool _isbase; // stampa base di calcolo acconto
|
bool _isbase; // stampa base di calcolo acconto
|
||||||
tbc _basecalc; // tipo base di calcolo acconto
|
tbc _basecalc; // tipo base di calcolo acconto
|
||||||
|
@ -106,19 +106,13 @@ bool TLiquidazione_app::update_firm(int month, bool recalc)
|
|||||||
|
|
||||||
look_lim(month, TRUE);
|
look_lim(month, TRUE);
|
||||||
|
|
||||||
// gia' ricalcolata definitivamente?
|
TConfig cnf(CONFIG_DITTA, "cg");
|
||||||
bool ok = _lim->get_bool("B1");
|
_isdifferita = cnf.get_bool("GeLiDi");
|
||||||
if (ok && !_comp_acconto) return TRUE;
|
TConfig cnf1(CONFIG_STUDIO, "cg");
|
||||||
|
_isricacq = cnf1.get_bool("RicAcq");
|
||||||
// azzera ulteriori detrazioni
|
|
||||||
_lim->put("R6","");
|
|
||||||
_lim->rewrite();
|
|
||||||
|
|
||||||
TConfig cnf(CONFIG_STUDIO, "cg");
|
|
||||||
_isricacq = cnf.get_bool("RicAcq");
|
|
||||||
|
|
||||||
// ricalcolo normale
|
// ricalcolo normale
|
||||||
ok = _lim->get_bool("B0");
|
bool ok = _lim->get_bool("B0");
|
||||||
if (ok && !recalc) return TRUE;
|
if (ok && !recalc) return TRUE;
|
||||||
bool calc = (_recalc == ever || (_recalc == one && month == _month));
|
bool calc = (_recalc == ever || (_recalc == one && month == _month));
|
||||||
if (!calc && _recalc != never) calc = !ok;
|
if (!calc && _recalc != never) calc = !ok;
|
||||||
@ -171,6 +165,7 @@ bool TLiquidazione_app::update_firm(int month, bool recalc)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
_isservizio = _nditte->curr(LF_ATTIV).get("TIPOATT") == "S";
|
_isservizio = _nditte->curr(LF_ATTIV).get("TIPOATT") == "S";
|
||||||
|
|
||||||
_isviaggio = _nditte->curr(LF_ATTIV).get_bool("REG74TER");
|
_isviaggio = _nditte->curr(LF_ATTIV).get_bool("REG74TER");
|
||||||
_isagricolo = _nditte->curr(LF_ATTIV).get_bool("REGAGR");
|
_isagricolo = _nditte->curr(LF_ATTIV).get_bool("REGAGR");
|
||||||
_isbenzinaro = _nditte->curr(LF_ATTIV).get_bool("ART74/4");
|
_isbenzinaro = _nditte->curr(LF_ATTIV).get_bool("ART74/4");
|
||||||
@ -384,8 +379,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
|||||||
/*
|
/*
|
||||||
* check date se si calcola l'acconto
|
* check date se si calcola l'acconto
|
||||||
*/
|
*/
|
||||||
if (_month == 12 && _comp_acconto)
|
if (_comp_acconto)
|
||||||
if (date.month() != 12 && date.day() > 20)
|
if(date.month() != 12 && date.day() > 20)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
bool corrisp = _reg_r->get_bool("B0");
|
bool corrisp = _reg_r->get_bool("B0");
|
||||||
|
@ -82,7 +82,7 @@ void TLiquidazione_app::describe_att(int month, const char* codatt, bool isresul
|
|||||||
describe_agricolo(month, codatt);
|
describe_agricolo(month, codatt);
|
||||||
if (atts.items() == 1 && _isviaggio)
|
if (atts.items() == 1 && _isviaggio)
|
||||||
describe_viaggio(month, codatt);
|
describe_viaggio(month, codatt);
|
||||||
if (isresult)
|
if (isresult || _isannual)
|
||||||
describe_pims(month,codatt);
|
describe_pims(month,codatt);
|
||||||
if (atts.items() == 1)
|
if (atts.items() == 1)
|
||||||
describe_consistence(codatt);
|
describe_consistence(codatt);
|
||||||
@ -352,8 +352,8 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt)
|
|||||||
_pim->get_real("R2").is_zero())
|
_pim->get_real("R2").is_zero())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (strcmp((const char*)*_pim_codatt, att) == 0 &&
|
if (strcmp((const char*)*_pim_codatt, att) == 0 &&
|
||||||
is_month_ok(atoi(*_pim_mese),month) &&
|
(is_month_ok(atoi(*_pim_mese),month) || _isannual) &&
|
||||||
_year == (const char*)*_pim_anno)
|
_year == (const char*)*_pim_anno)
|
||||||
{
|
{
|
||||||
// vedi se c'e' gia' un item corrispondente
|
// vedi se c'e' gia' un item corrispondente
|
||||||
|
123
cg/cg4305.cpp
123
cg/cg4305.cpp
@ -5,6 +5,7 @@
|
|||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <prefix.h>
|
#include <prefix.h>
|
||||||
#include <sheet.h>
|
#include <sheet.h>
|
||||||
|
#include <utility.h>
|
||||||
|
|
||||||
#include "cg4300.h"
|
#include "cg4300.h"
|
||||||
#include "cg4300b.h"
|
#include "cg4300b.h"
|
||||||
@ -113,30 +114,13 @@ bool TLiquidazione_app::extract_deleghe()
|
|||||||
|
|
||||||
bool TLiquidazione_app::extract_delega(int month)
|
bool TLiquidazione_app::extract_delega(int month)
|
||||||
{
|
{
|
||||||
if (_isriepilogo && !_isannual)
|
|
||||||
return FALSE;
|
|
||||||
if (look_lim(month))
|
if (look_lim(month))
|
||||||
{
|
{
|
||||||
real topay = _lim->get_real("R0");
|
real topay = result_liq(month);
|
||||||
real intr = _lim->get_real("R7");
|
real intr = _lim->get_real("R7");
|
||||||
|
|
||||||
if (topay.sign() <= 0) return TRUE;
|
if (topay.sign() <= 0)
|
||||||
|
return TRUE;
|
||||||
if (_isannual)
|
|
||||||
{
|
|
||||||
if (look_del(12,7))
|
|
||||||
{
|
|
||||||
topay -= _del->get_real("R0");
|
|
||||||
intr -= _del->get_real("R1");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// importo rettifiche solo se non e' annuale
|
|
||||||
topay += _lim->get_real("R5");
|
|
||||||
intr += _del->get_real("R1");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (topay.sign() > 0)
|
if (topay.sign() > 0)
|
||||||
{
|
{
|
||||||
look_del(month, _isannual ? 2 : 1, TRUE);
|
look_del(month, _isannual ? 2 : 1, TRUE);
|
||||||
@ -254,69 +238,66 @@ bool TLiquidazione_app::recalc_acconto()
|
|||||||
// that's pazzesc but it turns out there's no better way
|
// that's pazzesc but it turns out there's no better way
|
||||||
_comp_acconto = TRUE;
|
_comp_acconto = TRUE;
|
||||||
// force recalc of current month
|
// force recalc of current month
|
||||||
_recalc = one;
|
_recalc = one;
|
||||||
|
// insozza il water
|
||||||
update_firm(12);
|
update_firm(12);
|
||||||
|
|
||||||
// TBI calcola l'acconto!!!
|
// calcola l'acconto
|
||||||
if (look_lim(12))
|
if (look_lim(12))
|
||||||
{
|
{
|
||||||
basecalcolo = _lim->get_real("R0");
|
basecalcolo = result_liq(12);
|
||||||
if (basecalcolo.sign() > 0)
|
if (basecalcolo.sign() > 0)
|
||||||
acconto = basecalcolo * ACCONTO_DICEMBRE;
|
acconto = basecalcolo * ACCONTO_DICEMBRE;
|
||||||
}
|
}
|
||||||
else
|
else acconto = real(-1.0);
|
||||||
{
|
// pulisci il water
|
||||||
acconto = real(-1);
|
|
||||||
}
|
|
||||||
// riaggiustati le palle
|
|
||||||
_comp_acconto = FALSE;
|
_comp_acconto = FALSE;
|
||||||
update_firm(12);
|
update_firm(12);
|
||||||
}
|
}
|
||||||
else if (_basecalc == precedente)
|
else if (_basecalc == precedente)
|
||||||
{
|
|
||||||
int yr = atoi(_year) - 1;
|
|
||||||
_lim->zero();
|
|
||||||
*_lim_anno = yr;
|
|
||||||
*_lim_mese = 12;
|
|
||||||
if (_lim->read() == NOERR)
|
|
||||||
{
|
{
|
||||||
basecalcolo = _lim->get_real("R0");
|
int yr = atoi(_year);
|
||||||
if (basecalcolo.sign() > 0)
|
_year = format("%d",yr-1);
|
||||||
|
if (look_lim(12))
|
||||||
|
{
|
||||||
|
basecalcolo = result_liq(12);
|
||||||
|
if (basecalcolo.sign() > 0)
|
||||||
acconto = basecalcolo * ACCONTO_DICEMBRE;
|
acconto = basecalcolo * ACCONTO_DICEMBRE;
|
||||||
|
}
|
||||||
|
else error = TRUE;
|
||||||
|
_year = format("%d", yr);
|
||||||
}
|
}
|
||||||
else error = TRUE;
|
|
||||||
}
|
// sbatti l'acconto in LIA
|
||||||
|
if (look_lia())
|
||||||
// sbatti l'acconto in LIA
|
{
|
||||||
if (look_lia())
|
_lia->put("R4",acconto);
|
||||||
{
|
isdifferita = _lia->get_bool("B1");
|
||||||
_lia->put("R4",acconto);
|
_lia->rewrite();
|
||||||
isdifferita = _lia->get_bool("B1");
|
}
|
||||||
_lia->rewrite();
|
|
||||||
}
|
if (acconto.sign() > 0)
|
||||||
|
{
|
||||||
if (acconto.sign() > 0)
|
// crea o aggiorna delega
|
||||||
{
|
look_del(12,7,TRUE);
|
||||||
// crea o aggiorna delega
|
_del->put("R0", acconto);
|
||||||
look_del(12,7,TRUE);
|
_del->rewrite();
|
||||||
_del->put("R0", acconto);
|
}
|
||||||
_del->rewrite();
|
|
||||||
}
|
// per questa volta lasciamo perdere la describe_acconto
|
||||||
|
if (_isprint)
|
||||||
// per questa volta lasciamo perdere la describe_acconto
|
{
|
||||||
if (_isprint)
|
_DescrItem* d = new _DescrItem(ACCONTO);
|
||||||
{
|
d->_r0 = basecalcolo;
|
||||||
_DescrItem* d = new _DescrItem(ACCONTO);
|
d->_r1 = acconto;
|
||||||
d->_r0 = basecalcolo;
|
d->_f0 = _basecalc == incorso;
|
||||||
d->_r1 = acconto;
|
d->_f1 = _isbase;
|
||||||
d->_f0 = _basecalc == incorso;
|
d->_f2 = error;
|
||||||
d->_f1 = _isbase;
|
d->_f3 = isdifferita;
|
||||||
d->_f2 = error;
|
d->_s0 = _nditte->curr().get("CODDITTA");
|
||||||
d->_f3 = isdifferita;
|
d->_s1 = _nditte->curr().get("RAGSOC");
|
||||||
d->_s0 = _nditte->curr().get("CODDITTA");
|
_descr_arr.add(d);
|
||||||
d->_s1 = _nditte->curr().get("RAGSOC");
|
}
|
||||||
_descr_arr.add(d);
|
return TRUE;
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
# File configurazione contabilita'
|
# File configurazione contabilita'
|
||||||
# Versione commentata da NON usare direttamente
|
# Versione commentata da NON usare direttamente
|
||||||
# Guy 16-9-94
|
# Guy 16-9-94
|
||||||
# Paragrafo Main
|
|
||||||
[Main]
|
|
||||||
# Text editor per viswin etc.
|
|
||||||
Editor = notepad
|
|
||||||
# Paragrafo Contabilita'
|
# Paragrafo Contabilita'
|
||||||
[cg]
|
[cg]
|
||||||
# Maschera edit
|
# Maschera edit
|
||||||
|
Loading…
x
Reference in New Issue
Block a user