campo-sirio/ba/ba6101.cpp
guy 5e9b747386 Aggiuornato uso di Relation::lfile e main_app
git-svn-id: svn://10.65.10.50/trunk@275 c028cbd2-c16b-5b4b-a496-9718f37d4682
1994-09-22 07:40:02 +00:00

851 lines
26 KiB
C++
Executable File

// ************************************************************************
// Stampa anagrafiche (ba6 -0)
// Settaggio stampe
// ************************************************************************
#include "ba6100.h"
static const char sep[] =
"-----------------------------------------------------------------"
"-----------------------------------------------------------------" ;
void BA6100_App::set_scheda_anagiu()
{
set_row(1,"SCHEDA SOCIETA'");
set_row(2,"");
set_row(3,"@bCodice@r@15g@u@pn@25g@r@bRag.Sociale @r@u@50s",
FLD(LF_ANAG,"CODANAGR","@@@@@"),
FLD(LF_ANAG,"RAGSOC"));
set_row(4,"@25g@bEvent. sigla@r@40g@u@20s",
FLD(LF_ANAGGIU,"SIGLA"));
set_row(5,"Oggetto soc.@15g@60s",
FLD(LF_ANAGGIU,"OGGSOC"));
set_row(6,"Codice Fiscale@20g@16s@46gPartita IVA @12s",
FLD(LF_ANAG,"COFI"),
FLD(LF_ANAG,"PAIV"));
set_row(7,"Riferimento@15g@20s", FLD(LF_ANAGGIU,"PERRIF"));
set_row(8,"");
set_row(9,"Sede legale@20gIndirizzo @35s",
FLD(LF_ANAG,"INDRES"));
TString com = current_cursor()->curr(LF_ANAG).get("COMRES");
TRectype& cc = look_com(com);
TString a = cc.get("DENCOM");
TString b = cc.get("CAPCOM");
TString c = cc.get("PROVCOM");
set_row(10,"@20gComune %-24s@53gProvincia %2s@68gCAP %5s",
(const char*)a,
(const char*)c,
(const char*)b);
set_row(11,"@20gTelefono @u@10s@r/@u@30s@r",
FLD(LF_ANAG,"PTELRF"),
FLD(LF_ANAG,"TELRF"));
set_row(12,"");
set_row(13,"Domicilio fiscale@20gIndirizzo @35s",
FLD(LF_ANAG,"INDRF"));
com = current_cursor()->curr(LF_ANAG).get("COMRF");
cc = look_com(com);
a = cc.get("DENCOM");
b = cc.get("CAPCOM");
c = cc.get("PROVCOM");
set_row(14,"@20gComune %-24s@53gProvincia %2s@68gCAP %5s",
(const char*)a,
(const char*)c,
(const char*)b);
set_row(15,"");
set_row(16,"Corrispondenza@20gIndirizzo @35s",
FLD(LF_ANAG,"INDCORR"));
com = current_cursor()->curr(LF_ANAG).get("COMCORR");
cc = look_com(com);
a = cc.get("DENCOM");
b = cc.get("CAPCOM");
c = cc.get("PROVCOM");
set_row(17,"@20gComune %-24s@53gProvincia %2s@68gCAP %5s",
(const char*)a,
(const char*)c,
(const char*)b);
com = current_cursor()->curr(LF_ANAG).get("STATOCORR");
if (com.empty())
a = "Italia";
else { a = look_tab("%STA",com,"S0"); }
set_row(18,"@20gStato %s",(const char*)a);
set_row(19,"");
set_row(20,"Telex@20g@u@10s@r/@u@30s@r",
FLD(LF_ANAG,"PTLEXRF"),
FLD(LF_ANAG,"TLEXRFX"));
set_row(21,"Telefax@20g@u@10s@r/@u@30s@r",
FLD(LF_ANAG,"PFAXRF"),
FLD(LF_ANAG,"FAXRF"));
set_row(22,"");
set_row(23,"Ufficio imposte@20gNumero @pn",
FLD(LF_ANAG,"UFFIIDD","@@@"));
com = current_cursor()->curr(LF_ANAG).get("UFFIIDD");
a = look_tab("%UID",com,"S6");
c = look_tab("%UID",com,"S4");
cc = look_com(a);
a = cc.get("DENCOM");
b = cc.get("PROVCOM");
set_row(24,"@20gComune %-24s@53gProvincia %2s",
(const char*)a,
(const char*)b);
set_row(25,"");
set_row(26,"Esattoria@20gC/C n. %-20s",(const char*)c);
set_row(27,"@20gComune %-24s@53gProvincia %2s",
(const char*)a,
(const char*)b);
set_row(28,"@20gCodice contribuente @10s",
FLD(LF_ANAG,"CODCONTR"));
set_row(29,""); set_row(30,"");
// dati atto costitutivo etc
set_row(31,"Dati atto costitutivo e statuto"); set_row(32,"");
set_row(33,"Estremi@20g@60s", FLD(LF_ANAGGIU,"ESTROMOL"));
set_row(34,"Omologa@25g@ld@41gData iscrizione@70g@ld",
FLD(LF_ANAGGIU,"DATAOMOL"),
FLD(LF_ANAGGIU,"DATAISCRIZ"));
set_row(35,"Data costituzione@25g@ld@41gDurata sino@70g@ld",
FLD(LF_ANAGGIU,"DATACOST"),
FLD(LF_ANAGGIU,"DATASCAD"));
set_row(36,"Termine appr. bilancio@25g@d@41gApprovazione bilancio@70g@d",
FLD(LF_ANAGGIU,"DATATAPPBI"),
FLD(LF_ANAGGIU,"DATAAPPBIL"));
set_row(37,"Scad.org.amministrativo@25g@d@41gScadenza collegio "
"sindacale@70g@d",
FLD(LF_ANAGGIU,"DATASORAMM"),
FLD(LF_ANAGGIU,"DATASCSIND"));
// set_row(38,"Fine esercizio@25g@d", FLD(LF_ANAGGIU,"???"));
set_row(39,"");
set_row(40,"@5gCapit.sociale@24gCapit.versato@47g"
"Fatturato@65gN.azioni@74gValore");
set_row(41,"@pn @pn @pn @61g@n @pn",
FLD(LF_ANAGGIU,"CAPSOC","###.###.###.###.###"),
FLD(LF_ANAGGIU,"CAPVER","###.###.###.###.###"),
FLD(LF_ANAGGIU,"FATT","###.###.###.###.###"),
FLD(LF_ANAGGIU,"NAZIONI"),
FLD(LF_ANAGGIU,"VALNOM","###.###.###.###"));
set_row(42,"");
set_row(43,"Dati Statistici@20gNon residente@61g@f",
FLD(LF_ANAG,"SOGGNRES"));
set_row(44,"@20gEventi naturali eccezionali@61g@s",
FLD(LF_ANAG,"EVECC"));
set_row(45,"@20gResidente in zone terremotate@61g@f",
FLD(LF_ANAG,"RESZTERR"));
// *TBI* traduzione natura giuridica
set_row(46,"@20gNatura giuridica@61g@s",
FLD(LF_ANAGGIU,"NATGIU"));
set_row(47,"@20gStato societa'@51g@20,rt",
FLD(LF_ANAGGIU,"STATOSOC"));
set_row(48,"@20gSituazione societa'@51g@20,rt",
FLD(LF_ANAGGIU,"SITSOC"));
set_row(49,"");
a = look_tab("%SST",current_cursor()->curr(LF_ANAG).get("CODSTAT1"),"S0");
set_row(50,"@20gSigla stat.1 @pn %-50s",
FLD(LF_ANAG,"CODSTAT1","@@@@@@@"), (const char*)a);
a = look_tab("%SST",current_cursor()->curr(LF_ANAG).get("CODSTAT2"),"S0");
set_row(51,"@20gSigla stat.2 @pn %-50s",
FLD(LF_ANAG,"CODSTAT2","@@@@@@@"), (const char*)a);
a = look_tab("%SST",current_cursor()->curr(LF_ANAG).get("CODSTAT3"),"S0");
set_row(52,"@20gSigla stat.3 @pn %-50s",
FLD(LF_ANAG,"CODSTAT3","@@@@@@@"), (const char*)a);
// NOTE
set_row(53,"");
set_row(54,"Note attivato storico");
set_row(55,"@6g@70s",FLD(LF_ANAGGIU,"NOTE1"));
set_row(56,"@6g@70s",FLD(LF_ANAGGIU,"NOTE2"));
set_row(57,"@6g@70s",FLD(LF_ANAGGIU,"NOTE3"));
set_row(58,"@6g@70s",FLD(LF_ANAGGIU,"NOTE4"));
set_row(59,"@6g@70s",FLD(LF_ANAGGIU,"NOTE5"));
for (int i = 60; i <= printer().formlen(); i++)
set_row(i, "");
}
void BA6100_App::set_scheda_anafis()
{
set_row(1,"SCHEDA PERSONA FISICA");
set_row(2,"");
set_row(3,"@bCodice @r@u@pn@20g@r@bCognome @r@u@S",
FLD(LF_ANAG,"CODANAGR","@@@@@"),
FLD(LF_ANAG,"RAGSOC",0,29));
set_row(4,"@20g@bNome @r@u@s",
FLD(LF_ANAG,"RAGSOC",30,50));
set_row(5,"");
set_row(6,"Codice Fiscale@20g@s@46gPartita IVA @s",
FLD(LF_ANAG,"COFI"),
FLD(LF_ANAG,"PAIV"));
set_row(7,"Data di nascita@20g@ld@32g@t@46gNazionalita' @s",
FLD(LF_ANAGFIS,"DATANASC"),
FLD(LF_ANAGFIS,"SESSO"),
FLD(LF_ANAGFIS,"NAZION"));
set_row(8,"");
set_row(9,"Residenza@20gIndirizzo @s",
FLD(LF_ANAG,"INDRES"));
TString com = current_cursor()->curr(LF_ANAG).get("COMRES");
TRectype& cc = look_com(com);
TString a = cc.get("DENCOM");
TString b = cc.get("CAPCOM");
TString c = cc.get("PROVCOM");
set_row(10,"@20gComune %s@53gProvincia %s@68gCAP %s",
(const char*)a,
(const char*)c,
(const char*)b
);
set_row(11,"@20gTelefono @u@s@r/@u@s@r",
FLD(LF_ANAG,"PTELRF"),
FLD(LF_ANAG,"TELRF"));
set_row(12,"");
set_row(13,"Domicilio fiscale@20gIndirizzo @s",
FLD(LF_ANAG,"INDRF"));
com = current_cursor()->curr(LF_ANAG).get("COMRF");
cc = look_com(com);
a = cc.get("DENCOM");
b = cc.get("CAPCOM");
c = cc.get("PROVCOM");
set_row(14,"@20gComune %s@53gProvincia %s@68gCAP %s",
(const char*)a,
(const char*)c,
(const char*)b
);
set_row(15,"");
set_row(16,"Corrispondenza@20gIndirizzo @s",
FLD(LF_ANAG,"INDCORR"));
com = current_cursor()->curr(LF_ANAG).get("COMCORR");
cc = look_com(com);
a = cc.get("DENCOM");
b = cc.get("CAPCOM");
c = cc.get("PROVCOM");
set_row(17,"@20gComune %s@53gProvincia %s@68gCAP %s",
(const char*)a,
(const char*)c,
(const char*)b
);
com = current_cursor()->curr(LF_ANAG).get("STATOCORR");
if (com.empty())
a = "Italia";
else { a = look_tab("%STA",com,"S0"); }
set_row(18,"@20gStato %s",(const char*)a);
set_row(19,"");
set_row(20,"Telex@20g@u@s@r/@u@s@r",
FLD(LF_ANAG,"PTLEXRF"),
FLD(LF_ANAG,"TLEXRFX"));
set_row(21,"Telefax@20g@u@s@r/@u@s@r",
FLD(LF_ANAG,"PFAXRF"),
FLD(LF_ANAG,"FAXRF"));
set_row(22,"");
set_row(23,"Ufficio imposte@20gNumero @pn",
FLD(LF_ANAG,"UFFIIDD","@@@"));
com = current_cursor()->curr(LF_ANAG).get("UFFIIDD");
a = look_tab("%UID",com,"S6");
c = look_tab("%UID",com,"S4");
cc = look_com(a);
a = cc.get("DENCOM");
b = cc.get("PROVCOM");
set_row(24,"@20gComune %s@53gProvincia %s",
(const char*)a,
(const char*)b);
set_row(25,"");
set_row(26,"Esattoria@20gC/C n. %s",(const char*)c);
set_row(27,"@20gComune %s@53gProvincia %s",
(const char*)a,
(const char*)b);
set_row(28,"@20gCodice contribuente @s",
FLD(LF_ANAG,"CODCONTR"));
set_row(29,"");
// cerca coniuge
com = current_cursor()->curr(LF_ANAGFIS).get("CODCONIUGE");
TLocalisamfile& af = current_cursor()->file(LF_ANAG);
TRecnotype last = af.recno();
int k = af.getkey();
if (!com.empty())
{
af.curr().zero();
af.setkey(1);
af.put("CODANAGR",com);
af.put("TIPOA","F");
af.read();
}
a = af.get("RAGSOC");
if (!com.empty())
{
af.setkey(k);
af.readat(last);
b = a.sub(30); a = a.left(20);
}
else { a = ""; b = ""; }
set_row(30,"Coniuge @pn@20gCognome %s",
FLD(LF_ANAGFIS,"CODCONIUGE","@@@@@"),
(const char*)a);
set_row(31,"@20gNome %s", (const char*)b);
set_row(32,"Dati Statistici@20gNon residente@53g@f",
FLD(LF_ANAG,"SOGGNRES"));
set_row(33,"@20gEventi naturali eccezionali@53g@s",
FLD(LF_ANAG,"EVECC"));
set_row(34,"@20gResidente in zone terremotate@53g@f",
FLD(LF_ANAG,"RESZTERR"));
set_row(35,"@20gStato civile@53g@t",
FLD(LF_ANAGFIS,"STATCIV"));
set_row(36,"@20gData variazione stato civile@53g@D",
FLD(LF_ANAGFIS,"DVARSCIV"));
set_row(37,"@20gTitolo di studio@53g@t",
FLD(LF_ANAGFIS,"TITSTU"));
// set_row(37,"@20gProvincia lavoro dipendente@61g@s");
set_row(38,""); set_row(39,""); set_row(40,""); set_row(41,"");
a = look_tab("%SST",
current_cursor()->curr(LF_ANAG).get("CODSTAT1"),"S0");
set_row(42,"@20gSigla stat.1 @pn %s",
FLD(LF_ANAG,"CODSTAT1","@@@@@@@"), (const char*)a);
a = look_tab("%SST",current_cursor()->curr(LF_ANAG).get("CODSTAT2"),"S0");
set_row(43,"@20gSigla stat.2 @pn ",
FLD(LF_ANAG,"CODSTAT2","@@@@@@@"), (const char*)a);
a = look_tab("%SST",current_cursor()->curr(LF_ANAG).get("CODSTAT3"),"S0");
set_row(44,"@20gSigla stat.3 @pn ",
FLD(LF_ANAG,"CODSTAT3","@@@@@@@"), (const char*)a);
for (int i = 45; i <= printer().formlen(); i++)
set_row(i, "");
}
void BA6100_App::set_scheda_ditta()
{
set_row(1,"@bSCHEDA DITTA @r@u@pn@r@20g@bDenominaz. sociale @r@u@s",
FLD(LF_NDITTE,"CODDITTA","@@@@@"),
FLD(LF_NDITTE,"RAGSOC"));
set_row(2,"Albo artigiani@20gIscrizione all'albo @f@55gnum. @s",
FLD(LF_NDITTE,"ARTIG"),
FLD(LF_NDITTE,"NISCRAA"));
TString a =
look_com(current_cursor()->curr(LF_NDITTE).get("COMAA")).get("DENCOM");
set_row(3,"@20gLocalita' %s@55gData @D",
(const char*)a,
FLD(LF_NDITTE,"DATAISCRAA"));
set_row(4,"Attivita'");
a = look_tab("%AIS",current_cursor()->
curr(LF_NDITTE).get("CODATTPREV")); // TBC
set_row(5,"prevalente@20gCod. @pn Desc. %s",
FLD(LF_NDITTE,"CODATTPREV","@@@@@"),
(const char*)a);
// set_row(6,"@20gGestione piu' attivita'");
set_row(6,"@20gFrequenza versamenti@54g@t",
FLD(LF_NDITTE,"FREQVIVA"));
set_row(7,"@20gTenuta contabilita' ordinaria@54g@f",
FLD(LF_NDITTE,"CONTORD"));
set_row(8,"@20gDatore di lavoro@54g@t",
FLD(LF_NDITTE,"DATLAV"));
set_row(9,"@20gData inizio attivita'@54g@D",
FLD(LF_NDITTE,"DINIZIOATT"));
set_row(10,"Altri dati@20gRiferimento @u@s@r @54gTel. @u@4S@r/@u@S@r",
FLD(LF_NDITTE,"PERRIF"),
FLD(LF_NDITTE,"PTEL"),
FLD(LF_NDITTE,"TEL"));
set_row(11,"@20gGestione magazzino @f",
FLD(LF_NDITTE,"REGMAG"));
set_row(12,"@20gNumero unita' locali @n@54gNum.enasarco @s",
FLD(LF_NDITTE,"NULC"),
FLD(LF_NDITTE,"NENASARCO"));
set_row(13,"");
/* TBI: banca di appoggio */
set_row(14,"Stato@20g@t",FLD(LF_NDITTE,"STATOSOC"));
set_row(15,""); set_row(16,"");
}
void BA6100_App::set_scheda_attiv()
{
TString dio = look_tab("%AIS",current_cursor()->
curr(LF_ATTIV).get("CODATT"),"S0");
set_row(1,"@bATTIVITA'@r @pn@20g@bDescrizione:@r %s",
FLD(LF_ATTIV,"CODATT","@@@@@"), (const char*)dio);
set_row(2,"@20gRegime agricolo@67g@f",
FLD(LF_ATTIV,"REGAGR"));
set_row(3,"@20gRegime speciale agenzie di viaggio (art.74ter)@67g@f",
FLD(LF_ATTIV,"REG74TER"));
set_row(4,"@20gAttivita' stagionale@67g@f",
FLD(LF_ATTIV,"ATTSTAG"));
set_row(5,"@20gAttivita' esercitata in piu' luoghi@67g@f",
FLD(LF_ATTIV,"ESLUOGHID"));
set_row(6,"@20gData inizio attivita'@60g@D",
FLD(LF_NDITTE,"DINIZIOATT"));
set_row(7,"@20gData variazione attivita'@60g@D",
FLD(LF_ATTIV,"DATAVARIVA"));
set_row(8,"@20gData cessazione attivita'@60g@D",
FLD(LF_ATTIV,"DCESSATT"));
set_row(9,"@20g@bCONSERVAZIONE SCRITTURE CONTABILI@r");
// cerca depositario
TString com = get_field(LF_ATTIV,"CODANGRDS");
TString a = get_field(LF_ATTIV,"TIPOADS");
TLocalisamfile& af = current_cursor()->file(LF_ANAG);
TRecnotype last = af.recno();
af.curr().zero();
int k = af.getkey();
af.setkey(1);
af.curr().put("CODANAGR",com);
af.curr().put("TIPOA",a);
TString b = af.curr().get("RAGSOC");
com = af.curr().get("INDRF");
if (com.empty()) com = af.curr().get("INDRES");
TString c = af.curr().get("COMRF");
if (c.empty) c = af.curr().get("COMRES");
TRectype& cm = look_com(a);
af.readat(last);
af.setkey(k);
set_row(10,"Depositario@20gCodice @pn (%s): %s",
FLD(LF_ATTIV,"CODANGRDS"),
c == 'F' ? "p.f." : "p.g.",
(const char*)b);
set_row(11,"@20gIndirizzo %s", (const char*)c);
a = cm.get("DENCOM"); b = cm.get("PROVCOM"); c = cm.get("CAPCOM");
set_row(12,"@20gComune %s@53gProvincia %s@68gC.a.p. %s",
(const char*)a, (const char*)b, (const char*)c);
set_row(13,"@20gTenuta scritture parziali@68g@f",
FLD(LF_ATTIV,"TSCRPARZ"));
set_row(14,"Luogo@20gIndirizzo @s @s",
FLD(LF_ATTIV,"INDCS"),
FLD(LF_ATTIV,"CAPCS"));
cm = look_com(get_field(LF_ATTIV,"COMCS"));
a = cm.get("DENCOM"); b = cm.get("PROVCOM"); c = cm.get("CAPCOM");
set_row(15,"@20gComune %s@53gProvincia %s@68gC.a.p. %s",
(const char*)a, (const char*)b, (const char*)c);
set_row(16,"@20gTelefono ");
set_row(17,""); set_row(18,"");
}
void BA6100_App::set_scheda_registro()
{
/* TBI */
}
void BA6100_App::set_scheda_unloc()
{
set_row(1,"@bUNITA' LOCALE@20gCodice @r@u@pn@r",
FLD(LF_UNLOC,"CODULC","@@@"));
set_row(2,"@20g@bIndirizzo@r@u @s@r@68g@bNumero @r@u@s",
FLD(LF_UNLOC,"INDULC"),
FLD(LF_UNLOC,"CIVULC"));
TRectype& cc = look_com(get_field(LF_UNLOC,"COMULC"));
TString a = cc.get("DENCOM");
TString b = cc.get("PROVCOM");
TString c = cc.get("CAPCOM");
set_row(3,"@20g@bComune@r@4j@u%s@r@53g@bProvincia@r @u%s@r@68g@b"
"C.a.p.@r @u%s",
(const char*)a, (const char*)b, (const char*)c);
set_row(4,"");
set_row(5,"C.C.I.A.A.@20gNumero@30g@pn",
FLD(LF_UNLOC,"NUMCCIAA","@@@@@@@"));
cc = look_com(get_field(LF_UNLOC,"COMCCIAA"));
a = cc.get("DENCOM");
set_row(6,"@20gComune@30g%s@53gN. Meccanografico @n",
(const char*)a,
FLD(LF_UNLOC,"NUMMECC"));
set_row(7,"@20gData iscrizione @D@48gData ultima variazione @D",
FLD(LF_UNLOC,"DATAICCIAA"),
FLD(LF_UNLOC,"DATAVCCIAA"));
set_row(8,"");
set_row(9,"Autorizzazioni@20gN. R.E.C. @30g@pn@41gComunale n. @pn "
"PS n. @pn Altre @s",
FLD(LF_UNLOC,"NUMREC","@@@@@@@"),
FLD(LF_UNLOC,"AUTCOM","@@@@@"),
FLD(LF_UNLOC,"AUTPS","@@@@@@@"),
FLD(LF_UNLOC,"ALTAUT"));
set_row(10,"");
set_row(11,"Posizioni@20gINPS n.@30g@s INAIL n. @s",
FLD(LF_UNLOC,"POSINPS"),
FLD(LF_UNLOC,"POSINAIL"));
set_row(12,"");
set_row(13,"Tribunale@20gRegistro@30g@pn@44gVolume@52g@pn@64gFascicolo @pn",
FLD(LF_UNLOC,"REGTRIB","@@@@@@@@@"),
FLD(LF_UNLOC,"VOLTRIB","@@@@@@@"),
FLD(LF_UNLOC,"FASCTRIB","@@@@@"));
set_row(14,"");
set_row(15,"Locali destinati");
set_row(16,"all'attivita'@20gMq.Locali @pn Di cui a magazzino @pn",
FLD(LF_UNLOC,"MQULC","@@@@@"),
FLD(LF_UNLOC,"MQULCMAG","@@@@@"));
set_row(17,""); set_row(18,"");
}
void BA6100_App::set_scheda_socio()
{
int rw;
TString b1, b2, b3;
TLocalisamfile& ana = current_cursor()->file(LF_ANAG);
TLocalisamfile& soc = current_cursor()->file(LF_SOCI);
TRecnotype rno = ana.recno();
int k = ana.getkey();
ana.zero();
ana.put("TIPOA",soc.get("TIPOASOC"));
ana.put("CODANAGR",soc.get("CODANAGRSO"));
ana.read();
TString codconiuge = "";
TLocalisamfile* anaf;
if (soc.get("TIPOASOC") == "F")
{
TRecnotype rn = 0; int kk = 1;
if (_pr_what == anafis)
{
anaf = &current_cursor()->file(LF_ANAGFIS);
rn = anaf->recno();
kk = anaf->getkey();
}
else
{
anaf = new TLocalisamfile(LF_ANAGFIS);
anaf->read();
}
anaf->zero();
anaf->put("CODANAGR",soc.get("CODANAGRSO"));
anaf->read();
TRectype& com = look_com(anaf->get("COMNASC"));
set_row(1,"@bSOCIO@r @s / @pn@20g@bCognome@r @s",
FLD(LF_SOCI,"TIPOASOC"),
FLD(LF_SOCI,"CODANAGRSO","@@@@@"),
FLD(LF_ANAG,"RAGSOC",0,29));
set_row(2,"@20g@bNome@r @s@53g@bCod.fisc.@r @s",
FLD(LF_ANAG,"RAGSOC",30,50),
FLD(LF_ANAG,"COFI"));
set_row(3,"");
b1 = anaf->get_date("DATANASC").string(4);
b2 = anaf->get("SESSO");
b3 = anaf->get("STATONASC").empty() ?
"Italiana" : anaf->get("STATONASC");
set_row(4,"Nascita@20gData@30g%S@42gSesso %S@53gCittadinanza %S",
(const char*)b1,
(const char*)b2,
(const char*)b3);
b1 = com.get("DENCOM");
b2 = com.get("PROVCOM");
set_row(5,"@20gComune@30g%S@53gProvincia %S",
(const char*)b1,
(const char*)b2);
rw = 6;
codconiuge = "Cod.coniuge ";
codconiuge << anaf->get("CODCONIUGE");
if (_pr_what == anafis)
{ anaf->setkey(kk); anaf->readat(rn); }
else delete anaf;
}
else
{
set_row(1,"@bSOCIO@r @S / @pN@20gR.soc. @s");
set_row(2,"@20gCod.fisc. @s @P.IVA @s");
rw = 3;
}
set_row(rw,"");
TRectype& com = look_com(ana.get("COMRES"));
b1 = com.get("DENCOM");
b2 = com.get("PROVCOM");
b3 = com.get("CAPCOM");
set_row(rw+1,"Residenza@20gIndirizzo @S", FLD(LF_ANAG,"INDRES"));
set_row(rw+2,"@20gComune %S@53gProvincia %S@68gC.a.p. %S",
(const char*)b1,
(const char*)b2,
(const char*)b3);
set_row(rw+3,"");
TString car = look_tab("%CRS",soc.get("CODCAR"));
set_row(rw+4,"Carica@20gCod. @pN@30g%s@62gScadenza @lD",
FLD(LF_SOCI,"CODCAR","@@"),
(const char*)car,
FLD(LF_SOCI,"SCADCAR"));
set_row(rw+5,"Azioni@20gN.quote @N = @7.3N%% Redd. @7.3N%% Perd. @7.3N%%",
FLD(LF_SOCI,"NQUOTEAZ"),
FLD(LF_SOCI,"PERCQUAZ"),
FLD(LF_SOCI,"PERCAZREDD"),
FLD(LF_SOCI,"PERCAZPERD"));
set_row(rw+6,"@20gTitolo proprieta' @S Emolumento @pN",
FLD(LF_SOCI,"TITPROP"),
FLD(LF_SOCI,"EMOLUMENTO","###.###.###.###"));
set_row(rw+7,"%% rit.su dividendi @7.3n%% Tipo azione @s "
"Partecipaz. assemblea @f",
FLD(LF_SOCI,"PERCRITDIV"),
FLD(LF_SOCI,"TIPOAZ"),
FLD(LF_SOCI,"PARTASS"));
set_row(rw+8,"Modello 740 @s @57g%s",
FLD(LF_SOCI,"Q740"),
(const char*)codconiuge);
set_row(rw+9,"Attiv. prevalente @f@37gQuadro 750 @s @53g"
"Mesi lavorati art.120 c1 @2n",
FLD(LF_SOCI,"ATTPREV"),
FLD(LF_SOCI,"QUATTPREV"),
FLD(LF_SOCI,"MLAV120C1"));
set_row(rw+10,"@20gRichiesta qualifica @s@53gMesi lavorati art.120 c2 @2n",
FLD(LF_SOCI,"RICQUAL"),
FLD(LF_SOCI,"MLAV120C2"));
set_row(rw+11,"Note@20g@s", FLD(LF_SOCI,"NOTE"));
set_row(rw+12,"Data ultimo agg. @20gAnagrafica @d @53gSocio @d",
FLD(LF_ANAG,"DATAAGG"),
FLD(LF_SOCI,"DATAAGG"));
set_row(rw+13,""); set_row(rw+14,"");
ana.setkey(k);
ana.readat(rno);
}
void BA6100_App::set_rubriche()
{
// preprocess_page will fill the vars
set_row(2,"@32g@35S", FLD(LF_ANAG,"INDRES"));
set_row(3,"@32g#-24T CAP #5T PR #2T", &_com, &_cap, &_prov);
set_row(4,"@32gTel. #-36T", &_phone);
set_row(5,"");
if (_pr_what == nditte)
{
set_row(1,"@b$[r]@pN@r$[n]@3j@50S",
FLD(LF_NDITTE,"CODDITTA","@@@@@"),
FLD(LF_NDITTE,"RAGSOC"));
}
else if (_pr_what == anafis)
{
set_row(1,"@b$[b]@pN$[n]@r@3j@S @S", FLD(LF_ANAG,"CODANAGR","@@@@@"),
FLD(LF_ANAG,"RAGSOC",0,29), FLD(LF_ANAG,"RAGSOC",30,50));
}
else
{
set_row(1,"@b$[b]@pN$[n]@r@3j@50S", FLD(LF_ANAG,"CODANAGR","@@@@@"),
FLD(LF_ANAG,"RAGSOC"));
set_row(4,"@56g Rif @12S", FLD(LF_ANAGGIU,"PERRIF"));
}
}
void BA6100_App::set_elenco()
{
switch(_pr_what)
{
case anafis:
case anagiu:
if (_pr_what == anafis)
{
if (_inclditte)
set_row(1,"$[b]@pN$[n]@4j@S @S@50g$[r]@pN$[n]@66g@S",
FLD(LF_ANAG,"CODANAGR","@@@@@"),
FLD(LF_ANAG,"RAGSOC",0,29),
FLD(LF_ANAG,"RAGSOC",30,50),
FLD(LF_NDITTE,"CODDITTA","@@@@@"),
FLD(LF_NDITTE,"RAGSOC"));
else
set_row(1,"$[b]@pN$[n]@4j@S @S",
FLD(LF_ANAG,"CODANAGR","@@@@@"),
FLD(LF_ANAG,"RAGSOC",0,29),
FLD(LF_ANAG,"RAGSOC",30,50));
}
else
{
if (_inclditte)
set_row(1,"$[b]@pN$[n]@4j@50S@50g$[r]@pN$[n]@66g@S",
FLD(LF_ANAG,"CODANAGR","@@@@@"),
FLD(LF_ANAG,"RAGSOC"),
FLD(LF_NDITTE,"CODDITTA","@@@@@"),
FLD(LF_NDITTE,"RAGSOC"));
else
set_row(1,"$[b]@pN$[n]@4j@50S",
FLD(LF_ANAG,"CODANAGR","@@@@@"),
FLD(LF_ANAG,"RAGSOC"));
}
break;
case nditte:
set_row(1,"$[r]@pN$[n]@10g@S@50g@S @pN@3j@S",
FLD(LF_NDITTE,"CODDITTA","@@@@"),
FLD(LF_NDITTE,"RAGSOC"),
FLD(LF_NDITTE,"TIPOA"),
FLD(LF_ANAG, "CODANAGR", "@@@@@"),
FLD(LF_ANAG, "RAGSOC"));
break;
}
set_row(2,"");
}
void BA6100_App::set_schede()
{
switch(_pr_what)
{
case anafis: set_scheda_anafis(); break;
case anagiu: set_scheda_anagiu(); break;
case nditte: set_scheda_ditta(); break;
}
}
void BA6100_App::set_headers()
{
reset_header();
set_background();
if (_pr_type == elenco)
{
switch(_pr_what)
{
case anafis:
case anagiu:
#if XVT_OS != XVT_OS_SCOUNIX
set_background("W1l{1 2 132 2}W4l{1 5 132 5}");
#else
set_header(2,(const char*)sep);
set_header(5,(const char*)sep);
#endif
set_header(1,"@bELENCO PERSONE %s@82gStudio@96gData"
"@101g @< @110g Pag. @#", _pr_what == anafis ? "FISICHE" :
"GIURIDICHE");
set_header(3,"@iCodice@55gCodice");
set_header(4,"@iAnagr. Ragione sociale/cognome e nome@55gDitta"
"@66gDenominazione sociale");
set_header(6,"");
break;
case nditte:
#if XVT_OS != XVT_OS_SCOUNIX
set_background("W1l{1 2 132 2}W4l{1 5 132 5}");
#else
set_header(2,(const char*)sep);
set_header(5,(const char*)sep);
#endif
set_header(1,"@bELENCO DITTE@82gStudio@96gData"
"@101g @< @110 @#");
set_header(3,"@iCodice@50gT");
set_header(4,"@iAnagr. Denominazione sociale@50gP Codice"
"@61gRagione sociale/Cognome e nome");
set_header(6,"");
}
}
else if (_pr_type == rubriche)
{
switch (_pr_what)
{
case anafis:
case anagiu:
#if XVT_OS != XVT_OS_SCOUNIX
set_background("W1l{1 2 132 2}W4l{1 4 132 4}");
#else
set_header(2,(const char*)sep);
set_header(4,(const char*)sep);
#endif
set_header(1,"@bRUBRICA PERSONE %s@40gStudio@53gData @< pag. @#",
_pr_what == anagiu ? "GIURIDICHE" : "FISICHE");
set_header(3,"@iCodice Cognome e nome");
set_header(5,"");
break;
case nditte:
#if XVT_OS != XVT_OS_SCOUNIX
set_background("W1l{1 2 132 2}W4l{1 4 132 4}");
#else
set_header(2,(const char*)sep);
set_header(4,(const char*)sep);
#endif
set_header(1,"@bRUBRICA DITTE@40gStudio@53gData @< pag. @#");
set_header(3,"@iCodice Cognome e nome");
set_header(5,"");
break;
}
}
else if (_pr_type == schede)
{
set_header(1,"");
}
}
void BA6100_App::set_etichette()
{
int namerow = 0;
for (int i = 2; i <= _rows_et; i++)
set_row(i, "");
if (_is_piv)
{
set_row(_piv_row, TString(format("@%dg#t", _piv_col)), &_cofi);
_frpos[_piv_row - 1] = TRUE;
}
if (_is_cod)
{
set_row(_cod_row, TString(format("@%dg#t", _cod_col)), &_cod);
_frpos[_cod_row - 1] = TRUE;
}
// name goes in first free row
for (i = 0; i < _rows_et; i++)
{
if (!_frpos[i])
{ if (namerow == 0) namerow = i; }
}
namerow++; reset_row(namerow);
if (_pr_what == anagiu)
set_row(namerow,TString(format("@%dg#t",_ind_col)), &_name);
else
{
set_row(namerow,TString(format("@%dg#t #t #t",_ind_col)), &_sex, &_name, &_surname);
}
set_row(_ind_row,TString(format("@%dg#t #t", _ind_col)), &_address, &_civ);
set_row(_ind_row+1, TString(format("@%dg#t #t #t", _ind_col)),
&_cap, &_com, &_prov);
if (!_stato.empty())
{
// print state on first free row
for (i = _ind_row+1; i < _rows_et; i++)
if (!_frpos[i] && i != (namerow - 1))
set_row(i+1, TString(format("@%dg#t", _ind_col)), &_stato);
}
}