Patch level : 12.0 714

Files correlati     : ve0.exe ve0100a.msk
Commento            :

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)
This commit is contained in:
AlexBonazzi 2019-02-27 14:56:55 +01:00
parent 20b6d6ead9
commit 95e18ad03e
4 changed files with 4 additions and 53 deletions

View File

@ -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);

View File

@ -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

View File

@ -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);

View File

@ -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)