Patch level : 1.7 at

Files correlati     : at4.exe at4100a.msk at4200a.msk
Ricompilazione Demo : [ ]
Commento            : aggiunta disponibilita' in entrambi e alcuni dati nel tracciato scadenze (chiesto da Noceto)


git-svn-id: svn://10.65.10.50/trunk@12382 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 2004-10-11 10:23:46 +00:00
parent 8dba9af15b
commit cd2d47df05
6 changed files with 75 additions and 94 deletions

View File

@ -68,7 +68,7 @@ class TStampaScadenze : public TPrintapp
TDate _data_stampa;
TDate _dataini, _datafin, _dataultid;
int _intminconv;
bool _usomodo, _usasez, _registra, _gpd_esclusivo, _proc_esclusivo, _perfamiglie;
bool _usomodo, _usasez, _registra, _gpd_esclusivo, _proc_esclusivo, _perfamiglie, _usodisp;
TString16 _giorni, _punto;
TString16 _procdon, _modo, _ab01, _ab02, _ab03, _rh;
ts _tipostampa;
@ -171,55 +171,6 @@ void TStampaScadenze::filtra_sezioni()
current_cursor()->setregion(da, a);
}
/*
void TStampaScadenze::posizione()
{
TPrint_section& corpo = _form_car->get_body();
const TString16 codsez = current_cursor()->curr().get(SOG_CODSEZ);
const TString16 codsot = current_cursor()->curr().get(SOG_CODSOT);
dati_sezione(codsez, codsot);
corpo.reset();
TForm_item& intest1 = corpo.find_field(CAR_INTEST1);
intest1.set(_intest1);
TForm_item& intest2 = corpo.find_field(CAR_INTEST2);
intest2.set(_intest2);
TForm_item& intest3 = corpo.find_field(CAR_INTEST3);
intest3.set(_intest3);
TForm_item& intest4 = corpo.find_field(CAR_INTEST4);
intest4.set(_intest4);
TForm_item& invito = corpo.find_field(CAR_INVITOPER);
invito.set(_invitoper);
TForm_item& data = corpo.find_field(CAR_DATA);
data.set(_data);
TForm_item& presso1 = corpo.find_field(CAR_PRESSO1);
presso1.set(_presso1);
TForm_item& presso2 = corpo.find_field(CAR_PRESSO2);
presso2.set(_presso2);
TForm_item& presso3 = corpo.find_field(CAR_PRESSO3);
presso3.set(_presso3);
TForm_item& presso4 = corpo.find_field(CAR_PRESSO4);
presso4.set(_presso4);
TForm_item& orario = corpo.find_field(CAR_ORARIO);
orario.set(_orario);
TForm_item& datacart = corpo.find_field(CAR_DATACART);
datacart.set(_datacart);
TForm_item& note = corpo.find_field(CAR_NOTE);
note.set(_note);
corpo.update();
bool ripeti = TRUE;
while (ripeti)
{
for (word i = 0; i < corpo.height(); i++)
{
TPrintrow& riga = corpo.row(i);
set_row(i+1,riga);
printer().print(riga);
}
ripeti = !(yesno_box("Il modulo e' posizionato correttamente?"));
}
}
*/
void TStampaScadenze::set_page(int file, int cnt)
{
// costruzione etichette
@ -366,8 +317,11 @@ void TStampaScadenze::set_page(int file, int cnt)
set_row(2,"@97g@S", FLD(LF_SOGGETTI,SOG_IDON4));
set_row(2,"@100g@S", FLD(LF_SOGGETTI,SOG_RHANTID));
set_row(2,"@105g@S", FLD(LF_SOGGETTI,SOG_TELLAV));
set_row(3,"@75g@pn", FLD(LF_SOGGETTI,SOG_TOTDON,"###"));
set_row(3,"@105g@S", FLD(LF_SOGGETTI,SOG_TELALT));
//set_row(3,"");
set_row(3,"@120g@S", FLD(LF_SOGGETTI,SOG_DISP_AF_1));
set_row(3,"@123g@S", FLD(LF_SOGGETTI,SOG_DISP_AF_2));
}
break;
case completo:
@ -402,6 +356,14 @@ void TStampaScadenze::set_page(int file, int cnt)
set_row(3,"@96g@S", FLD(LF_SOGGETTI,SOG_DU));
set_row(3,"@100g@S", FLD(LF_SOGGETTI,SOG_ANTICORPI));
set_row(3,"@102g@S", FLD(LF_SOGGETTI,SOG_CMV));
set_row(1,"@110g@pn", FLD(LF_SOGGETTI,SOG_INTSI,"###"));
set_row(2,"@110g@pn", FLD(LF_SOGGETTI,SOG_INTAF,"###"));
set_row(3,"@110g@pn", FLD(LF_SOGGETTI,SOG_TOTDON,"###"));
set_row(1,"@119g@S", FLD(LF_SOGGETTI,SOG_DISP_AF_1));
set_row(1,"@122g@S", FLD(LF_SOGGETTI,SOG_DISP_AF_2));
set_row(4,"");
}
break;
@ -417,9 +379,6 @@ void TStampaScadenze::set_page(int file, int cnt)
riga1 = riga.row();
set_row(i+1,riga1);
}
//force_setpage(TRUE);
//corpo.update_and_print(TRUE);
}
break;
case sms:
@ -443,6 +402,13 @@ bool TStampaScadenze::filter_func_scadenze(const TRelation* rel)
const TString16 cat = sog.get(SOG_CATDON);
filtrato = categorie.is_key((const char*) cat);
}
// filtro su disponibilta
if ((app()._usodisp) && (filtrato) && (app()._procdon == IDON_AF))
{
TString16 disp1 = sog.get(SOG_DISP_AF_1);
TString16 disp2 = sog.get(SOG_DISP_AF_2);
filtrato = (disp1.not_empty() || disp2.not_empty());
}
// filtro per modalita' di convocazione
if (filtrato && app()._usomodo)
{
@ -836,6 +802,7 @@ bool TStampaScadenze::set_print(int m)
_intminconv = _msk->get_int(F_INTMINCONV);
_dataultid = _msk->get(F_DATAULTID);
_procdon = _msk->get(F_PROCDON1);
_usodisp = _msk->get_bool(F_USODISP);
_proc_esclusivo = _msk->get_bool(F_PROC_ESCLUSIVO);
_usomodo = _msk->get_bool(F_USOMODO);
_modo = _msk->get(F_MODO);
@ -972,15 +939,15 @@ void TStampaScadenze::crea_intestazione()
{
set_header(5,"@0gCodice@10gC.@13gCognome@39gNato il@50gData pr.SI@61gData pr.AF@72gData/Tipo@83gData/Tipo@94gIdon.@100gAB0@105gTel. abitaz.@120gGio.pre.");
set_header(6,"@0gTessera@13gNome@50gInterv. SI@61gInterv. AF@72gult. don.@83gult. idon.@94gper@100gRh@105gTel. lavoro");
set_header(7,"@105gTel. altro");
set_header(7,"@72gTot. don.@105gTel. altro@120gDisp.AF");
set_header(8,"@0g---------@10g--@13g-------------------------@39g----------@50g----------@61g----------@72g----------@83g----------@94g-----@100g----@105g--------------@120g--------");
}
if (_tipostampa == completo)
{
set_header(5,"@0gCodice@10gCognome e Nome@36gIndirizzo@62gTelefoni@77gData pr.SI@88gData ult.SI@99g Ult.idon.");
set_header(6,"@0gTessera@10gData nasc.@77gData pr.AF@88gData ult.AF@99g Gio.pre.");
set_header(7,"@77gGr. Rh. Fen. Kell Du A CMV");
set_header(8,"");
set_header(5,"@0gCodice@10gCognome e Nome@36gIndirizzo@62gTelefoni@77gData pr.SI@88gData ult.SI@99gUlt.idon.@110gInt.SI@119gDisp.AF");
set_header(6,"@0gTessera@10gData nasc.@77gData pr.AF@88gData ult.AF@99g Gio.pre.@110gInt.AF");
set_header(7,"@77gGr. Rh. Fen. Kell Du A CMV@110gTot.don.");
set_header(8,"@0g------@10g-------------------------@36g-------------------------@62g-------------@77g----------@88g----------@99g---------@110g------@119g-------");
}
printer().footerlen(3);
}

View File

@ -24,7 +24,7 @@
#define F_D_CAT6 212
#define F_PROCDON1 301
//#define F_PROCDON2 302
#define F_USODISP 302
#define F_DATAINI 303
#define F_DATAFIN 304
#define F_GPD_LUN 305

View File

@ -290,7 +290,7 @@ BEGIN
FLAGS "D"
END
GROUPBOX DLG_NULL 77 10
GROUPBOX DLG_NULL 77 12
BEGIN
PROMPT 1 9 "Opzioni di convocazione"
END
@ -306,95 +306,100 @@ BEGIN
PROMPT 47 10 "Solo proc. don. selezionata"
END
BOOLEAN F_USODISP
BEGIN
PROMPT 47 11 "Uso disponibilita' aferesi"
END
DATE F_DATAINI
BEGIN
PROMPT 2 11 "Data prossima don. da "
PROMPT 2 12 "Data prossima don. da "
END
DATE F_DATAFIN
BEGIN
PROMPT 37 11 "a "
PROMPT 37 12 "a "
END
NUMBER F_INTMINCONV 4
BEGIN
PROMPT 54 11 "Int.min.conv. "
PROMPT 54 12 "Int.min.conv. "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 12 "Giorni: Lu Ma Me Gi Ve Sa Do"
PROMPT 2 13 "Giorni: Lu Ma Me Gi Ve Sa Do"
END
BOOLEAN F_GPD_LUN
BEGIN
PROMPT 12 13 ""
PROMPT 12 14 ""
END
BOOLEAN F_GPD_MAR
BEGIN
PROMPT 16 13 ""
PROMPT 16 14 ""
END
BOOLEAN F_GPD_MER
BEGIN
PROMPT 20 13 ""
PROMPT 20 14 ""
END
BOOLEAN F_GPD_GIO
BEGIN
PROMPT 24 13 ""
PROMPT 24 14 ""
END
BOOLEAN F_GPD_VEN
BEGIN
PROMPT 28 13 ""
PROMPT 28 14 ""
END
BOOLEAN F_GPD_SAB
BEGIN
PROMPT 32 13 ""
PROMPT 32 14 ""
END
BOOLEAN F_GPD_DOM
BEGIN
PROMPT 36 13 ""
PROMPT 36 14 ""
END
TEXT DLG_NULL
BEGIN
PROMPT 40 12 "Esclusivo"
PROMPT 40 13 "Esclusivo"
END
BOOLEAN F_GPD_ESCLUSIVO
BEGIN
PROMPT 44 13 ""
PROMPT 44 14 ""
END
BOOLEAN F_USOMODO
BEGIN
PROMPT 2 14 "Uso mod. pref."
PROMPT 2 15 "Uso mod. pref."
MESSAGE TRUE ENABLE,F_MODO
MESSAGE FALSE RESET,F_MODO|DISABLE,F_MODO
END
LISTBOX F_MODO 13
BEGIN
PROMPT 20 14 ""
PROMPT 20 15 ""
#include "modalita.h"
END
DATE F_DATAULTID
BEGIN
PROMPT 37 14 "Blocco per id. precedente a "
PROMPT 37 15 "Blocco per id. precedente a "
END
// Stampa solo chi fatto l'ultima donazione nel punto scelto o
// se non ha donazioni, ha come preferenza quel punto prelievo
STRING F_PUNTO 4
BEGIN
PROMPT 2 15 "Punto di prelievo "
PROMPT 2 16 "Punto di prelievo "
FLAGS "U"
USE LDN
INPUT CODTAB F_PUNTO
@ -409,13 +414,13 @@ END
STRING F_D_PUNTO 50
BEGIN
PROMPT 27 15 ""
PROMPT 27 16 ""
FLAGS "D"
END
BOOLEAN F_PERFAMIGLIE
BEGIN
PROMPT 2 17 "Uso famiglie per etichette"
PROMPT 2 18 "Uso famiglie per etichette"
MESSAGE TRUE ENABLE,F_MODO
MESSAGE FALSE RESET,F_MODO|DISABLE,F_MODO
END
@ -446,7 +451,7 @@ END
BOOLEAN F_REGISTRA
BEGIN
PROMPT 2 16 "Registra la data di stampa nel campo data convocazione del soggetto"
PROMPT 2 17 "Registra la data di stampa nel campo data convocazione del soggetto"
END
ENDPAGE

View File

@ -45,8 +45,7 @@ class TStampaUrgenze : public TPrintapp
ts _tipostampa;
TString16 _codsez, _codsot;
int _etlarghezza, _etcolonne, _etrighe, _etbordoini, _etbordofin, _netichette;
bool _unica;
bool _unica, _usodisp;
int _cur;
int _contatore, _totale;
@ -207,7 +206,10 @@ bool TStampaUrgenze::filter_func_urgenze(const TRelation* rel)
}
}
}
}
}
// filtro su disponibilta
if ((app()._usodisp) && (filtrato))
filtrato = (sog.get(SOG_DISP_AF_1) == app()._tipodon) || (sog.get(SOG_DISP_AF_2) == app()._tipodon);
// filtro su data donazione
if (filtrato)
{
@ -422,6 +424,7 @@ bool TStampaUrgenze::set_print(int)
filtro << " && (" << SOG_FENOTIPORH << " == \"" << fenotiporh << "\")";
if (du.not_empty())
filtro << " && (" << SOG_DU << " == \"" << du << "\")";
_usodisp = _msk->get_bool(F_USODISP);
_giorni = _msk->get_long(F_GIORNI);
_tipodon = _msk->get(F_TIPODON);
_unica = _msk->get_bool(F_UNICA);
@ -435,7 +438,7 @@ bool TStampaUrgenze::set_print(int)
((TSorted_cursor*)current_cursor())->change_order("90->CODSEZ|90->CODSOT|90->COGNOME|90->NOME|90->DATANASC");
// filtra solo idonei
current_cursor()->setfilter(filtro, TRUE);
// filtra per categorie, tipizzazione e data donazione
// filtra per categorie, tipizzazione e data donazione e disponibilita'
current_cursor()->set_filterfunction (filter_func_urgenze, TRUE);
reset_print();
printer().footerlen(0);

View File

@ -25,15 +25,16 @@
#define F_TIPODON 301
#define F_GRUPPOAB0 302
#define F_RHANTID 303
#define F_KELL 304
#define F_FENOTIPORH 305
#define F_DU 306
#define F_GIORNI 307
#define F_DATALIMITE 308
#define F_UNICA 309
#define F_D_TIPODON 310
#define F_USODISP 302
#define F_GRUPPOAB0 303
#define F_RHANTID 304
#define F_KELL 305
#define F_FENOTIPORH 306
#define F_DU 307
#define F_GIORNI 308
#define F_DATALIMITE 309
#define F_UNICA 310
#define F_D_TIPODON 311
#define F_ELENCO 401
#define F_ETICHETTE 402

View File

@ -293,6 +293,11 @@ BEGIN
HELP "Tipo donazione"
END
BOOLEAN F_USODISP
BEGIN
PROMPT 60 11 "Uso disponib."
END
LISTBOX F_GRUPPOAB0 4
BEGIN
PROMPT 2 12 "Gruppo AB0 "