From 4d9bbac34734f1356a217181a2b0d9955d67a924 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 18 May 2006 22:03:16 +0000 Subject: [PATCH] Patch level : 4.0 418 Files correlati : ve0.exe ve1.exe ve4.exe ve5.exe ve6.exe Ricompilazione Demo : [ ] Commento : Bug 0000655 Modificare il meccanismo di proposta delle spese automatiche da cliente in modo da proporlo solo se nel documento non sono mai state inserite e al cambio cliente git-svn-id: svn://10.65.10.50/trunk@13999 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ve/velib03.cpp | 28 ++++++++++------------------ ve/velib06.cpp | 9 +++++++-- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/ve/velib03.cpp b/ve/velib03.cpp index 1e4abf180..1fcce018a 100755 --- a/ve/velib03.cpp +++ b/ve/velib03.cpp @@ -855,7 +855,7 @@ int TDocumento::write_rewrite(TBaseisamfile & f, bool re) const if (!doc_bloccato) { - if(tipo().spese_aut() && !get_bool("SPESEUPD")) + if(tipo().spese_aut() && !get_bool(DOC_SPESEUPD)) { TString16 name("CODSP0"); TString_array spese; @@ -873,7 +873,6 @@ int TDocumento::write_rewrite(TBaseisamfile & f, bool re) const myself.update_conai(); myself.set_row_ids(); -// const int rows = physical_rows(); long num = get_long("MOVMAG"); @@ -2077,20 +2076,12 @@ void TDocumento::put_str(const char* fieldname, const char* val) dirty_fields(); } else - if (strcmp(fieldname, DOC_CODCF) == 0) - { - const TString16 v(val); - put("SPESEUPD", TRectype::get("CODCF") == v); - TAuto_variable_rectype::put_str(fieldname, v); - dirty_fields(); - } - else - { - TAuto_variable_rectype::put_str(fieldname, val); - dirty_fields(); - if (strcmp(fieldname, "SCONTOPERC") == 0) - set_riga_sconto(); - } + { + TAuto_variable_rectype::put_str(fieldname, val); + dirty_fields(); + if (strcmp(fieldname, "SCONTOPERC") == 0) + set_riga_sconto(); + } } const TString& TDocumento::get_str(const char* fieldname) const @@ -2149,6 +2140,7 @@ TDocumento & TDocumento::copy(const TDocumento & d) TMultiple_rectype::operator=((TMultiple_rectype &)d); reset_fields(*this); set_fields(*this); + put(DOC_SPESEUPD, d.get(DOC_SPESEUPD)); for (int i = physical_rows(); i > 0; i--) { TRiga_documento & r = row(i); @@ -2213,7 +2205,7 @@ TRecord_array& TDocumento::body(int logicnum) const void TDocumento::update_spese_aut(TString_array & spese_aut, bool preserve_old, TSheet_field * sh) { - const bool updated = get_bool("SPESEUPD"); + const bool updated = get_bool(DOC_SPESEUPD); if (updated) return; @@ -2305,7 +2297,7 @@ void TDocumento::update_spese_aut(TString_array & spese_aut, bool preserve_old, } } } - put("SPESEUPD", true); + put(DOC_SPESEUPD, true); } real TDocumento::calc_conai_qta(int type) diff --git a/ve/velib06.cpp b/ve/velib06.cpp index 3f0fbcf9b..2ed50fb81 100755 --- a/ve/velib06.cpp +++ b/ve/velib06.cpp @@ -926,7 +926,6 @@ void TDocumento_mask::spese2mask() spese.add(s); } -// doc().put("SPESEUPD", FALSE); doc().put(DOC_CODVAL, get(F_CODVAL)); doc().put(DOC_CAMBIO, get(F_CAMBIO)); doc().put(DOC_CONTROEURO, get(F_CONTROEURO)); @@ -1445,7 +1444,7 @@ bool TDocumento_mask::occas_handler( TMask_field& f, KEY key ) bool TDocumento_mask::clifo_handler( TMask_field& f, KEY key ) { - if (key != K_ENTER && f.to_check(key, TRUE)) + if (key != K_ENTER && f.to_check(key, true)) { TDocumento_mask & m = (TDocumento_mask &) f.mask(); TDocumento & d = m.doc(); @@ -1459,7 +1458,12 @@ bool TDocumento_mask::clifo_handler( TMask_field& f, KEY key ) if ( cli_for.get_bool(CLI_SOSPESO) ) return f.error_box( "Il codice '%ld' e' sospeso e non puo' essere utilizzato", atol(f.get())); + + if (f.focusdirty()) + d.put(DOC_SPESEUPD, false); + m.cli2mask(); + if (cli_for.occasionale()) { TOccasionale& occas = d.occas(); @@ -1468,6 +1472,7 @@ bool TDocumento_mask::clifo_handler( TMask_field& f, KEY key ) } else d.zero(DOC_OCFPI); + } return TRUE; }