Patch level : 10.0 patch 810
Files correlati : sc2.exe Ricompilazione Demo : [ ] Commento Bug 0001693: 002768 - Bustaplast - selezione scadenzario la sig.ra Anna richiede di poter selezionare lo scadenzario in funzione della data di fattura anzichè nella data di scadenza. BIsogna verificare i vari ordinamenti della stampa scadenzario. git-svn-id: svn://10.65.10.50/branches/R_10_00@20904 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
ef3638b4df
commit
2f85214265
@ -107,6 +107,7 @@ public:
|
||||
virtual bool user_create(); // Qui creo i cursori...
|
||||
virtual bool user_destroy(); // e qui li distruggo.
|
||||
virtual bool set_print(int); // Qui c'e' la maschera di selezione.
|
||||
void add_filter_fatt(TCursor * cur, const char * filter); // aggiungo il gfiltro per data fattura
|
||||
virtual void set_page (int file, int counter); // Setta le righe di stampa.
|
||||
void set_page_clifo(int nriga); // Frammenti di set_page
|
||||
void set_page_pcon (int nriga);
|
||||
@ -944,6 +945,18 @@ bool TStampaScadenzario::user_destroy()
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void TStampaScadenzario::add_filter_fatt(TCursor * cur, const char * filter)
|
||||
{
|
||||
if (cur->relation()->log2ind(LF_PARTITE) < 0)
|
||||
cur->relation()->add(LF_PARTITE, "TIPOC==TIPOC|GRUPPO==GRUPPO|CONTO==CONTO|SOTTOCONTO==SOTTOCONTO|ANNO==ANNO|NUMPART==NUMPART|NRIGA==NRIGA");
|
||||
TString newfilter(cur->filter());
|
||||
|
||||
if (newfilter.full())
|
||||
newfilter << "&&";
|
||||
newfilter << filter;
|
||||
cur->setfilter(newfilter, true);
|
||||
}
|
||||
|
||||
bool TStampaScadenzario::set_print(int)
|
||||
{
|
||||
_m->reset(F_SORTBAN);
|
||||
@ -988,9 +1001,20 @@ bool TStampaScadenzario::set_print(int)
|
||||
_ordata = _m->get_bool(F_ORDDATA);
|
||||
_stvaluta = _m->get_bool(F_VALUTA);
|
||||
_striepilogo = _m->get_int(F_RIEPILOGO);
|
||||
_datai = (const char *)(_m->get(F_DATASCADENZAI));
|
||||
_dataf = (const char *)(_m->get(F_DATASCADENZAF));
|
||||
_datas = (const char *)(_m->get(F_DATASTAMPA));
|
||||
|
||||
const bool sel_datafatt = _m->get_bool(F_SELDATAFAT);
|
||||
|
||||
if (sel_datafatt)
|
||||
{
|
||||
_datai = _m->get_date(F_DATAFATTI);
|
||||
_dataf = _m->get_date(F_DATAFATTF);
|
||||
}
|
||||
else
|
||||
{
|
||||
_datai = _m->get_date(F_DATASCADENZAI);
|
||||
_dataf = _m->get_date(F_DATASCADENZAF);
|
||||
}
|
||||
_datas = _m->get_date(F_DATASTAMPA);
|
||||
|
||||
// N.B I cursori sono tutti TSorted_cursor; alcuni di questi(_cur11 e _cur41) referenziano a campi di sort
|
||||
// presenti anche su altri file (LF_CLIFO o LF_PCON), percio' e' necessario che il metodo filtercursor()
|
||||
@ -1011,20 +1035,32 @@ bool TStampaScadenzario::set_print(int)
|
||||
|
||||
// Setta l'intervallo di data. Si puo' fare per tutti i cursori, poiche'
|
||||
// il file principale e' sempre LF_SCADENZE.
|
||||
TRectype da_data(LF_SCADENZE), a_data(LF_SCADENZE);
|
||||
|
||||
da_data.put(SCAD_DATASCAD,_datai);
|
||||
a_data.put(SCAD_DATASCAD,_dataf);
|
||||
get_cursor(_cur1)->setregion(da_data,a_data);
|
||||
get_cursor(_cur11)->setregion(da_data,a_data);
|
||||
get_cursor(_cur2)->setregion(da_data,a_data);
|
||||
get_cursor(_cur3)->setregion(da_data,a_data);
|
||||
get_cursor(_cur4)->setregion(da_data,a_data);
|
||||
get_cursor(_cur41)->setregion(da_data,a_data);
|
||||
get_cursor(_cur5)->setregion(da_data,a_data);
|
||||
get_cursor(_cur6)->setregion(da_data,a_data);
|
||||
get_cursor(_cur7)->setregion(da_data,a_data);
|
||||
switch (_tipost)
|
||||
if (!sel_datafatt)
|
||||
{
|
||||
TRectype da_data(LF_SCADENZE), a_data(LF_SCADENZE);
|
||||
da_data.put(SCAD_DATASCAD,_datai);
|
||||
a_data.put(SCAD_DATASCAD,_dataf);
|
||||
get_cursor(_cur1)->setregion(da_data,a_data);
|
||||
get_cursor(_cur11)->setregion(da_data,a_data);
|
||||
get_cursor(_cur2)->setregion(da_data,a_data);
|
||||
get_cursor(_cur3)->setregion(da_data,a_data);
|
||||
get_cursor(_cur4)->setregion(da_data,a_data);
|
||||
get_cursor(_cur41)->setregion(da_data,a_data);
|
||||
get_cursor(_cur5)->setregion(da_data,a_data);
|
||||
get_cursor(_cur6)->setregion(da_data,a_data);
|
||||
get_cursor(_cur7)->setregion(da_data,a_data);
|
||||
}
|
||||
get_cursor(_cur1)->setfilter("");
|
||||
get_cursor(_cur11)->setfilter("");
|
||||
get_cursor(_cur2)->setfilter("");
|
||||
get_cursor(_cur3)->setfilter("");
|
||||
get_cursor(_cur4)->setfilter("");
|
||||
get_cursor(_cur41)->setfilter("");
|
||||
get_cursor(_cur5)->setfilter("");
|
||||
get_cursor(_cur6)->setfilter("");
|
||||
get_cursor(_cur7)->setfilter("");
|
||||
switch (_tipost)
|
||||
{
|
||||
case tutti:
|
||||
select_cursor(_cur7);
|
||||
@ -1107,6 +1143,21 @@ bool TStampaScadenzario::set_print(int)
|
||||
break;
|
||||
}
|
||||
|
||||
if (sel_datafatt)
|
||||
{
|
||||
TString filter("(BETWEEN(");
|
||||
|
||||
filter << LF_PARTITE << "->" << PART_DATADOC << ",\"" << _datai.string() << "\",\"" << _dataf.string() << "\"))";
|
||||
add_filter_fatt(get_cursor(_cur1), filter);
|
||||
add_filter_fatt(get_cursor(_cur11), filter);
|
||||
add_filter_fatt(get_cursor(_cur2), filter);
|
||||
add_filter_fatt(get_cursor(_cur3), filter);
|
||||
add_filter_fatt(get_cursor(_cur4), filter);
|
||||
add_filter_fatt(get_cursor(_cur41), filter);
|
||||
add_filter_fatt(get_cursor(_cur5), filter);
|
||||
add_filter_fatt(get_cursor(_cur6), filter);
|
||||
add_filter_fatt(get_cursor(_cur7), filter);
|
||||
}
|
||||
if (current_cursor()->is_sorted()) // Should always be true!
|
||||
{
|
||||
TSorted_cursor* sorcur = (TSorted_cursor*)current_cursor();
|
||||
|
@ -20,3 +20,6 @@
|
||||
#define F_CODAG_D 118
|
||||
#define F_TIPOPAG 119
|
||||
#define F_NOTOT 120
|
||||
#define F_SELDATAFAT 121
|
||||
#define F_DATAFATTI 122
|
||||
#define F_DATAFATTF 123
|
||||
|
@ -41,6 +41,13 @@ BEGIN
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
BOOLEAN F_SELDATAFAT
|
||||
BEGIN
|
||||
PROMPT 40 4 "Selezione per data fattura"
|
||||
MESSAGE FALSE SHOW,10@|HIDE,11@
|
||||
MESSAGE TRUE HIDE,10@|SHOW,11@
|
||||
END
|
||||
|
||||
DATE F_DATASCADENZAI
|
||||
BEGIN
|
||||
PROMPT 2 5 "Data di scadenza dal "
|
||||
@ -48,6 +55,7 @@ BEGIN
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Data di inizio scadenza non valida"
|
||||
FLAGS "A"
|
||||
GROUP 10
|
||||
END
|
||||
|
||||
DATE F_DATASCADENZAF
|
||||
@ -57,6 +65,27 @@ BEGIN
|
||||
CHECKTYPE REQUIRED
|
||||
VALIDATE DATE_CMP_FUNC >= F_DATASCADENZAI
|
||||
WARNING "Data di fine scadenza non valida"
|
||||
GROUP 10
|
||||
END
|
||||
|
||||
DATE F_DATAFATTI
|
||||
BEGIN
|
||||
PROMPT 2 5 "Data fattura dal "
|
||||
HELP "Data di inizio scadenza"
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Data di inizio scadenza non valida"
|
||||
FLAGS "A"
|
||||
GROUP 11
|
||||
END
|
||||
|
||||
DATE F_DATAFATTF
|
||||
BEGIN
|
||||
PROMPT 40 5 "al "
|
||||
HELP "Data di fine scadenza"
|
||||
CHECKTYPE REQUIRED
|
||||
VALIDATE DATE_CMP_FUNC >= F_DATAFATTI
|
||||
WARNING "Data di fine scadenza non valida"
|
||||
GROUP 11
|
||||
END
|
||||
|
||||
BOOLEAN F_RATESALDATE
|
||||
|
Loading…
x
Reference in New Issue
Block a user