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 "atlib.h"
#define ALIAS_LCP 100
#define ALIAS_LCPDOM 100
#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
class TEti_freq_form : public TForm
@ -39,6 +40,7 @@ class TFrequenza : public TPrintapp
TRelation* _rel;
TMask* _msk;
TLocalisamfile* _donaz;
TExternisamfile* _file;
TRecord_array* _sdonazioni;
TEti_freq_form* _form_eti;
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)
{
TRectype recsog = current_cursor()->curr();
if (_tipostampa == elenco)
{
TRectype recsog = current_cursor()->curr();
int numdon = 0;
TDate dataultdon(NULLDATE);
if (_ctrltotale)
@ -290,7 +292,7 @@ bool TFrequenza::preprocess_page(int file, int counter)
localita << ' ';
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 << current_cursor()->curr(LF_COMUNI).get(COM_DENCOM);
@ -314,6 +316,28 @@ bool TFrequenza::preprocess_page(int file, int counter)
if (_tipostampa==etichette)
if (printer().rows_left() < _form_eti->get_body().height())
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++;
_totale++;
return TRUE;
@ -381,6 +405,13 @@ bool TFrequenza::set_print(int m)
case F_ETICHETTE:
_tipostampa = (configura_stampante(p, "AT_ETICHETTE", "etichette")) ? etichette : undefined;
break;
case F_FILE:
{
_tipostampa=stampasufile;
if (yesno_box("Azzerare il contenuto del file prima dell'elaborazione?"))
_file->zap();
}
break;
}
if (_tipostampa != undefined)
{
@ -505,11 +536,12 @@ bool TFrequenza::user_create()
{
_rel = new TRelation(LF_SOGGETTI);
_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_SEZIONI, "CODSEZ==CODSEZ|CODSOT==CODSOT");
_cur = add_cursor(new TCursor(_rel, "", 3));
_msk = new TMask("at2900a");
_file = new TExternisamfile("$file");
_donaz = new TLocalisamfile(LF_DONAZ);
_sdonazioni = new TRecord_array(LF_DONAZ,DON_PROGDON);
TConfig config(CONFIG_STUDIO);
@ -526,6 +558,7 @@ bool TFrequenza::user_destroy()
delete _form_eti;
delete _sdonazioni;
delete _donaz;
delete _file;
delete _msk;
delete _rel;
return TRUE;

View File

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

View File

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