Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : Scadenze di don.: possibilita' si selezionare i soggetti che hanno fatto l'ultima donazione in un punto definito, oppure hanno quel punto di prelievo preferito (se hanno 0 donazioni) git-svn-id: svn://10.65.10.50/trunk@7855 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c52b7ebaf1
commit
78668f5c24
@ -4,6 +4,7 @@
|
|||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
|
|
||||||
#include "soggetti.h"
|
#include "soggetti.h"
|
||||||
|
#include "donaz.h"
|
||||||
#include "sezioni.h"
|
#include "sezioni.h"
|
||||||
#include <comuni.h>
|
#include <comuni.h>
|
||||||
|
|
||||||
@ -52,6 +53,7 @@ class TStampaScadenze : public TPrintapp
|
|||||||
{
|
{
|
||||||
TRelation* _rel;
|
TRelation* _rel;
|
||||||
TMask* _msk;
|
TMask* _msk;
|
||||||
|
TLocalisamfile* _donaz;
|
||||||
TScadenze_form* _form_eti;
|
TScadenze_form* _form_eti;
|
||||||
TScadenze_form* _form_car;
|
TScadenze_form* _form_car;
|
||||||
TScadenze_form* _form_per;
|
TScadenze_form* _form_per;
|
||||||
@ -61,7 +63,7 @@ class TStampaScadenze : public TPrintapp
|
|||||||
TDate _dataini, _datafin, _dataultid;
|
TDate _dataini, _datafin, _dataultid;
|
||||||
int _intminconv;
|
int _intminconv;
|
||||||
bool _usomodo, _usasez;
|
bool _usomodo, _usasez;
|
||||||
TString16 _giorni;
|
TString16 _giorni, _punto;
|
||||||
TString16 _procdon, _modo, _ab01, _ab02, _ab03, _rh;
|
TString16 _procdon, _modo, _ab01, _ab02, _ab03, _rh;
|
||||||
ts _tipostampa;
|
ts _tipostampa;
|
||||||
TString16 _codsez, _codsot, _orario, _datacart;
|
TString16 _codsez, _codsot, _orario, _datacart;
|
||||||
@ -441,6 +443,28 @@ bool TStampaScadenze::filter_func_scadenze(const TRelation* rel)
|
|||||||
}
|
}
|
||||||
filtrato = almenoungiorno;
|
filtrato = almenoungiorno;
|
||||||
}
|
}
|
||||||
|
if (filtrato && !app()._punto.blank())
|
||||||
|
{
|
||||||
|
TDate dataultima(NULLDATE);
|
||||||
|
if (app()._procdon == IDON_SI)
|
||||||
|
dataultima = sog.get(SOG_DATAULTSI);
|
||||||
|
else
|
||||||
|
dataultima = sog.get(SOG_DATAULTAF);
|
||||||
|
if (dataultima.ok())
|
||||||
|
{
|
||||||
|
TLocalisamfile donaz(LF_DONAZ);
|
||||||
|
donaz.setkey(2);
|
||||||
|
donaz.zero();
|
||||||
|
donaz.put(DON_DATADON, dataultima);
|
||||||
|
donaz.put(DON_CODICE, sog.get(SOG_CODICE));
|
||||||
|
if (donaz.read() == NOERR)
|
||||||
|
filtrato = (donaz.get(DON_LUOGODON) == app()._punto);
|
||||||
|
else
|
||||||
|
filtrato = (sog.get(SOG_PUNTORACC) == app()._punto);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
filtrato = (sog.get(SOG_PUNTORACC) == app()._punto);
|
||||||
|
}
|
||||||
return filtrato;
|
return filtrato;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -495,6 +519,9 @@ bool TStampaScadenze::preprocess_page(int file, int counter)
|
|||||||
if (_tipostampa==etichette)
|
if (_tipostampa==etichette)
|
||||||
if (printer().rows_left() < _form_eti->get_body().height())
|
if (printer().rows_left() < _form_eti->get_body().height())
|
||||||
printer().formfeed();
|
printer().formfeed();
|
||||||
|
if (_tipostampa==personale)
|
||||||
|
if (printer().rows_left() < _form_per->get_body().height())
|
||||||
|
printer().formfeed();
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -598,6 +625,7 @@ bool TStampaScadenze::set_print(int m)
|
|||||||
_ab02 = _msk->get(F_AB02);
|
_ab02 = _msk->get(F_AB02);
|
||||||
_ab03 = _msk->get(F_AB03);
|
_ab03 = _msk->get(F_AB03);
|
||||||
_rh = _msk->get(F_RHANTID);
|
_rh = _msk->get(F_RHANTID);
|
||||||
|
_punto = _msk->get(F_PUNTO);
|
||||||
_giorni = "NNNNNNN";
|
_giorni = "NNNNNNN";
|
||||||
if (_msk->get_bool(F_GPD_LUN))
|
if (_msk->get_bool(F_GPD_LUN))
|
||||||
_giorni[0] = 'X';
|
_giorni[0] = 'X';
|
||||||
@ -748,6 +776,7 @@ bool TStampaScadenze::user_create()
|
|||||||
_rel->add("LCP", "CODTAB==DOM_CODLOC",1,0,ALIAS_LCPDOM);
|
_rel->add("LCP", "CODTAB==DOM_CODLOC",1,0,ALIAS_LCPDOM);
|
||||||
_rel->add(LF_COMUNI, "COM==DOM_CODCOM",1,0,ALIAS_COMDOM);
|
_rel->add(LF_COMUNI, "COM==DOM_CODCOM",1,0,ALIAS_COMDOM);
|
||||||
_rel->add(LF_SEZIONI, "CODSEZ==CODSEZ|CODSOT==CODSOT");
|
_rel->add(LF_SEZIONI, "CODSEZ==CODSEZ|CODSOT==CODSOT");
|
||||||
|
_donaz = new TLocalisamfile(LF_DONAZ);
|
||||||
add_cursor(new TCursor(_rel, "", 3));
|
add_cursor(new TCursor(_rel, "", 3));
|
||||||
_msk = new TMask("at4100a");
|
_msk = new TMask("at4100a");
|
||||||
TConfig config(CONFIG_STUDIO);
|
TConfig config(CONFIG_STUDIO);
|
||||||
@ -767,6 +796,7 @@ bool TStampaScadenze::user_destroy()
|
|||||||
delete _form_car;
|
delete _form_car;
|
||||||
delete _form_eti;
|
delete _form_eti;
|
||||||
delete _msk;
|
delete _msk;
|
||||||
|
delete _donaz;
|
||||||
delete _rel;
|
delete _rel;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,8 @@
|
|||||||
#define F_AB03 317
|
#define F_AB03 317
|
||||||
#define F_RHANTID 318
|
#define F_RHANTID 318
|
||||||
#define F_INTMINCONV 319
|
#define F_INTMINCONV 319
|
||||||
|
#define F_PUNTO 320
|
||||||
|
#define F_D_PUNTO 321
|
||||||
|
|
||||||
#define F_ELENCO 401
|
#define F_ELENCO 401
|
||||||
#define F_COMPLETO 402
|
#define F_COMPLETO 402
|
||||||
|
@ -403,5 +403,26 @@ BEGIN
|
|||||||
PROMPT 54 15 "Int.min.conv. "
|
PROMPT 54 15 "Int.min.conv. "
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRING F_PUNTO 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 17 "Punto di prelievo "
|
||||||
|
FLAGS "U"
|
||||||
|
USE LDN
|
||||||
|
INPUT CODTAB F_PUNTO
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
OUTPUT F_PUNTO CODTAB
|
||||||
|
OUTPUT F_D_PUNTO S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
WARNING "Codice non presente"
|
||||||
|
HELP "Punto di prelievo per la convocazione"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_D_PUNTO 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 27 17 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
Loading…
x
Reference in New Issue
Block a user