From b4e2713a1716c38c7014afc281e5c225e33c292b Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 24 Jul 2003 11:08:07 +0000 Subject: [PATCH] Patch level : 2.0 534 Files correlati : ve0.exe Ricompilazione Demo : [ ] Commento : PG200014 Nel caso di contabilizzazione di fatture provenienti da paesi cee il programma in fase di "elabora" segnala che manca il codice della provincia di origine all'interno dell'anagrafica articolo pur essendo detto campo correttamente inserito git-svn-id: svn://10.65.10.50/trunk@11345 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ve/velib04b.cpp | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/ve/velib04b.cpp b/ve/velib04b.cpp index 94c6c7992..124596eae 100755 --- a/ve/velib04b.cpp +++ b/ve/velib04b.cpp @@ -14,10 +14,14 @@ #include #include #include +#include #include #include +#include + #include #include + #include "../mg/anamag.h" @@ -3331,7 +3335,7 @@ error_type TContabilizzazione::write_intra(TDocumento& doc) const int trasporto = por_rec.get_int("I0"); // tipo di trasporto... const char natura = doc.tipo().get("S3")[3]; // natura della transazione, valida per tutte le righe del documento const long numreg = rm.get_long(MOV_NUMREG); - TString16 nomenclatura, ums, paeseorig, provincia, paese, codmag, commag; + TString16 nomenclatura, ums, paeseorig, provincia, paese; real totale_righe, massanun, unsuppun; const real cambio = doc.cambio(); const bool is_val = doc.in_valuta(); @@ -3349,15 +3353,28 @@ error_type TContabilizzazione::write_intra(TDocumento& doc) const TRiga_documento& rr = doc[i]; if (rr.is_articolo()) { - codmag = rr.get(RDOC_CODMAG); const TRectype& rec_anamag = cchh.get(LF_ANAMAG, rr.get(RDOC_CODARTMAG)); - commag = cchh.get("MAG", codmag, "S5"); // Comune del magazzino nomenclatura = rec_anamag.get(ANAMAG_CLASSDOG); ums = cchh.get("%NOC", nomenclatura, "S5"); massanun = rec_anamag.get_real(ANAMAG_MASSANUN); // Massa KG unsuppun = rec_anamag.get_real(ANAMAG_UNSUPPUN); // Massa UMS paeseorig = !is_cessione ? rec_anamag.get(ANAMAG_PAESE) : EMPTY_STRING; // Campo solo per Acquisti - provincia = is_cessione ? rec_anamag.get(ANAMAG_PROV) : cchh.get(LF_COMUNI, commag, COM_PROVCOM); + if (is_cessione) + provincia = rec_anamag.get(ANAMAG_PROV); + else + { + const TString8 codmag = rr.get(RDOC_CODMAG); + TString4 com = cchh.get("MAG", codmag, "S5"); // Comune del magazzino + if (com.empty()) + { + const long codditta = prefix().get_codditta(); + TString8 codulc; codulc.format("%ld|1", codditta); + const TRectype& unloc = cchh.get(LF_UNLOC, codulc); + com = unloc.get(ULC_COMULC); + } + + provincia = cchh.get(LF_COMUNI, com, COM_PROVCOM); + } if (nomenclatura.blank() || unsuppun.is_zero() || massanun.is_zero() || provincia.blank()) {