From 95e18ad03ee7381249f4d6c857a0a8852b5f3acb Mon Sep 17 00:00:00 2001 From: AlexBonazzi Date: Wed, 27 Feb 2019 14:56:55 +0100 Subject: [PATCH] Patch level : 12.0 714 Files correlati : ve0.exe ve0100a.msk Commento : MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Migliorata la segnalazione quando c'é una divisione per zero Corretta la ricerca per ragione sociale nella maschera di quey dei documenti interattivi in modo che sia case insensitive (Metacalabria) --- src/ve/ve0100.cpp | 5 ++--- src/ve/ve0100a.uml | 3 ++- src/ve/velib.h | 1 - src/ve/velib06a.cpp | 48 --------------------------------------------- 4 files changed, 4 insertions(+), 53 deletions(-) diff --git a/src/ve/ve0100.cpp b/src/ve/ve0100.cpp index 081aceae0..8bb58dcb7 100755 --- a/src/ve/ve0100.cpp +++ b/src/ve/ve0100.cpp @@ -301,8 +301,7 @@ bool TMotore_application::changing_mask( int mode ) { static int lastmode = NO_MODE; static TString4 last_tipodoc; - const TDocumento & doc = (const TDocumento &) get_relation()->curr(); - const TString& tipodoc = mode == MODE_QUERY ? EMPTY_STRING : doc.tipo().codice(); + const TString& tipodoc = mode == MODE_QUERY ? EMPTY_STRING : query_mask().get(F_TIPODOC); const bool change = ( mode != lastmode) || (last_tipodoc != tipodoc); lastmode = mode; @@ -747,7 +746,7 @@ bool TMotore_application::user_create( ) _msk->set_handler(F_CODNUM, TDocumento_mask::num_handler); _msk->set_handler(F_TIPODOC, tdoc_handler); _msk->set_handler(F_NUMDOCRIF, TDocumento_mask::numdocrif_search_handler); - // _msk->set_handler(F_RAGSOCSEARCH, TDocumento_mask::ragsoc_search_handler); + // _msk->set_handler(F_RAGSOCSEARCH, TDocumento_mask::ragsoc_search_handler); if (_msk->id2pos(F_RIFSEARCH) > 0) _msk->set_handler( F_RIFSEARCH, TDocumento_mask::rif_search_handler ); _msk->set_handler(F_NDOC, ndoc_handler); diff --git a/src/ve/ve0100a.uml b/src/ve/ve0100a.uml index e5397c527..d3ae1071e 100755 --- a/src/ve/ve0100a.uml +++ b/src/ve/ve0100a.uml @@ -204,7 +204,7 @@ STRING F_RAGSOCSEARCH 50 BEGIN PROMPT 2 9 "Ragione Sociale " USE LF_DOC SELECT (TIPOCF==#F_TIPOCF)&&(BETWEEN(STATO,#F_STATO,#F_STATO)) - BY LF_CLIFO->RAGSOC NDOC + BY UPPER(LF_CLIFO->RAGSOC) NDOC JOIN LF_CLIFO INTO TIPOCF==TIPOCF CODCF==CODCF JOIN LF_COMUNI TO LF_CLIFO INTO STATO==STATOCF COM==COMCF INPUT PROVV F_PROVV SELECT @@ -214,6 +214,7 @@ BEGIN COPY DISPLAY F_CODCF COPY OUTPUT F_CODCF CHECKTYPE NORMAL + FLAGS "B" END ENDPAGE diff --git a/src/ve/velib.h b/src/ve/velib.h index d7bec761c..715927662 100755 --- a/src/ve/velib.h +++ b/src/ve/velib.h @@ -1099,7 +1099,6 @@ public: static bool num_handler( TMask_field& f, KEY key ); static bool tipo_handler( TMask_field& f, KEY key ); static bool numdocrif_search_handler( TMask_field& f, KEY key ); - static bool ragsoc_search_handler( TMask_field& f, KEY key ); static bool rif_search_handler( TMask_field& f, KEY key ); static bool datadocrif_handler(TMask_field& f, KEY key); static bool sheet_handler(TMask_field& f, KEY key); diff --git a/src/ve/velib06a.cpp b/src/ve/velib06a.cpp index 5bb1bec6c..86211455d 100755 --- a/src/ve/velib06a.cpp +++ b/src/ve/velib06a.cpp @@ -2645,54 +2645,6 @@ bool TDocumento_mask::numdocrif_search_handler(TMask_field& f, KEY key) return true; } -bool TDocumento_mask::ragsoc_search_handler(TMask_field& f, KEY key) -{ - if (key == K_F9) - { - TMask& m = f.mask(); - - TRelation rel(LF_DOC); - rel.add(LF_CLIFO, "TIPOCF==TIPOCF|CODCF==CODCF"); - rel.add(LF_COMUNI, "STATO==STATOCF|COM==COMCF", 1 , LF_CLIFO); - - TRectype& filtrec = rel.curr(); - filtrec.put(DOC_PROVV, m.get(F_PROVV)); - filtrec.put(DOC_ANNO, m.get(F_ANNO)); - filtrec.put(DOC_CODNUM, m.get(F_CODNUM)); - - TSorted_cursor cur(&rel, "TIPOCF|UPPER(20->RAGSOC)|PROVV|ANNO|CODNUM|PROVV|NDOC", "", 1, &filtrec, &filtrec); - TString filter; filter.format("(CODNUM==\"%s\")&&(PROVV==\"D\")&&(TIPOCF==\"%s\")", - (const char*)m.get(F_CODNUM), (const char*)m.get(F_TIPOCF)); - - cur.setfilter(filter, true); - TToken_string siblings; - TToken_string header(HR("Ragione Sociale@50|Codice|Documento|Data\nDocumento@10|Totale\nDocumento@18V|Valuta|Stato|Partita IVA")); - TToken_string fieldlist("20->RAGSOC|CODCF|NDOC|DATADOC|G1:TOTDOC|CODVAL|STATO|20->PAIV"); - add_custom_search_fields(m, fieldlist, header); - - TBrowse_sheet sheet(&cur, fieldlist, TR("Ragione Sociale"), - header, 0, (TEdit_field&)f, siblings); - - if (!f.empty()) - { - TString ragsoc(f.get()); ragsoc.upper(); - filtrec.zero(); - filtrec.put(DOC_TIPOCF, m.get(F_TIPOCF)); - rel.curr(LF_CLIFO).put(CLI_RAGSOC, ragsoc); - cur.read(); - } - - if (sheet.run() == K_ENTER) - { - const int pos_ndoc = fieldlist.get_pos(DOC_NDOC); - const long ndoc = sheet.row(-1).get_long(pos_ndoc); - m.set(F_NDOC, ndoc); - m.stop_run(K_AUTO_ENTER); - } - } - return true; -} - bool TDocumento_mask::rif_search_handler(TMask_field& f, KEY key) { if (key == K_F9)