From 8cf2ffbcbdd1e836377350d8b3eddc31f43839f5 Mon Sep 17 00:00:00 2001 From: mtollari Date: Wed, 14 Sep 2016 13:34:43 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:=2012.?= =?UTF-8?q?0=20280=20Files=20correlati=20=20=20=20=20:=20Commento=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20:=20-=20Corretto=20l'handler=20sul?= =?UTF-8?q?=20campo=20pagamento=20in=20modo=20che=20compili=20correttament?= =?UTF-8?q?e=20il=20campo=20mandato=20vuoto=20solo=20se=20si=20=C3=A8=20in?= =?UTF-8?q?=20inserimento=20e=20la=20condizione=20di=20pagamento=20prevede?= =?UTF-8?q?=20i=20RID=20-=20Aggiunti=20inline=20operator=20aritmetici=20an?= =?UTF-8?q?che=20per=20i=20longdouble?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.65.10.50/branches/R_10_00@23281 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- src/ve/ve0200.cpp | 2 +- src/ve/ve6300.cpp | 3 ++- src/ve/velib03.cpp | 4 ++-- src/ve/velib03a.cpp | 4 ++-- src/ve/velib04b.cpp | 4 ++-- src/ve/velib04c.cpp | 4 ++-- src/ve/velib06.cpp | 2 +- src/ve/velib06a.cpp | 23 ++++++++++++++--------- 8 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/ve/ve0200.cpp b/src/ve/ve0200.cpp index 5ed8a326d..5d9b04f2b 100755 --- a/src/ve/ve0200.cpp +++ b/src/ve/ve0200.cpp @@ -58,7 +58,7 @@ bool TConf_vendite::check_fields_iva(TMask_field& f, KEY k) for (short i = F_EX_PERCIVA1; i <= F_EX_PERCIVA5; i+=2) tot += m.get_real(i); - if (tot != ZERO && tot != 100.0) + if (tot != ZERO && tot != CENTO) return f.error_box("La somma delle percentuali di esclusione deve dare 100 oppure 0."); } return TRUE; diff --git a/src/ve/ve6300.cpp b/src/ve/ve6300.cpp index 511032d41..54006dc46 100755 --- a/src/ve/ve6300.cpp +++ b/src/ve/ve6300.cpp @@ -554,7 +554,8 @@ void TGenerazioneEffetti_app::generate() if (doc_tipo_stato_ok(doc)) // controlla che il tipo documento e lo stato siano coerenti con la ELD selezionata { TPagamento & pag = doc->pagamento(); - if (pag.code().not_empty()) + + if (pag.code().not_empty()) { const bool raggruppabile = doc->get_bool(DOC_RAGGREFF); if (!_raggruppa || (_raggruppa && !raggruppabile)) diff --git a/src/ve/velib03.cpp b/src/ve/velib03.cpp index 9c975e785..502df5db8 100755 --- a/src/ve/velib03.cpp +++ b/src/ve/velib03.cpp @@ -1674,7 +1674,7 @@ void TDocumento::calc_provvigione(TProvvigioni_agente & provv, const TString & k TCurrency_documento tot_doc(totale_doc(), *this); TCurrency_documento tot_netto(totale_netto(), *this); TCurrency_documento tot_provv(provvigione(first), *this); - TCurrency_documento provv_fat((tot_provv.get_num() / 100.0) * perc, *this); // Provvigione sul fatturato (rata 0) + TCurrency_documento provv_fat((tot_provv.get_num() / CENTO) * perc, *this); // Provvigione sul fatturato (rata 0) TCurrency_documento provv_pag = tot_provv - provv_fat; // Provvigione sul pagato (da suddivere secondo il pagamento) const bool valuta = in_valuta(); @@ -1709,7 +1709,7 @@ void TDocumento::calc_provvigione(TProvvigioni_agente & provv, const TString & k // // Un anticipo su di una nota di credito non dovrebbe comunque mai esistere, non ha senso. // Se esiste è un errore in inserimento da parte del cliente. - if (anticipo.get_num() < abs(tot_doc.get_num())) + if ((double)anticipo.get_num() < abs(tot_doc.get_num())) { TGeneric_distrib d(anticipo.get_num(), decimals()); diff --git a/src/ve/velib03a.cpp b/src/ve/velib03a.cpp index 3fafb79de..b9628f74f 100755 --- a/src/ve/velib03a.cpp +++ b/src/ve/velib03a.cpp @@ -644,7 +644,7 @@ void TExpr_documento::evaluate_user_func(int index, int nparms, TEval_stack & st real & r = stack.peek_real(); if (_doc) - r = _doc->spese_incasso(real(r - _doc->ritenute()), ndec, netto ? _netto : _lordo); + r = _doc->spese_incasso(real(r - (const real)_doc->ritenute()), ndec, netto ? _netto : _lordo); else r = ZERO; } @@ -925,7 +925,7 @@ void TExpr_documento::evaluate_user_func(int index, int nparms, TEval_stack & st TString80 s; if (_doc && scontoexpr2perc(_doc->get(DOC_SCONTOPERC), FALSE, s, val) && val != ZERO) - val = 1 - val; + val = UNO - val; stack.push(val); } break; diff --git a/src/ve/velib04b.cpp b/src/ve/velib04b.cpp index 3dbfe1b81..0dee7ff1e 100755 --- a/src/ve/velib04b.cpp +++ b/src/ve/velib04b.cpp @@ -2781,7 +2781,7 @@ error_type TContabilizzazione::write_scadenze(TDocumento& doc, bool recontabiliz const real totdocval(head.get(MOV_TOTDOCVAL)); const bool in_valuta = cambio.in_valuta(); const bool swapped = !in_valuta && test_swap(); - const TCurrency_documento td((in_valuta ? totdocval : totdoc) * (swapped ? -1 : 1), doc); + const TCurrency_documento td((in_valuta ? totdocval : totdoc) * (swapped ? -UNO : UNO), doc); partita.put(PART_IMPTOTDOC, totdoc); @@ -2797,7 +2797,7 @@ error_type TContabilizzazione::write_scadenze(TDocumento& doc, bool recontabiliz real imposte; for (int j = _movimento->iva_items()-1; j >= 0; j--) - imposte += _movimento->iva(j).get_real(RMI_IMPOSTA) * (swapped ? -1 : 1); + imposte += _movimento->iva(j).get_real(RMI_IMPOSTA) * (swapped ? -UNO : UNO); if (_caus->iva() == iva_acquisti) // Ricalcola precisamente il totale imposte { real ti = imposte; diff --git a/src/ve/velib04c.cpp b/src/ve/velib04c.cpp index 579866e27..05c7bc27f 100755 --- a/src/ve/velib04c.cpp +++ b/src/ve/velib04c.cpp @@ -626,7 +626,7 @@ void TGenerazione_effetti::generate_bill(TDocumento& doc, bool interattivo) // b if (data.empty()) data = doc.get(DOC_DATADOC); - const real tot = doc.totale_doc() - doc.ritenute(); + const real tot = doc.totale_doc() - doc.ritenute(); const TCurrency_documento totale_fatt(tot, doc); // Importo in valuta const TCurrency_documento imppagato(doc.get_real(DOC_IMPPAGATO), doc); // Anticipo pagamento if (totale_fatt > imppagato && !doc.get_bool(DOC_ACCSALDO)) // procede se non e' a saldo @@ -674,7 +674,7 @@ void TGenerazione_effetti::generate_bill(TDocumento& doc, bool interattivo) // b effetto.put(EFF_DATASCAD, pag.data_rata(i)); effetto.put(EFF_TIPOPAG,pag.tipo_rata(i)); effetto.put(EFF_ULTCLASS,pag.ulc_rata(i)); - effetto.put(EFF_MANDATO,doc.get(DOC_MANDATO)); + effetto.put(EFF_MANDATO,doc.get(DOC_MANDATO)); effetto.put(EFF_TIPOCF, tipocf); effetto.put(EFF_CODCF, codcf); effetto.put(EFF_CODVAL, codval); diff --git a/src/ve/velib06.cpp b/src/ve/velib06.cpp index 1c1aa76b4..1c3fca807 100755 --- a/src/ve/velib06.cpp +++ b/src/ve/velib06.cpp @@ -144,7 +144,7 @@ TDocumento_mask::TDocumento_mask(const char* td) set_field_handler( F_CODCF, clifo_handler ); set_field_handler( F_CODPAG, condpag_hndl ); set_field_handler( F_DATAINSC, condpag_hndl ); - set_field_handler( F_MANDATO, mandato_hndl ); + set_field_handler( F_MANDATO, mandato_hndl ); set_field_handler( F_CODNOTE, note_hndl ); set_field_handler( F_DATADOC, data_hndl ); set_field_handler( F_CODLIST, codlist_handler ); diff --git a/src/ve/velib06a.cpp b/src/ve/velib06a.cpp index 801d03f7b..edd7733d9 100755 --- a/src/ve/velib06a.cpp +++ b/src/ve/velib06a.cpp @@ -296,14 +296,19 @@ bool condpag_hndl( TMask_field& field, KEY key ) TMask_field* mandato = m.find_by_id(F_MANDATO); if (mandato != NULL) { - if (is_rid && main_app().has_module(EFAUT) && m.get_long(F_CODCF)) + if (is_rid && main_app().has_module(EFAUT) && !m.field(F_CODCF).empty()) { mandato->enable(); mandato->check_type(CHECK_REQUIRED); - TString query; query << "USE &EFMAN SELECT I0=" << m.get_long(F_CODCF); - TISAM_recordset man(query); - if (man.items() == 1) - m.set(F_MANDATO, man.get("CODTAB").as_string(), 0x3); + if (m.insert_mode() && mandato->empty()) + { + TString query; + + query << "USE &EFMAN SELECT I0=" << m.get_long(F_CODCF); + TISAM_recordset man(query); + if (man.items() == 1) + m.set(F_MANDATO, man.get("CODTAB").as_string(), 0x3); + } } else { @@ -870,10 +875,10 @@ bool pricerange_handler(TMask_field& f, KEY key ) } else { - real inf = old_price * (UNO - (decr/CENTO)); + real inf = old_price * (UNO - ((real)decr/CENTO)); if (inf > new_price && !yesno_box("Il prezzo è diminuito di più del %d%%, confermare", decr)) return false; - real sup = old_price * (UNO + (incr/CENTO)); + real sup = old_price * (UNO + ((real)incr/CENTO)); if (sup < new_price && !yesno_box("Il prezzo è aumentato di più del %d%%, confermare", incr)) return false; } @@ -2257,13 +2262,13 @@ bool qtaart_handler( TMask_field& f, KEY key ) if (doc.tipo().check_giac()) { const real giac = mask.get(F_CURGIAC); - if (giac < -(c.sgn(s_giac) * qta) && !yesno_box("Attenzione giacenza negativa: si desidera continuare?")) + if (giac < -((real)c.sgn(s_giac) * qta) && !yesno_box("Attenzione giacenza negativa: si desidera continuare?")) return false; } else if (doc.tipo().check_disp()) { const real disp = mask.get(F_CURDISP); - if (disp < -(c.sgn(s_giac) * qta) && !yesno_box("Attenzione disponibilità negativa: si desidera continuare?")) + if (disp < -((real)c.sgn(s_giac) * qta) && !yesno_box("Attenzione disponibilità negativa: si desidera continuare?")) return false; } }