From 1d69139ecaf5df6aefc8ed9a4abab0695dcf91c1 Mon Sep 17 00:00:00 2001 From: Alessandro Bonazzi Date: Tue, 1 Sep 2020 17:25:06 +0200 Subject: [PATCH] Patch level : 12.0 990 Files correlati : ve0.exe Commento : aggiunta la funzione PESOCONAI({"categoria" ["CA", ....]}; {tipocalcolo(0) [0=pesonetto, 1=peso esente, 2=pesolordo]; decimali(5)) per avere il peso unitario CONAI su una riga ricavata dalla funzione QTACONAI({"categoria" ["CA", ....]}; {tipocalcolo(0) [0=pesonetto, 1=peso esente, 2=pesolordo]; decimali(5)) --- src/ve/velib03a.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ve/velib03a.cpp b/src/ve/velib03a.cpp index 317a3efa5..a4a68c07d 100755 --- a/src/ve/velib03a.cpp +++ b/src/ve/velib03a.cpp @@ -616,6 +616,8 @@ int TExpr_documento::parse_user_func(const char * name, int nparms) const return nparms == 0 ? _nrate : -1; if (strcmp(name, "QTACONAI") == 0) return nparms >= 1 && nparms < 4 ? _qtaconai : -1; + if (strcmp(name, "PESOCONAI") == 0) + return nparms >= 1 && nparms < 4 ? _pesoconai : -1; if (strcmp(name, "VALCONAI") == 0) return nparms >= 1 && nparms < 4 ? _valconai : -1; return -1; @@ -1066,6 +1068,7 @@ void TExpr_documento::evaluate_user_func(int index, int nparms, TEval_stack & st default: TExpression::evaluate_user_func(index, nparms, stack, type); break; + case _pesoconai: case _qtaconai: { const int ndec = (nparms > 2) ? (int)stack.pop_real().integer() : 5; @@ -1086,13 +1089,12 @@ void TExpr_documento::evaluate_user_func(int index, int nparms, TEval_stack & st { const real peso = _row->get_real(conai_peso_name(i)); - val += (peso * _row->get_real(RDOC_QTA)); + val += (((index == _qtaconai) ? _row->get_real(RDOC_QTA) : UNO) * peso); } } if (tipo_calcolo < 2 && cat.full()) { real perc_esenz; - const TDate datadoc = _doc->get(DOC_DATADOC); const TRectype& cfven = _doc->clifor().vendite(); const TDate dataies = cfven.get(CFV_DATAICONAI);