diff --git a/ve/velib.h b/ve/velib.h index 64453120c..63ea57d27 100755 --- a/ve/velib.h +++ b/ve/velib.h @@ -679,6 +679,7 @@ public: bool tipo_valido() const { return get("TIPODOC").not_empty(); } static const TTipo_documento& tipo(const char * tipodoc); const TTipo_documento& tipo() const; + int tipo_riclassificato() const; static const TCodice_numerazione& codice_numerazione(const char * numerazione); const TCodice_numerazione& codice_numerazione() const; void set_tipo(const char * tipo) { head().put("TIPODOC", tipo);} diff --git a/ve/velib03.cpp b/ve/velib03.cpp index 2d388fe95..9e3047c07 100755 --- a/ve/velib03.cpp +++ b/ve/velib03.cpp @@ -2450,4 +2450,18 @@ const TRiga_documento* TDocumento::get_row_id(long id) const return &row; } return NULL; -} \ No newline at end of file +} + +int TDocumento::tipo_riclassificato() const +{ + int tipo_riclassificato = tipo().tipo(); + if (tipo_riclassificato == TTipo_documento::_altro) + { + const TCodice_numerazione& num = codice_numerazione(); + if (num.fattura_emettere_ricevere()) + tipo_riclassificato = TTipo_documento::_bolla; + else + tipo_riclassificato = TTipo_documento::_fattura; + } + return tipo_riclassificato; +}