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_create(); // Qui creo i cursori...
|
||||||
virtual bool user_destroy(); // e qui li distruggo.
|
virtual bool user_destroy(); // e qui li distruggo.
|
||||||
virtual bool set_print(int); // Qui c'e' la maschera di selezione.
|
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.
|
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_clifo(int nriga); // Frammenti di set_page
|
||||||
void set_page_pcon (int nriga);
|
void set_page_pcon (int nriga);
|
||||||
@ -944,6 +945,18 @@ bool TStampaScadenzario::user_destroy()
|
|||||||
return TRUE;
|
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)
|
bool TStampaScadenzario::set_print(int)
|
||||||
{
|
{
|
||||||
_m->reset(F_SORTBAN);
|
_m->reset(F_SORTBAN);
|
||||||
@ -988,9 +1001,20 @@ bool TStampaScadenzario::set_print(int)
|
|||||||
_ordata = _m->get_bool(F_ORDDATA);
|
_ordata = _m->get_bool(F_ORDDATA);
|
||||||
_stvaluta = _m->get_bool(F_VALUTA);
|
_stvaluta = _m->get_bool(F_VALUTA);
|
||||||
_striepilogo = _m->get_int(F_RIEPILOGO);
|
_striepilogo = _m->get_int(F_RIEPILOGO);
|
||||||
_datai = (const char *)(_m->get(F_DATASCADENZAI));
|
|
||||||
_dataf = (const char *)(_m->get(F_DATASCADENZAF));
|
const bool sel_datafatt = _m->get_bool(F_SELDATAFAT);
|
||||||
_datas = (const char *)(_m->get(F_DATASTAMPA));
|
|
||||||
|
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
|
// 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()
|
// 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'
|
// Setta l'intervallo di data. Si puo' fare per tutti i cursori, poiche'
|
||||||
// il file principale e' sempre LF_SCADENZE.
|
// il file principale e' sempre LF_SCADENZE.
|
||||||
TRectype da_data(LF_SCADENZE), a_data(LF_SCADENZE);
|
|
||||||
|
|
||||||
da_data.put(SCAD_DATASCAD,_datai);
|
if (!sel_datafatt)
|
||||||
a_data.put(SCAD_DATASCAD,_dataf);
|
{
|
||||||
get_cursor(_cur1)->setregion(da_data,a_data);
|
TRectype da_data(LF_SCADENZE), a_data(LF_SCADENZE);
|
||||||
get_cursor(_cur11)->setregion(da_data,a_data);
|
da_data.put(SCAD_DATASCAD,_datai);
|
||||||
get_cursor(_cur2)->setregion(da_data,a_data);
|
a_data.put(SCAD_DATASCAD,_dataf);
|
||||||
get_cursor(_cur3)->setregion(da_data,a_data);
|
get_cursor(_cur1)->setregion(da_data,a_data);
|
||||||
get_cursor(_cur4)->setregion(da_data,a_data);
|
get_cursor(_cur11)->setregion(da_data,a_data);
|
||||||
get_cursor(_cur41)->setregion(da_data,a_data);
|
get_cursor(_cur2)->setregion(da_data,a_data);
|
||||||
get_cursor(_cur5)->setregion(da_data,a_data);
|
get_cursor(_cur3)->setregion(da_data,a_data);
|
||||||
get_cursor(_cur6)->setregion(da_data,a_data);
|
get_cursor(_cur4)->setregion(da_data,a_data);
|
||||||
get_cursor(_cur7)->setregion(da_data,a_data);
|
get_cursor(_cur41)->setregion(da_data,a_data);
|
||||||
switch (_tipost)
|
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:
|
case tutti:
|
||||||
select_cursor(_cur7);
|
select_cursor(_cur7);
|
||||||
@ -1107,6 +1143,21 @@ bool TStampaScadenzario::set_print(int)
|
|||||||
break;
|
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!
|
if (current_cursor()->is_sorted()) // Should always be true!
|
||||||
{
|
{
|
||||||
TSorted_cursor* sorcur = (TSorted_cursor*)current_cursor();
|
TSorted_cursor* sorcur = (TSorted_cursor*)current_cursor();
|
||||||
|
@ -20,3 +20,6 @@
|
|||||||
#define F_CODAG_D 118
|
#define F_CODAG_D 118
|
||||||
#define F_TIPOPAG 119
|
#define F_TIPOPAG 119
|
||||||
#define F_NOTOT 120
|
#define F_NOTOT 120
|
||||||
|
#define F_SELDATAFAT 121
|
||||||
|
#define F_DATAFATTI 122
|
||||||
|
#define F_DATAFATTF 123
|
||||||
|
@ -41,6 +41,13 @@ BEGIN
|
|||||||
FLAGS "A"
|
FLAGS "A"
|
||||||
END
|
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
|
DATE F_DATASCADENZAI
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 5 "Data di scadenza dal "
|
PROMPT 2 5 "Data di scadenza dal "
|
||||||
@ -48,6 +55,7 @@ BEGIN
|
|||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
WARNING "Data di inizio scadenza non valida"
|
WARNING "Data di inizio scadenza non valida"
|
||||||
FLAGS "A"
|
FLAGS "A"
|
||||||
|
GROUP 10
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATASCADENZAF
|
DATE F_DATASCADENZAF
|
||||||
@ -57,6 +65,27 @@ BEGIN
|
|||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
VALIDATE DATE_CMP_FUNC >= F_DATASCADENZAI
|
VALIDATE DATE_CMP_FUNC >= F_DATASCADENZAI
|
||||||
WARNING "Data di fine scadenza non valida"
|
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
|
END
|
||||||
|
|
||||||
BOOLEAN F_RATESALDATE
|
BOOLEAN F_RATESALDATE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user