Patch level : 12.0 934

Files correlati     : pr1.exe pr1300a.uml
Commento            :

 - Aggiunta selezione e ordinamento per data scadenz nella stampa schede     provvigione
This commit is contained in:
Alessandro Bonazzi 2020-01-30 20:10:16 +01:00
parent f534f4c4c7
commit 6ff28ddb01
4 changed files with 32 additions and 14 deletions

View File

@ -26,6 +26,7 @@ PAGMAT|4|18|2|Pagamento maturato
PROVVMAT|4|18|2|Provvigione maturata
TIPOPAGPR|2|1|0|Tipo pagamento della provvigione (?)
DATASTAMPA|5|8|0|Data pagamento ultima provvigione
2
3
CODAGE+ANNO+CODNUM+NDOC+NRIGA|
CODAGE+DATADOC|X
CODAGE+DATASCAD|X

View File

@ -94,6 +94,7 @@ bool TStampa_schedeprovv_mask::on_field_event(TOperable_field& o, TField_event e
class TStampa_schedeprovv : public TSkeleton_application
{
TMask * _m;
TString4 _filtro_data;
protected:
void riporta_pagamenti(TCursor &cur);
@ -236,20 +237,22 @@ void TStampa_schedeprovv::print_or_preview(bool paper)
*/
if (!_m->field(F_DADATA).empty() || !_m->field(F_ADATA).empty())
{
filter << "BETWEEN(" << PROV_DATADOC
<< ',' << _m->get_date(F_DADATA).date2ansi()
<< ',' << _m->get_date(F_ADATA).date2ansi()
<< ")";
if (_filtro_data == "S")
filter << "BETWEEN(" << PROV_DATASCAD
<< ',' << _m->get_date(F_DADATA).date2ansi()
<< ',' << _m->get_date(F_ADATA).date2ansi() << ")";
else
filter << "BETWEEN(" << PROV_DATADOC
<< ',' << _m->get_date(F_DADATA).date2ansi()
<< ',' << _m->get_date(F_ADATA).date2ansi() << ")";
}
if (not_empty)
filter << ")";
}
// aggiungo comunque il file alla relazione perche' mi serve avere il documento sempre
frm.cursor()->relation()->add(LF_DOC, "CODNUM==CODNUM|ANNO==ANNO|PROVV==\"D\"|NDOC==NDOC");
const TString& tipodoc = _m->get(F_TIPODOC);
if (tipodoc.full())
if (tipodoc.full())
{
bool not_empty = filter.full();
if (not_empty)
@ -269,12 +272,16 @@ void TStampa_schedeprovv::print_or_preview(bool paper)
frm.cursor()->setfilter(filter);
TRectype start(LF_PROVV),end(LF_PROVV);
start.put(PROV_CODAGE, _m->get(F_DAAGE));
end.put(PROV_CODAGE, _m->get(F_AAGE));
frm.cursor()->setregion(start, end);
frm.cursor()->freeze(true);
frm.set_basecalcolo(_m->get(F_FORMULA));
if (_filtro_data == "S")
frm.sorted_cursor()->change_order("CODAGE|CODCLI|CODNUM|DATASCAD");
// aggiungo comunque il file alla relazione perche' mi serve avere il documento sempre
frm.cursor()->relation()->add(LF_DOC, "CODNUM==CODNUM|ANNO==ANNO|PROVV==\"D\"|NDOC==NDOC");
frm.set_basecalcolo(_m->get(F_FORMULA));
// abilita le sezioni dei totali
frm.find_field('B',odd_page,"CLIENTI").show(!_m->get_bool(F_RAGGCLI));
@ -300,6 +307,7 @@ void TStampa_schedeprovv::main_loop()
KEY k;
while ((k = _m->run()) != K_QUIT)
{
_filtro_data = _m->get(F_FILTRO_DATA);
print_or_preview(k == K_ENTER);
}
}

View File

@ -11,4 +11,6 @@
#define F_NOZERO 111
#define F_FORMULA 112
#define F_D_FORMULA 113
#define F_FILTRO_DATA 114
#define F_PROFILO 200

View File

@ -80,19 +80,26 @@ BEGIN
MESSAGE TRUE "X",F_RAGGRATE|DISABLE,F_RAGGRATE|"",F_TIPODOC|DISABLE, F_TIPODOC
END
LIST F_FILTRO_DATA 1 30
BEGIN
PROMPT 2 8 "Selezione per data "
ITEM "D|documento"
ITEM "S|scadenza"
END
BOOL F_RAGGRATE
BEGIN
PROMPT 2 8 "Raggruppamento rate"
PROMPT 2 9 "Raggruppamento rate"
END
BOOL F_NOZERO
BEGIN
PROMPT 34 8 "Non stampare documenti senza provvigioni"
PROMPT 34 9 "Non stampare documenti senza provvigioni"
END
STRING F_TIPODOC 4
BEGIN
PROMPT 2 9 "Tipo documento "
PROMPT 2 10 "Tipo documento "
HELP "Selezionare il tipo documento da stampare"
USE %TIP SELECT B3=="X"
INPUT CODTAB F_TIPODOC