diff --git a/cg/cg2100.cpp b/cg/cg2100.cpp index c863bb840..dd45267d8 100755 --- a/cg/cg2100.cpp +++ b/cg/cg2100.cpp @@ -31,6 +31,7 @@ public: real _totale; TString _descrizione; TString _causale_fattura; + TipoIVA _iva_fattura; }; /////////////////////////////////////////////////////////// @@ -595,13 +596,15 @@ const char* TPrimanota_application::get_next_key() case 1: _tmp.add(_incasso->_causale); _msk[0]->set(F_CODCAUS, _incasso->_causale); // Joke get_mask + _iva = nessuna_iva; // Impedisce incremento del numero documento break; case 2: _tmp.add(_incasso->_causale_fattura); _msk[0]->set(F_CODCAUS, _incasso->_causale_fattura); // Joke get_mask + _iva = _incasso->_iva_fattura; // Provoca incremento del numero documento break; default: - _tmp.add(m.get(F_CODCAUS)); // Ultima causale usata + _tmp.add(m.get(F_CODCAUS)); // Ultima causale usata _msk[0]->set(F_CODCAUS, m.get(F_CODCAUS)); break; } @@ -615,12 +618,9 @@ const char* TPrimanota_application::get_next_key() else _tmp.add(m.get(F_DATACOMP)); - if (iva() == iva_vendite || _incasso->_step == 2) + if (_iva == iva_vendite) { - _incasso->_step = 0; // Senno' vale anche per acquisti - _tmp.add(F_DATADOC); _tmp.add(m.get(F_DATADOC)); // Ricopia data documento - const long n = m.get_long(F_NUMDOC); if (n > 0) { _tmp.add(F_NUMDOC); _tmp.add(n+1); } // incrementa numero documento @@ -1189,6 +1189,7 @@ void TPrimanota_application::genera_incasso(const char* causimm) { _incasso->_causale = causimm; _incasso->_causale_fattura = m.get(F_CODCAUS); + _incasso->_iva_fattura = causale().iva(); _incasso->_datadoc = m.get(F_DATADOC); _incasso->_numdoc = m.get(F_NUMDOC); _incasso->_clifo.get(_rel->cg(0));