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:
parent
20b6d6ead9
commit
95e18ad03e
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user