Patch level : 10.0 patch 828

Files correlati     : ve0,exe
Ricompilazione Demo : [ ]
Commento

Aggiunta la stringa ORDER sul  profilo tipo riga documento per ordinare le righe in evasione (handler 5) per HABA


git-svn-id: svn://10.65.10.50/branches/R_10_00@21067 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-10-26 13:45:23 +00:00
parent e163536c47
commit 3ea68c62a8

View File

@ -1371,7 +1371,7 @@ protected:
virtual bool get_ini_paragraph(const TEdit_field& field, TString& parag) const;
public:
TLink_article_sheet(TCursor& cur, TEdit_field& f);
TLink_article_sheet(TCursor& cur, TEdit_field& f, const char * fieldlist, const char * headers);
};
bool TLink_article_sheet::get_ini_paragraph(const TEdit_field& field, TString& parag) const
@ -1382,13 +1382,10 @@ bool TLink_article_sheet::get_ini_paragraph(const TEdit_field& field, TString& p
return ok;
}
TLink_article_sheet::TLink_article_sheet(TCursor& cur, TEdit_field& f)
: TBrowse_sheet(&cur, "-201->S0|-202->S0|NDOC|33->DATADOC|QTA|QTAEVASA",
TR("Ricerca Prezzi"),
HR("Numerazione@18|Tipo Documento@18|Num.|Data@10|Quantità@15P|Evaso@15P"),
0, f, TToken_string())
{ }
TLink_article_sheet::TLink_article_sheet(TCursor& cur, TEdit_field& f, const char * fieldlist, const char * headers)
: TBrowse_sheet(&cur, fieldlist, TR("Evasione"), headers, 0, f, TToken_string())
{ }
bool link_row_handler(TMask_field& f, KEY key )
{
@ -1406,7 +1403,7 @@ bool link_row_handler(TMask_field& f, KEY key )
if ((tipo.search_active_docs().blank()) || (tipo.search_active_docs().find(doc.tipo().codice()) >= 0))
{
TEdit_field& ef = (TEdit_field&)f;
const TString& codart = row_mask.get(FR_CODART);
const TCodice_articolo codart(row_mask.get(FR_CODART));
const bool select_clifo = tipo.select_clifo();
if (codart.full() && r.get(RDOC_DACODNUM).empty())
@ -1468,6 +1465,7 @@ bool link_row_handler(TMask_field& f, KEY key )
filter << ")";
}
TRelation rel(LF_RIGHEDOC);
TRectype from(rel.curr());
TRectype to(rel.curr());
@ -1475,6 +1473,15 @@ bool link_row_handler(TMask_field& f, KEY key )
rel.lfile().set_curr(new TLink_riga_documento(&mask));
rel.add(LF_DOC, "PROVV==PROVV|ANNO=ANNO|CODNUM==CODNUM|NDOC==NDOC");
if (select_clifo)
{
filter << "&&(33->TIPOCF==\"" << doc.get(DOC_TIPOCF) << "\")";
filter << "&&(33->CODCF==\"" << doc.get(DOC_CODCF) << "\")";
}
else
rel.add(LF_CLIFO, "TIPOCF==TIPOCF|CODCF==CODCF", 1, LF_DOC);
const int last_anno = mask.get_int(F_ANNO);
const int first_anno = last_anno - tipo.search_years();
@ -1489,13 +1496,31 @@ bool link_row_handler(TMask_field& f, KEY key )
to.put(RDOC_CODNUM, last_num);
to.put(RDOC_ANNO, last_anno);
to.put(RDOC_PROVV, 'D');
TSorted_cursor cur(&rel, "33->DATADOC|CODNUM|NDOC", filter, 5, &from, &to);
TString order = tipo.order();
if (order.blank())
order ="33->DATADOC|CODNUM|NDOC";
TSorted_cursor cur(&rel, order, filter, 5, &from, &to);
cur.items();
cur.freeze();
cur.relation()->add("%NUM", "CODTAB==CODNUM", 1, 0, 201);
cur.relation()->add("%TIP", "CODTAB==TIPODOC", 1, LF_DOC, 202);
TToken_string fieldlist = tipo.field_list();
TToken_string header = tipo.header();
if (fieldlist.blank())
fieldlist = "-201->S0|-202->S0|NDOC|33->DATADOC|QTA|QTAEVASA";
if (header.blank())
header = HR("Numerazione@18|Tipo Documento@18|Num.|Data@10|Quantità@15P|Evaso@15P");
TLink_article_sheet sheet(cur, (TEdit_field&)f);
if (!select_clifo)
{
fieldlist << "|20->CODCF|20->RAGSOC";
header << HR("|Codice|Ragione sociale@50");
}
TLink_article_sheet sheet(cur, (TEdit_field&)f, fieldlist, header);
sheet.add_string (FR_DESCR, 0, "", 38, 0, 50, "D", 30);
sheet.set(FR_CODART, codart);
sheet.set(FR_DESCR, cache().get(LF_ANAMAG, codart, "DESCR"));
@ -1512,8 +1537,9 @@ bool link_row_handler(TMask_field& f, KEY key )
father_row.set_doc(&doc);
r.put(RDOC_LIVELLO, livello);
r.put(RDOC_QTA, father_row.qtaresidua());
TToken_string flds = tipo.fields_to_update();
r.put(r.field_qta(), father_row.qtaresidua());
TToken_string & flds = tipo.fields_to_update();
FOR_EACH_TOKEN(flds, fld)
{