Patch level : 1.7 avis

Files correlati     : at2.exe at2900a.msk
Ricompilazione Demo : [ ]
Commento            : Soggetti per frequenza: possibilitá di stampare su file .dbf (per Bolzano)


git-svn-id: svn://10.65.10.50/trunk@9999 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 2002-01-14 09:36:38 +00:00
parent ed0c57a4f3
commit 01b8b2ed85
3 changed files with 47 additions and 7 deletions

View File

@ -13,10 +13,11 @@
#include "at2900a.h" #include "at2900a.h"
#include "atlib.h" #include "atlib.h"
#define ALIAS_LCP 100 #define ALIAS_LCPDOM 100
#define ALIAS_TCS 200 #define ALIAS_TCS 200
#define ALIAS_COMDOM 501 // comune di domicilio
enum ts { undefined = 0, elenco = 1, etichette = 2 }; enum ts { undefined = 0, elenco = 1, etichette = 2, stampasufile = 3 };
// definizione form per etichette // definizione form per etichette
class TEti_freq_form : public TForm class TEti_freq_form : public TForm
@ -39,6 +40,7 @@ class TFrequenza : public TPrintapp
TRelation* _rel; TRelation* _rel;
TMask* _msk; TMask* _msk;
TLocalisamfile* _donaz; TLocalisamfile* _donaz;
TExternisamfile* _file;
TRecord_array* _sdonazioni; TRecord_array* _sdonazioni;
TEti_freq_form* _form_eti; TEti_freq_form* _form_eti;
TAssoc_array _categorie; TAssoc_array _categorie;
@ -245,9 +247,9 @@ void TFrequenza::header_sezione(const TString16 codsez, const TString16 codsot)
bool TFrequenza::preprocess_page(int file, int counter) bool TFrequenza::preprocess_page(int file, int counter)
{ {
TRectype recsog = current_cursor()->curr();
if (_tipostampa == elenco) if (_tipostampa == elenco)
{ {
TRectype recsog = current_cursor()->curr();
int numdon = 0; int numdon = 0;
TDate dataultdon(NULLDATE); TDate dataultdon(NULLDATE);
if (_ctrltotale) if (_ctrltotale)
@ -290,7 +292,7 @@ bool TFrequenza::preprocess_page(int file, int counter)
localita << ' '; localita << ' ';
if (recsog.get(SOG_DOM_CODLOC).not_empty()) if (recsog.get(SOG_DOM_CODLOC).not_empty())
{ {
localita << current_cursor()->curr(-ALIAS_LCP).get("S0"); localita << current_cursor()->curr(-ALIAS_LCPDOM).get("S0");
localita << " - "; localita << " - ";
} }
localita << current_cursor()->curr(LF_COMUNI).get(COM_DENCOM); localita << current_cursor()->curr(LF_COMUNI).get(COM_DENCOM);
@ -314,6 +316,28 @@ bool TFrequenza::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==stampasufile)
{
_file->zero();
_file->put("CODICE",recsog.get(SOG_CODICE));
_file->put("COGNOME",recsog.get(SOG_COGNOME));
_file->put("NOME",recsog.get(SOG_NOME));
_file->put("SPOSATA",recsog.get(SOG_COGNOME_SP));
_file->put("INDIRIZZO",recsog.get(SOG_DOM_INDIR));
_file->put("PRESSO",recsog.get(SOG_DOM_DISTRI));
TString80 localita = "";
localita << recsog.get(SOG_DOM_CAP);
localita << ' ';
if (recsog.get(SOG_DOM_CODLOC).not_empty())
localita << current_cursor()->curr(-ALIAS_LCPDOM).get("S0");
else
localita << current_cursor()->curr(LF_COMUNI).get(COM_DENCOM);
localita << ' ' << current_cursor()->curr(LF_COMUNI).get(COM_PROVCOM);
localita.trim();
_file->put("LOCALITA",localita);
_file->write();
do_events();
}
_contatore++; _contatore++;
_totale++; _totale++;
return TRUE; return TRUE;
@ -381,6 +405,13 @@ bool TFrequenza::set_print(int m)
case F_ETICHETTE: case F_ETICHETTE:
_tipostampa = (configura_stampante(p, "AT_ETICHETTE", "etichette")) ? etichette : undefined; _tipostampa = (configura_stampante(p, "AT_ETICHETTE", "etichette")) ? etichette : undefined;
break; break;
case F_FILE:
{
_tipostampa=stampasufile;
if (yesno_box("Azzerare il contenuto del file prima dell'elaborazione?"))
_file->zap();
}
break;
} }
if (_tipostampa != undefined) if (_tipostampa != undefined)
{ {
@ -505,11 +536,12 @@ bool TFrequenza::user_create()
{ {
_rel = new TRelation(LF_SOGGETTI); _rel = new TRelation(LF_SOGGETTI);
_rel->add("TCS", "CODTAB==STATO",1,0,ALIAS_TCS); _rel->add("TCS", "CODTAB==STATO",1,0,ALIAS_TCS);
_rel->add("LCP", "CODTAB==DOM_CODLOC",1,0,ALIAS_LCP); _rel->add("LCP", "CODTAB==DOM_CODLOC",1,0,ALIAS_LCPDOM);
_rel->add(LF_COMUNI, "COM==DOM_CODCOM"); _rel->add(LF_COMUNI, "COM==DOM_CODCOM");
_rel->add(LF_SEZIONI, "CODSEZ==CODSEZ|CODSOT==CODSOT"); _rel->add(LF_SEZIONI, "CODSEZ==CODSEZ|CODSOT==CODSOT");
_cur = add_cursor(new TCursor(_rel, "", 3)); _cur = add_cursor(new TCursor(_rel, "", 3));
_msk = new TMask("at2900a"); _msk = new TMask("at2900a");
_file = new TExternisamfile("$file");
_donaz = new TLocalisamfile(LF_DONAZ); _donaz = new TLocalisamfile(LF_DONAZ);
_sdonazioni = new TRecord_array(LF_DONAZ,DON_PROGDON); _sdonazioni = new TRecord_array(LF_DONAZ,DON_PROGDON);
TConfig config(CONFIG_STUDIO); TConfig config(CONFIG_STUDIO);
@ -526,6 +558,7 @@ bool TFrequenza::user_destroy()
delete _form_eti; delete _form_eti;
delete _sdonazioni; delete _sdonazioni;
delete _donaz; delete _donaz;
delete _file;
delete _msk; delete _msk;
delete _rel; delete _rel;
return TRUE; return TRUE;

View File

@ -40,3 +40,4 @@
#define F_ELENCO 401 #define F_ELENCO 401
#define F_ETICHETTE 402 #define F_ETICHETTE 402
#define F_FILE 403

View File

@ -4,16 +4,22 @@ TOOLBAR "" 0 20 0 2
BUTTON F_ELENCO 9 2 BUTTON F_ELENCO 9 2
BEGIN BEGIN
PROMPT -13 -11 "E~lenco" PROMPT -14 -11 "E~lenco"
MESSAGE EXIT,F_ELENCO MESSAGE EXIT,F_ELENCO
END END
BUTTON F_ETICHETTE 9 2 BUTTON F_ETICHETTE 9 2
BEGIN BEGIN
PROMPT -23 -11 "~Etichette" PROMPT -24 -11 "~Etichette"
MESSAGE EXIT,F_ETICHETTE MESSAGE EXIT,F_ETICHETTE
END END
BUTTON F_FILE 10 2
BEGIN
PROMPT -34 -11 "~File"
MESSAGE EXIT,F_FILE
END
BUTTON DLG_QUIT 9 2 BUTTON DLG_QUIT 9 2
BEGIN BEGIN
PROMPT -33 -11 "" PROMPT -33 -11 ""