Corretta gestione degli statio modificabili nel caso di cambio di stato

Corretta costruzione della tabella iva ( non detraeva gli imponibili per aliquota)


git-svn-id: svn://10.65.10.50/trunk@5123 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1997-08-28 17:11:17 +00:00
parent fe1d23e22b
commit 8d09ef8bf5
2 changed files with 15 additions and 7 deletions

View File

@ -453,6 +453,7 @@ class TDocumento : public TMultiple_rectype // velib03
static long _firm;
static TString16 _codiva_spese;
static TString16 _codiva_bolli;
char _stato_originale;
int _liv_len[4];

View File

@ -233,7 +233,7 @@ TString16 TDocumento::_codiva_bolli;
TDocumento::TDocumento()
: TMultiple_rectype(LF_DOC), _condv(NULL),
_sconto(NULL), _esenzione(NULL)
_sconto(NULL), _esenzione(NULL), _stato_originale(' ')
{
add_file(LF_RIGHEDOC, "NRIGA");
_tipocf = new TRecfield(*this, "TIPOCF");
@ -246,7 +246,7 @@ TDocumento::TDocumento()
TDocumento::TDocumento(const TDocumento & d)
: TMultiple_rectype(LF_DOC), _condv(NULL),
_sconto(NULL), _esenzione(NULL)
_sconto(NULL), _esenzione(NULL), _stato_originale(' ')
{
add_file(LF_RIGHEDOC, "NRIGA");
copy(d);
@ -255,7 +255,7 @@ TDocumento::TDocumento(const TDocumento & d)
TDocumento::TDocumento(char provv, int anno, const char* codnum, long numdoc,
TCond_vendita * condv)
: TMultiple_rectype(LF_DOC), _condv(condv), _sconto(NULL),
_esenzione(NULL)
_esenzione(NULL), _stato_originale(' ')
{
add_file(LF_RIGHEDOC, "NRIGA");
_tipocf = new TRecfield(*this, "TIPOCF");
@ -275,7 +275,7 @@ TDocumento::TDocumento(char provv, int anno, const char* codnum, long numdoc,
TDocumento::TDocumento(const TRectype& rec, TCond_vendita * condv)
: TMultiple_rectype(LF_DOC), _condv(condv), _sconto(NULL),
_esenzione(NULL)
_esenzione(NULL), _stato_originale(' ')
{
add_file(LF_RIGHEDOC, "NRIGA");
_tipocf = new TRecfield(*this, "TIPOCF");
@ -582,6 +582,7 @@ int TDocumento::read(TBaseisamfile& f, word op, word lockop)
set_riga_sconto();
if (is_fattura())
set_riga_esenzione();
_stato_originale = stato();
return err;
}
@ -716,9 +717,11 @@ int TDocumento::write_rewrite(TBaseisamfile & f, bool re) const
myself.stato(stato_finale);
}
else
{
if (!modificabile() && !yesno_box("Documento non modificabile,\n vuoi continuare ugualmente"))
return NOERR;
{
if (_stato_originale == stato())
if (!modificabile() && !yesno_box("Documento non modificabile,\n vuoi continuare ugualmente"))
return NOERR;
myself._stato_originale = stato();
}
const bool check_movmag = main_app().has_module(MGAUT, CHK_DONGLE) && tipo().mov_mag();
@ -1142,6 +1145,10 @@ void TDocumento::update_tabella_iva()
{
const char * codiva = ri->cod_iva().codice();
const real i(d.get());
real & imponibile = ri->imp();
imponibile += i;
real & iva = ri->iva();
const real imposta(::iva(i, TIVA(codiva), ALL_DECIMALS));