diff --git a/ve/velib04b.cpp b/ve/velib04b.cpp index 818c322aa..50e61de82 100755 --- a/ve/velib04b.cpp +++ b/ve/velib04b.cpp @@ -1132,22 +1132,31 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc) // per reperire il tipo documento ed il tipo movimento // reperisce la descrizione dal tipo documento e la completa con la data documento ed il // numero documento - TString descr; doc.riferimento(descr); + const bool short_rif = pack_rif(); + TString descr; + + if (!short_rif) + { + doc.riferimento(descr); + if (descr.empty()) descr = tipo.descrizione(); + if (descr.full()) + descr << ' '; + } - if (descr.empty()) descr = tipo.descrizione(); - const TString8 rif = doc.get(DOC_NUMDOCRIF); - const bool use_rif = _caus->iva() == iva_acquisti && rif.not_empty(); - if (use_rif) - { - descr << TR(" n. ") << rif; - descr << TR(" del ") << doc.get(DOC_DATADOCRIF); - } - else - { - descr << TR(" n. ") << doc.numero(); - descr << TR(" del ") << datadoc; - } + const TString16 rif = doc.get(DOC_NUMDOCRIF); + const bool use_rif = _caus->iva() == iva_acquisti && rif.not_empty(); + if (use_rif) + { + descr << "n. " << rif; + const TString & data_rif = doc.get_date(DOC_DATADOCRIF).string(short_rif ? brief : full); + descr << " del " << data_rif; + } + else + { + descr << "n. " << doc.numero(); + descr << " del " << datadoc.string(short_rif ? brief : full); + } // Codice registro IVA TRegistro& registro = _caus->reg(); @@ -1499,22 +1508,29 @@ error_type TContabilizzazione::compile_head_mov_re(TDocumento& doc) // per reperire il tipo documento ed il tipo movimento // reperisce la descrizione dal tipo documento e la completa con la data documento ed il // numero documento - TString descr; doc.riferimento(descr); - const TTipo_documento& tipo = doc.tipo(); - if (descr.empty()) descr = tipo.descrizione(); + const bool short_rif = pack_rif(); + TString descr; + + if (!short_rif) + { + doc.riferimento(descr); + if (descr.empty()) descr = tipo.descrizione(); + if (descr.full()) + descr << ' '; + } const TString16 rif = doc.get(DOC_NUMDOCRIF); const bool use_rif = _caus->iva() == iva_acquisti && rif.not_empty(); if (use_rif) { - descr << " n. " << rif; - const TString & data_rif = doc.get(DOC_DATADOCRIF); + descr << "n. " << rif; + const TString & data_rif = doc.get_date(DOC_DATADOCRIF).string(short_rif ? brief : full); descr << " del " << data_rif; } else { - descr << " n. " << doc.numero(); - descr << " del " << datadoc.string(); + descr << "n. " << doc.numero(); + descr << " del " << datadoc.string(short_rif ? brief : full); } // Dati del cliente... @@ -2354,6 +2370,7 @@ error_type TContabilizzazione::compile_rows_mov(TDocumento& doc) TRiga_documento rmat(r); const real prezzo = r.get_real(RDOC_PREZZO); rmat.put(RDOC_PREZZO, pricemat); + rmat.zero(RDOC_SCONTO); const real valmat = rmat.imponibile(); const real diff = r.imponibile() - valmat;