Patch level : 10.0
Files correlati : ve0.exe ve2400k.msk Ricompilazione Demo : [ ] Commento : Corretta altezza maschera per copia codice articolo. Corretta ricerca per ragione sociale di un fornitore nei documenti interattivi git-svn-id: svn://10.65.10.50/branches/R_10_00@21685 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3ae51d7dcf
commit
66ace371ca
@ -1,6 +1,6 @@
|
|||||||
#include "ve2400.h"
|
#include "ve2400.h"
|
||||||
|
|
||||||
PAGE "Copia Articolo" -1 -1 66 5
|
PAGE "Copia Articolo" -1 -1 66 7
|
||||||
|
|
||||||
STRING F_CODART 20
|
STRING F_CODART 20
|
||||||
BEGIN
|
BEGIN
|
||||||
|
119
ve/velib06a.cpp
119
ve/velib06a.cpp
@ -2365,8 +2365,26 @@ bool sppr_handler( TMask_field& f, KEY key )
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static TString __header("883");
|
// Costava troppo fare una unica funzione, ma alla fine ce l'abbiamo fatta! :-)
|
||||||
static TString __fieldlist;
|
static void add_custom_search_fields(TMask& m, TToken_string& fields, TToken_string& headers)
|
||||||
|
{
|
||||||
|
TFilename name(m.source_file()); name.ext("ini");
|
||||||
|
TConfig c(name, "Search");
|
||||||
|
const TString& f = c.get("FieldList");
|
||||||
|
if (f.full())
|
||||||
|
{
|
||||||
|
if (f[0] == fields.separator())
|
||||||
|
fields << f;
|
||||||
|
else
|
||||||
|
fields.add(f);
|
||||||
|
|
||||||
|
const TString& h = c.get("Header");
|
||||||
|
if (h[0] == headers.separator())
|
||||||
|
headers << h;
|
||||||
|
else
|
||||||
|
headers.add(h);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool TDocumento_mask::numdocrif_search_handler(TMask_field& f, KEY key)
|
bool TDocumento_mask::numdocrif_search_handler(TMask_field& f, KEY key)
|
||||||
{
|
{
|
||||||
@ -2374,49 +2392,31 @@ bool TDocumento_mask::numdocrif_search_handler(TMask_field& f, KEY key)
|
|||||||
{
|
{
|
||||||
TMask& m = f.mask();
|
TMask& m = f.mask();
|
||||||
|
|
||||||
TRectype filtrec(LF_DOC);
|
|
||||||
|
|
||||||
filtrec.put(DOC_TIPOCF, m.get(F_TIPOCF));
|
|
||||||
filtrec.put(DOC_CODCF, m.get(F_CODCF));
|
|
||||||
|
|
||||||
const long codcf = atol(m.get(F_CODCF));
|
|
||||||
|
|
||||||
if (codcf != 0)
|
|
||||||
filtrec.put(DOC_TIPOCF, m.get(F_TIPOCF));
|
|
||||||
|
|
||||||
TRelation rel(LF_DOC);
|
TRelation rel(LF_DOC);
|
||||||
rel.add(LF_CLIFO, "TIPOCF==TIPOCF|CODCF==CODCF");
|
rel.add(LF_CLIFO, "TIPOCF==TIPOCF|CODCF==CODCF");
|
||||||
rel.add(LF_RIGHEDOC, "PROVV==PROVV|ANNO==ANNO|CODNUM==CODNUM|NDOC==NDOC|NRIGA==1");
|
rel.add(LF_RIGHEDOC, "PROVV==PROVV|ANNO==ANNO|CODNUM==CODNUM|NDOC==NDOC|NRIGA==1");
|
||||||
|
|
||||||
|
TRectype& filtrec = rel.curr();
|
||||||
|
filtrec.put(DOC_TIPOCF, m.get(F_TIPOCF));
|
||||||
|
filtrec.put(DOC_CODCF, m.get(F_CODCF));
|
||||||
|
|
||||||
TSorted_cursor cur(&rel, "TIPOCF|CODCF|PROVV|ANNO|CODNUM|NUMDOCRIF", "", 2, &filtrec, &filtrec);
|
TSorted_cursor cur(&rel, "TIPOCF|CODCF|PROVV|ANNO|CODNUM|NUMDOCRIF", "", 2, &filtrec, &filtrec);
|
||||||
TString80 filter;
|
TString80 filter;
|
||||||
filter.format("(CODNUM==\"%s\") && (PROVV==\"D\") && (ANNO==\"%d\")",
|
filter.format("(CODNUM==\"%s\")&&(PROVV==\"D\")&&(ANNO==\"%d\")",
|
||||||
(const char *)m.get(F_CODNUM), m.get_int(F_ANNO));
|
(const char*)m.get(F_CODNUM), m.get_int(F_ANNO));
|
||||||
cur.setfilter(filter);
|
cur.setfilter(filter);
|
||||||
TToken_string siblings;
|
TToken_string siblings;
|
||||||
TToken_string header(HR("Codice|Ragione Sociale@50|Docum.Rif.|Data@10|Docum.Rif. 1|Docum.Rif. 2|Docum.Rif. 3|Documento|Data\nDocumento@10|Totale\nDocumento@18V|Valuta|Stato"));
|
|
||||||
|
TToken_string header(HR("Codice|Ragione Sociale@50|Docum.Rif.|Data@10|Docum.Rif. 1|Docum.Rif. 2|Docum.Rif. 3|Documento|Data\nDocumento@10|Totale\nDocumento@18V|Valuta|Stato"));
|
||||||
TToken_string fieldlist("CODCF|20->RAGSOC|NUMDOCRIF|DATADOCRIF|DOC1|DOC2|DOC3|NDOC|DATADOC|G1:TOTDOC|CODVAL|STATO");
|
TToken_string fieldlist("CODCF|20->RAGSOC|NUMDOCRIF|DATADOCRIF|DOC1|DOC2|DOC3|NDOC|DATADOC|G1:TOTDOC|CODVAL|STATO");
|
||||||
|
add_custom_search_fields(m, fieldlist, header);
|
||||||
|
|
||||||
if (__header == "883")
|
TBrowse_sheet sheet(&cur, fieldlist, TR("Documento di riferimento"),
|
||||||
{
|
header, 0, (TEdit_field&)f, siblings);
|
||||||
TFilename name(m.source_file());
|
|
||||||
|
|
||||||
name.ext("ini");
|
|
||||||
TConfig c(name, "Search");
|
|
||||||
|
|
||||||
__header = c.get("Header");
|
|
||||||
__fieldlist = c.get("FieldList");
|
|
||||||
}
|
|
||||||
fieldlist << __fieldlist;
|
|
||||||
header << __header;
|
|
||||||
|
|
||||||
TBrowse_sheet sheet(&cur, fieldlist,
|
|
||||||
TR("Documento di riferimento"),
|
|
||||||
header,
|
|
||||||
0, (TEdit_field&)f, siblings);
|
|
||||||
if (sheet.run() == K_ENTER)
|
if (sheet.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
const long ndoc = sheet.row(-1).get_long(7);
|
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.set(F_NDOC, ndoc);
|
||||||
m.stop_run(K_AUTO_ENTER);
|
m.stop_run(K_AUTO_ENTER);
|
||||||
}
|
}
|
||||||
@ -2430,51 +2430,40 @@ bool TDocumento_mask::ragsoc_search_handler(TMask_field& f, KEY key)
|
|||||||
{
|
{
|
||||||
TMask& m = f.mask();
|
TMask& m = f.mask();
|
||||||
|
|
||||||
TRectype filtrec(LF_DOC);
|
|
||||||
|
|
||||||
filtrec.put(DOC_CODNUM, m.get(F_CODNUM));
|
|
||||||
filtrec.put(DOC_PROVV, m.get(F_PROVV));
|
|
||||||
filtrec.put(DOC_ANNO, m.get(F_ANNO));
|
|
||||||
|
|
||||||
TRelation rel(LF_DOC);
|
TRelation rel(LF_DOC);
|
||||||
rel.add(LF_CLIFO, "TIPOCF==TIPOCF|CODCF==CODCF");
|
rel.add(LF_CLIFO, "TIPOCF==TIPOCF|CODCF==CODCF");
|
||||||
|
|
||||||
|
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);
|
TSorted_cursor cur(&rel, "TIPOCF|UPPER(20->RAGSOC)|PROVV|ANNO|CODNUM|PROVV|NDOC", "", 1, &filtrec, &filtrec);
|
||||||
TString16 filter; filter.format("CODNUM==\"%s\"", (const char*)m.get(F_CODNUM));
|
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);
|
cur.setfilter(filter, true);
|
||||||
TToken_string siblings;
|
TToken_string siblings;
|
||||||
TToken_string header(HR("Ragione Sociale@50|Codice|Documento|Data\nDocumento@10|Totale\nDocumento@18V|Valuta|Stato|Partita IVA"));
|
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");
|
TToken_string fieldlist("20->RAGSOC|CODCF|NDOC|DATADOC|G1:TOTDOC|CODVAL|STATO|20->PAIV");
|
||||||
|
add_custom_search_fields(m, fieldlist, header);
|
||||||
if (__header == "883")
|
|
||||||
{
|
|
||||||
TFilename name(m.source_file());
|
|
||||||
|
|
||||||
name.ext("ini");
|
TBrowse_sheet sheet(&cur, fieldlist, TR("Ragione Sociale"),
|
||||||
TConfig c(name, "Search");
|
header, 0, (TEdit_field&)f, siblings);
|
||||||
|
|
||||||
__header = c.get("Header");
|
if (!f.empty())
|
||||||
__fieldlist = c.get("FieldList");
|
{
|
||||||
}
|
TString ragsoc(f.get()); ragsoc.upper();
|
||||||
fieldlist << __fieldlist;
|
filtrec.zero();
|
||||||
header << __header;
|
filtrec.put(DOC_TIPOCF, m.get(F_TIPOCF));
|
||||||
|
rel.curr(LF_CLIFO).put(CLI_RAGSOC, ragsoc);
|
||||||
|
cur.read();
|
||||||
|
}
|
||||||
|
|
||||||
TBrowse_sheet sheet(&cur, fieldlist,
|
|
||||||
TR("Ragione Sociale"),
|
|
||||||
header,
|
|
||||||
0, (TEdit_field&)f, siblings);
|
|
||||||
|
|
||||||
|
|
||||||
TString ragsoc(f.get()); ragsoc.upper();
|
|
||||||
|
|
||||||
rel.zero();
|
|
||||||
rel.curr().put(DOC_TIPOCF, m.get(F_TIPOCF));
|
|
||||||
rel.curr(LF_CLIFO).put(CLI_RAGSOC, ragsoc);
|
|
||||||
|
|
||||||
sheet.cursor()->read();
|
|
||||||
if (sheet.run() == K_ENTER)
|
if (sheet.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
const long ndoc = sheet.row(-1).get_long(2);
|
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.set(F_NDOC, ndoc);
|
||||||
m.stop_run(K_AUTO_ENTER);
|
m.stop_run(K_AUTO_ENTER);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user