diff --git a/ve/velib04b.cpp b/ve/velib04b.cpp index 31fb7b75d..2fa355d9a 100755 --- a/ve/velib04b.cpp +++ b/ve/velib04b.cpp @@ -2627,24 +2627,29 @@ error_type TContabilizzazione::write_scadenze(TDocumento& doc) // const real change(head.get_real(MOV_CAMBIO)); int anno = head.get_int(MOV_ANNOIVA); - TString16 numpart = doc.get(DOC_NUMDOCRIF); if (head.get_real(MOV_TOTDOC) == ZERO) return _error; - if (numpart.full() && _caus->iva() == iva_vendite && !doc.tipo().nota_credito()) - numpart.cut(0); + TString16 numpart; - if (numpart.blank()) - { - numpart = head.get(_nump_cfg ? MOV_PROTIVA : MOV_NUMDOC); - } - else - { - TDate ddr = doc.get_date(DOC_DATADOCRIF); - if (ddr.ok()) - anno = ddr.year(); - } + if (_nump_cfg) + numpart = head.get(MOV_PROTIVA); + else + { + numpart = doc.get(DOC_NUMDOCRIF); + if (_caus->iva() == iva_vendite && !doc.tipo().nota_credito()) + numpart.cut(0); + + if (numpart.blank()) + numpart = head.get(MOV_NUMDOC); + else + { + TDate ddr = doc.get_date(DOC_DATADOCRIF); + if (ddr.ok()) + anno = ddr.year(); + } + } TPartita* newgame = NULL; if (anno > 0 && !numpart.blank())