From c4baf1bfd6bb3185f2defe9b39add4319eebcd5b Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 20 Nov 1997 16:22:25 +0000 Subject: [PATCH] Corretti errori di livello 2 riguardo alla stampa anagrafiche I codici li trovate sul fax di Paolino git-svn-id: svn://10.65.10.50/trunk@5652 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ba/ba6100.cpp | 22 +-- ba/ba6101.cpp | 462 ++++++++++++++++++++++++++------------------------ 2 files changed, 255 insertions(+), 229 deletions(-) diff --git a/ba/ba6100.cpp b/ba/ba6100.cpp index 9b8ef08f6..12d676d3e 100755 --- a/ba/ba6100.cpp +++ b/ba/ba6100.cpp @@ -12,22 +12,23 @@ TRectype& TAnaprint_app::look_com(const char* cod) -{ - _comuni->curr().zero(); - if (*cod) +{ + TRectype& com = _comuni->curr(); + com.zero(); + if (cod && *cod) { - _comuni->curr().put("COM",cod); - _comuni->read(); - if (_comuni->bad()) - _comuni->curr().zero(); + com.put("COM",cod); + if (_comuni->read() != NOERR) + com.zero(); } - return _comuni->curr(); + return com; } const char* TAnaprint_app::look_tab(const char* tabname, const char* cod, const char* fld) { - if (*cod == 0) return ""; + if (cod == NULL || *cod == 0) + return ""; TTable tab(tabname); tab.curr().zero(); tab.curr().put("CODTAB",cod); @@ -44,8 +45,7 @@ void TAnaprint_app::process_link(int id, const char* txt) { TString80 ss = "1|"; ss << txt; TMessage fs(cmd2name("ba4","-1"), MSG_LN, ss); - TMailbox m; - m.send(fs); + fs.send(); TExternal_app ba4(_pr_what == anafis ? "ba4 -1 F" : "ba4 -1 G"); if (ba4.run()) beep(); } diff --git a/ba/ba6101.cpp b/ba/ba6101.cpp index 58e5140f1..41110958e 100755 --- a/ba/ba6101.cpp +++ b/ba/ba6101.cpp @@ -14,22 +14,22 @@ void TAnaprint_app::set_scheda_anagiu() TString zio = current_cursor()->curr(LF_ANAG).get("RAGSOC"); _bk_ana = set_bookmark(zio); - set_row(1,"SCHEDA SOCIETA'"); - set_row(2,""); - set_row(3,"@bCodice@r@15g@u@pn@25g@r@bRag.Sociale @r@u@50s", + int row = 1; + + set_row(row++,"SCHEDA SOCIETA'"); + set_row(row++,""); + set_row(row++,"@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", + set_row(row++,"@25g@bEvent. sigla@r@40g@u@20s", FLD(LF_ANAGGIU,"SIGLA")); - set_row(5,"Oggetto soc.@15g@60s", + set_row(row++,"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 N. @s", + set_row(row++,"Codice Fiscale@20g@16s@46gPartita IVA @12s", + FLD(LF_ANAG,"COFI"), FLD(LF_ANAG,"PAIV")); + set_row(row++,"Riferimento@15g@20s", FLD(LF_ANAGGIU,"PERRIF")); + set_row(row++,""); + set_row(row++,"Sede legale@20gIndirizzo @35s N. @s", FLD(LF_ANAG,"INDRES"), FLD(LF_ANAG,"CIVRES")); @@ -39,17 +39,15 @@ void TAnaprint_app::set_scheda_anagiu() 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(row++,"@20gComune %s %-24s@58gProv. %2s@68gCAP %5s", + (const char*)com, (const char*)a, (const char*)c, (const char*)b); - set_row(11,"@20gTelefono @u@10s@r/@u@30s@r", + set_row(row++,"@20gTelefono @u@10s@r/@u@30s@r", FLD(LF_ANAG,"PTELRF"), FLD(LF_ANAG,"TELRF")); - set_row(12,""); + set_row(row++,""); - set_row(13,"Domicilio fiscale@20gIndirizzo @35s N. @s", + set_row(row++,"Domicilio fiscale@20gIndirizzo @35s N. @s", FLD(LF_ANAG,"INDRF"), FLD(LF_ANAG,"CIVRF")); @@ -58,16 +56,14 @@ void TAnaprint_app::set_scheda_anagiu() 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(row++,"@20gComune %s %-24s@58gProv. %2s@68gCAP %5s", + (const char*)com, (const char*)a, (const char*)c, (const char*)b); - set_row(15,""); - set_row(16,"Corrispondenza@20gIndirizzo @35s N. @s @35s", + set_row(row++,""); + set_row(row++,"Corrispondenza@20gIndirizzo @35s N. @s @35s", FLD(LF_ANAG,"INDCORR"), FLD(LF_ANAG,"CIVCORR"), - FLD(LF_ANAG, "LOCCORR")); + FLD(LF_ANAG,"LOCCORR")); com = current_cursor()->curr(LF_ANAG).get("COMCORR"); cc = look_com(com); @@ -75,46 +71,52 @@ void TAnaprint_app::set_scheda_anagiu() 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); + set_row(row++,"@20gComune %s %-24s@58gProv. %2s@68gCAP %5s", + (const char*)com, (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", + set_row(row++,"@20gStato %s",(const char*)a); + set_row(row++,""); + set_row(row++,"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", + set_row(row++,"Telefax@20g@u@10s@r/@u@30s@r", + FLD(LF_ANAG,"PFAXRF"), FLD(LF_ANAG,"FAXRF")); + set_row(row++,"Posta elettronica@20g@s", FLD(LF_ANAG,"MAIL")); + + set_row(row++,""); + set_row(row++,"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); + com = look_tab("%UID",get_field(LF_ANAG, "UFFIIDD"),"S6"); // Comune imposte dirette + c = look_tab("%UID",get_field(LF_ANAG, "UFFIIDD"),"S4"); // c.c. Esattoria + cc = look_com(com); a = cc.get("DENCOM"); b = cc.get("PROVCOM"); - - set_row(24,"@20gComune %-24s@53gProvincia %2s", + set_row(row++,"@20gComune %s %-24s@58gProv. %s", + (const char*)com, (const char*)a, (const char*)b); + + set_row(row++,"Ufficio IVA@20gNumero @pn", + FLD(LF_ANAG,"UFFIVA","@@@")); + com = look_tab("%UIV",get_field(LF_ANAG, "UFFIVA"),"S6"); + cc = look_com(com); + a = cc.get("DENCOM"); + b = cc.get("PROVCOM"); + set_row(row++,"@20gComune %s %-24s@58gProv. %s", + (const char*)com, (const char*)a, (const char*)b); + + set_row(row++,"Esattoria@20gComunale @02s Provinciale @03s C.C. %s", + FLD(LF_ANAG,"CODCONTR",1,2), FLD(LF_ANAG,"CODCONTR",3,5), (const char*)c); + + set_row(row++,"@20gComune %-24s@58gProv. %s", (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,""); + set_row(row++,"@20gCodice contribuente @pn", + FLD(LF_ANAG,"CODCONTR", "@@ @@@ @@@@@@@@ @@")); + set_row(row++,""); //Qui la stampa dei dati conto fiscale TString16 tipo_stampa; @@ -122,9 +124,9 @@ void TAnaprint_app::set_scheda_anagiu() if (tipo == 0) tipo_stampa = "Delega"; else if (tipo == 1) tipo_stampa = "Bollettino"; else tipo_stampa = "Distinta"; - set_row(32,"Dati conto fiscale @20gTitolare conto fiscale @54g@f @60gTipo stampa %s", + set_row(row++,"Dati conto fiscale @20gTitolare conto fiscale @54g@f @60gTipo stampa %s", FLD(LF_ANAG,"TITCF"), (const char*) tipo_stampa); - set_row(33,"@20gCodice ABI @pn @60gCAB @pn", + set_row(row++,"@20gCodice ABI @pn @60gCAB @pn", FLD(LF_ANAG,"CODABI","@@@@@"), FLD(LF_ANAG,"CODCAB","@@@@@")); tipo_stampa = current_cursor()->curr(LF_ANAG).get("UFFCONC"); if (tipo_stampa.empty()) @@ -139,71 +141,74 @@ void TAnaprint_app::set_scheda_anagiu() tipo_stampa = cc.get("UFFCONC"); } } - set_row(34,"@20gConto fiscale %s @s", + set_row(row++,"@20gConto fiscale %s @s", (const char*)tipo_stampa, FLD(LF_ANAG,"COFI")); - + set_row(row++,""); // dati atto costitutivo etc - set_row(35,"Dati atto costitutivo e statuto"); set_row(36,""); - set_row(37,"Estremi@20g@60s", FLD(LF_ANAGGIU,"ESTROMOL")); - set_row(38,"Omologa@25g@ld@41gData iscrizione@70g@ld", + set_row(row++,"Dati atto costitutivo e statuto"); + set_row(row++,"Estremi@20g@60s", FLD(LF_ANAGGIU,"ESTROMOL")); + set_row(row++,"Omologa@25g@ld@41gData iscrizione@70g@ld", FLD(LF_ANAGGIU,"DATAOMOL"), FLD(LF_ANAGGIU,"DATAISCRIZ")); - set_row(39,"Data costituzione@25g@ld@41gDurata sino@70g@ld", + set_row(row++,"Data costituzione@25g@ld@41gDurata sino@70g@ld", FLD(LF_ANAGGIU,"DATACOST"), FLD(LF_ANAGGIU,"DATASCAD")); - set_row(40,"Termine appr. bilancio@25g@d@41gApprovazione bilancio@70g@d", + + TString cod = get_field(LF_ANAGGIU,"COMCOST"); + cc = look_com(cod); + set_row(row++,"Luogo costituzione@20g%s %s", (const char*)cod, (const char*)cc.get("DENCOM")); + + set_row(row++,"Termine appr. bilancio@25g@d@41gApprovazione bilancio@70g@d", FLD(LF_ANAGGIU,"DATATAPPBI"), FLD(LF_ANAGGIU,"DATAAPPBIL")); - set_row(41,"Scad.org.amministrativo@25g@d@41gScadenza collegio " + set_row(row++,"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(43,""); - set_row(44,"@5gCapit.sociale@24gCapit.versato@47g" + FLD(LF_ANAGGIU,"DATASORAMM"), FLD(LF_ANAGGIU,"DATASCSIND")); + set_row(row++,""); + set_row(row++,"@5gCapit.sociale@24gCapit.versato@47g" "Fatturato@65gN.azioni@74gValore"); - set_row(45,"@pn @pn @pn @61g@n @pn", + set_row(row++,"@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(46,""); + set_row(row++,""); - set_row(47,"Dati Statistici@20gNon residente@61g@f", + set_row(row++,"Dati Statistici@20gNon residente@61g@f", FLD(LF_ANAG,"SOGGNRES")); - set_row(48,"@20gEventi naturali eccezionali@61g@s", + set_row(row++,"@20gEventi naturali eccezionali@61g@s", FLD(LF_ANAG,"EVECC")); - set_row(49,"@20gResidente in zone terremotate@61g@f", + set_row(row++,"@20gResidente in zone terremotate@61g@f", FLD(LF_ANAG,"RESZTERR")); // *TBI* traduzione natura giuridica - set_row(50,"@20gNatura giuridica@61g@s", + set_row(row++,"@20gNatura giuridica@61g@s", FLD(LF_ANAGGIU,"NATGIU")); - set_row(51,"@20gStato societa'@51g@20,rt", + set_row(row++,"@20gStato societa'@51g@20,rt", FLD(LF_ANAGGIU,"STATOSOC")); - set_row(52,"@20gSituazione societa'@51g@20,rt", + set_row(row++,"@20gSituazione societa'@51g@20,rt", FLD(LF_ANAGGIU,"SITSOC")); - - set_row(53,""); + set_row(row++,""); a = look_tab("%STT",current_cursor()->curr(LF_ANAG).get("CODSTAT1"),"S0"); - set_row(54,"@20gSigla stat.1 @7s %-50s", + set_row(row++,"@20gSigla stat.1 @7s %-50s", FLD(LF_ANAG,"CODSTAT1"), (const char*)a); a = look_tab("%STT",current_cursor()->curr(LF_ANAG).get("CODSTAT2"),"S0"); - set_row(55,"@20gSigla stat.2 @7s %-50s", + set_row(row++,"@20gSigla stat.2 @7s %-50s", FLD(LF_ANAG,"CODSTAT2"), (const char*)a); a = look_tab("%STT",current_cursor()->curr(LF_ANAG).get("CODSTAT3"),"S0"); - set_row(56,"@20gSigla stat.3 @7s %-50s", + set_row(row++,"@20gSigla stat.3 @7s %-50s", FLD(LF_ANAG,"CODSTAT3"), (const char*)a); // NOTE - set_row(57,""); - set_row(58,"Note"); - set_row(59,"@6g@70s",FLD(LF_ANAGGIU,"NOTE1")); - set_row(60,"@6g@70s",FLD(LF_ANAGGIU,"NOTE2")); - set_row(61,"@6g@70s",FLD(LF_ANAGGIU,"NOTE3")); - set_row(62,"@6g@70s",FLD(LF_ANAGGIU,"NOTE4")); - set_row(63,"@6g@70s",FLD(LF_ANAGGIU,"NOTE5")); + set_row(row++,"Note"); + set_row(row++,"@6g@70s",FLD(LF_ANAGGIU,"NOTE1")); + set_row(row++,"@6g@70s",FLD(LF_ANAGGIU,"NOTE2")); + set_row(row++,"@6g@70s",FLD(LF_ANAGGIU,"NOTE3")); + set_row(row++,"@6g@70s",FLD(LF_ANAGGIU,"NOTE4")); + set_row(row++,"@6g@70s",FLD(LF_ANAGGIU,"NOTE5")); + row++; + set_row(row++,"Aggiornato il@20g@s", FLD(LF_ANAG, "DATAAGG")); const int l = printer().rows(); for (int i = 64; i <= l; i++) @@ -215,47 +220,52 @@ void TAnaprint_app::set_scheda_anafis() // always at top level TString zio = current_cursor()->curr(LF_ANAG).get("RAGSOC"); _bk_ana = set_bookmark(zio); - - set_row(1,"SCHEDA PERSONA FISICA"); - set_row(2,""); - set_row(3,"@bCodice @r@u@pn@20g@r@bCognome @r@u@S", + + int row = 1; + set_row(row++,"SCHEDA PERSONA FISICA"); + set_row(row++,""); + set_row(row++,"@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", + set_row(row++,"@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 N. @s", - FLD(LF_ANAG,"INDRES"), - FLD(LF_ANAG,"CIVRES")); + set_row(row++,""); + set_row(row++,"Codice Fiscale@20g@s@46gPartita IVA @s", + FLD(LF_ANAG,"COFI"), FLD(LF_ANAG,"PAIV")); + set_row(row++,"Cod. Fisc. estero@20g@s", FLD(LF_ANAG,"COFIEST")); + set_row(row++,"Data di nascita@20g@ld@32g@t@46gNazionalita' @s", + FLD(LF_ANAGFIS,"DATANASC"), FLD(LF_ANAGFIS,"SESSO"), FLD(LF_ANAGFIS,"NAZION")); - TString com = current_cursor()->curr(LF_ANAG).get("COMRES"); + TString com = get_field(LF_ANAGFIS, "COMNASC"); TRectype& cc = look_com(com); TString a = cc.get("DENCOM"); - TString b = cc.get("CAPCOM"); + TString b; // 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(row++,"@20gComune %s %s@58gProv. %s", + (const char*)com, (const char*)a, (const char*)c); - 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 N. @s", - FLD(LF_ANAG,"INDRF"), - FLD(LF_ANAG,"CIVRF")); + row++; + set_row(row++,"Residenza@20gIndirizzo @s N. @s", + FLD(LF_ANAG,"INDRES"), FLD(LF_ANAG,"CIVRES")); + + com = current_cursor()->curr(LF_ANAG).get("COMRES"); + cc = look_com(com); + a = cc.get("DENCOM"); + b = cc.get("CAPCOM"); + c = cc.get("PROVCOM"); + + set_row(row++,"@20gComune %s %s@58gProv. %s@68gCAP %s", + (const char*)com, (const char*)a, (const char*)c, (const char*)b); + + set_row(row++,"@20gTelefono @u@s@r/@u@s@r", + FLD(LF_ANAG,"PTELRF"), FLD(LF_ANAG,"TELRF")); + + set_row(row++,"@20gVariata residenza @f@53gData variazione @s", + FLD(LF_ANAG,"VARSLORES"), FLD(LF_ANAG,"DVARSLORES")); + + row++; + set_row(row++,"Domicilio fiscale@20gIndirizzo @s N. @s", + FLD(LF_ANAG,"INDRF"), FLD(LF_ANAG,"CIVRF")); com = current_cursor()->curr(LF_ANAG).get("COMRF"); cc = look_com(com); @@ -263,45 +273,47 @@ void TAnaprint_app::set_scheda_anafis() 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 N. @s @s", - FLD(LF_ANAG,"INDCORR"), - FLD(LF_ANAG,"CIVCORR"), - FLD(LF_ANAG, "LOCCORR")); + set_row(row++,"@20gComune %s %s@58gProv. %s@68gCAP %s", + (const char*)com, (const char*)a, (const char*)c, (const char*)b); + TString flag; + const int partic = atoi(get_field(LF_ANAGFIS, "CPARTRF")); + switch(partic) + { + case 2:flag = "Residente all'estero"; break; + case 3:flag = "Provvedimenti amministrativi"; break; + case 4:flag = "Variata da meno di 60 giorni"; break; + default:flag = "Nessuno"; break; + }; + set_row(row++,"@20gCasi particolari: %s", (const char*)flag); + set_row(row++,"@20gDomicilio fiscale diverso da sede legale @f", + FLD(LF_ANAG,"RFDIVERSA")); + + set_row(row++, ""); + set_row(row++,"Corrispondenza@20gIndirizzo @s N. @s @s", + FLD(LF_ANAG,"INDCORR"), FLD(LF_ANAG,"CIVCORR"), FLD(LF_ANAG, "LOCCORR")); 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 - ); + set_row(row++,"@20gComune %s %s@58gProv. %s@68gCAP %s", + (const char*)com, (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", + a = com.empty() ? "Italia" : look_tab("%STA",com,"S0"); + set_row(row++,"@20gStato %s",(const char*)a); + + row++; + set_row(row++,"Telex@20g@u@s@r/@u@s@r", + FLD(LF_ANAG,"PTLEXRF"), FLD(LF_ANAG,"TLEXRFX")); + set_row(row++,"Telefax@20g@u@s@r/@u@s@r", + FLD(LF_ANAG,"PFAXRF"), FLD(LF_ANAG,"FAXRF")); + set_row(row++,"Posta elettronica@20g@s",FLD(LF_ANAG,"MAIL")); + + set_row(row++,""); + set_row(row++,"Ufficio imposte@20gNumero @pn", FLD(LF_ANAG,"UFFIIDD","@@@")); com = current_cursor()->curr(LF_ANAG).get("UFFIIDD"); @@ -311,17 +323,15 @@ void TAnaprint_app::set_scheda_anafis() 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", + set_row(row++,"@20gComune %s@58gProv. %s", + (const char*)a, (const char*)b); + set_row(row++,""); + set_row(row++,"Esattoria@20gC/C n. %s",(const char*)c); + set_row(row++,"@20gComune %s@58gProv. %s", + (const char*)a, (const char*)b); + set_row(row++,"@20gCodice contribuente @s", FLD(LF_ANAG,"CODCONTR")); - set_row(29,""); + set_row(row++,""); // cerca coniuge com = current_cursor()->curr(LF_ANAGFIS).get("CODCONIUGE"); @@ -329,36 +339,38 @@ void TAnaprint_app::set_scheda_anafis() TRecnotype last = af.recno(); int k = af.getkey(); - if (!com.empty()) + if (com.not_empty()) { af.curr().zero(); af.setkey(1); - af.put("CODANAGR",com); af.put("TIPOA","F"); + af.put("CODANAGR",com); af.read(); } a = af.get("RAGSOC"); - if (!com.empty()) + if (com.not_empty()) { af.setkey(k); af.readat(last); - b = a.sub(30); a = a.left(20); + b = a.sub(30); a.cut(30); } - else { a = ""; b = ""; } + else + a = b = ""; - set_row(30,"Coniuge @pn@20gCognome %s", + set_row(row++,"Coniuge @pn@20gCognome %s", FLD(LF_ANAGFIS,"CODCONIUGE","@@@@@"), (const char*)a); - set_row(31,"@20gNome %s", (const char*)b); - + set_row(row++,"@20gNome %s", (const char*)b); + + set_row(row++,""); TString16 tipo_stampa; const int tipo = current_cursor()->curr(LF_ANAG).get_int("TIPOSTDEL"); if (tipo == 0) tipo_stampa = "Delega"; else if (tipo == 1) tipo_stampa = "Bollettino"; else tipo_stampa = "Distinta"; - set_row(33,"Dati conto fiscale @20gTitolare conto fiscale @54g@f @60gTipo stampa %s", + set_row(row++,"Dati conto fiscale @20gTitolare conto fiscale @54g@f @60gTipo stampa %s", FLD(LF_ANAG,"TITCF"), (const char*) tipo_stampa); - set_row(34,"@20gCodice ABI @pn @60gCAB @pn", + set_row(row++,"@20gCodice ABI @pn @60gCAB @pn", FLD(LF_ANAG,"CODABI","@@@@@"), FLD(LF_ANAG,"CODCAB","@@@@@")); tipo_stampa = current_cursor()->curr(LF_ANAG).get("UFFCONC"); if (tipo_stampa.empty()) @@ -373,35 +385,38 @@ void TAnaprint_app::set_scheda_anafis() tipo_stampa = cc.get("UFFCONC"); } } - set_row(35,"@20gConto fiscale %s @s", + set_row(row++,"@20gConto fiscale %s @s", (const char*)tipo_stampa, FLD(LF_ANAG,"COFI")); - set_row(37,"Dati Statistici@20gNon residente@53g@f", + set_row(row++,""); + set_row(row++,"Dati Statistici@20gNon residente@53g@f", FLD(LF_ANAG,"SOGGNRES")); - set_row(38,"@20gEventi naturali eccezionali@53g@s", + set_row(row++,"@20gEventi naturali eccezionali@53g@s", FLD(LF_ANAG,"EVECC")); - set_row(39,"@20gResidente in zone terremotate@53g@f", + set_row(row++,"@20gResidente in zone terremotate@53g@f", FLD(LF_ANAG,"RESZTERR")); - set_row(40,"@20gStato civile@53g@t", + set_row(row++,"@20gStato civile@53g@t", FLD(LF_ANAGFIS,"STATCIV")); - set_row(41,"@20gData variazione stato civile@53g@D", + set_row(row++,"@20gData variazione stato civile@53g@D", FLD(LF_ANAGFIS,"DVARSCIV")); - set_row(42,"@20gTitolo di studio@53g@t", + set_row(row++,"@20gTitolo di studio@53g@t", FLD(LF_ANAGFIS,"TITSTU")); - // set_row(37,"@20gProvincia lavoro dipendente@61g@s"); - set_row(43,""); set_row(44,""); set_row(45,""); set_row(46,""); + row ++; a = look_tab("%STT", current_cursor()->curr(LF_ANAG).get("CODSTAT1"),"S0"); - set_row(47,"@20gSigla stat.1 @7s %s", + set_row(row++,"@20gSigla stat.1 @7s %s", FLD(LF_ANAG,"CODSTAT1"), (const char*)a); a = look_tab("%STT",current_cursor()->curr(LF_ANAG).get("CODSTAT2"),"S0"); - set_row(48,"@20gSigla stat.2 @7s %s", + set_row(row++,"@20gSigla stat.2 @7s %s", FLD(LF_ANAG,"CODSTAT2"), (const char*)a); a = look_tab("%STT",current_cursor()->curr(LF_ANAG).get("CODSTAT3"),"S0"); - set_row(49,"@20gSigla stat.3 @7s %s", + set_row(row++,"@20gSigla stat.3 @7s %s", FLD(LF_ANAG,"CODSTAT3"), (const char*)a); - + + set_row(row++,""); + set_row(row++,"Aggiornato il@20g@s", FLD(LF_ANAG, "DATAAGG")); + const int l = printer().rows(); for (int i = 50; i <= l; i++) set_row(i, ""); @@ -469,19 +484,31 @@ void TAnaprint_app::set_scheda_ditta() set_row(14,"@20gNumero unita' locali @n@54gNum.enasarco @s", FLD(LF_NDITTE,"NULC"), FLD(LF_NDITTE,"NENASARCO")); - set_row(15,""); - /* TBI: banca di appoggio */ - set_row(16,"Stato@20g@t",FLD(LF_NDITTE,"STATOSOC")); - set_row(17,""); set_row(18,""); + set_row(15,"Banca di appoggio"); + TString16 abicab = get_field(LF_NDITTE, "ABIBAN"); + if (abicab.not_empty() && abicab != "00000") + { + set_row(15,"@20gABI %s@40g%s", (const char*)abicab, look_tab("%BAN", abicab)); + const TString16 cab = get_field(LF_NDITTE, "CABBAN"); + if (cab.not_empty() && cab != "00000") + { + abicab << cab; + set_row(16,"@20gCAB %s@40g%s", + (const char*)cab, look_tab("%BAN", abicab)); + } + } + + set_row(17,"Stato@20g@t",FLD(LF_NDITTE,"STATOSOC")); + set_row(18,""); } void TAnaprint_app::set_scheda_attiv() { - TString dio(current_cursor()->curr(LF_ATTIV).get("DESCR")); - _bk_attiv = set_bookmark(dio, _bk_ditta); + const TString descr(current_cursor()->curr(LF_ATTIV).get("DESCR")); + _bk_attiv = set_bookmark(descr, _bk_ditta); set_row(1,"@bATTIVITA'@r @s@20g@bDescrizione:@r %s", - FLD(LF_ATTIV,"CODATT","@@@@@"), (const char*)dio); + FLD(LF_ATTIV,"CODATT","@@@@@"), (const char*)descr); set_row(2,"@20gRegime agricolo@67g@f", FLD(LF_ATTIV,"REGAGR")); @@ -491,8 +518,8 @@ void TAnaprint_app::set_scheda_attiv() 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(6,"@20gData inizio attivita'@60g@D", + FLD(LF_ATTIV,"DATAISCIVA")); set_row(7,"@20gData variazione attivita'@60g@D", FLD(LF_ATTIV,"DATAVARIVA")); set_row(8,"@20gData cessazione attivita'@60g@D", @@ -534,7 +561,7 @@ void TAnaprint_app::set_scheda_attiv() (const char*)b); set_row(11,"@20gIndirizzo %s N. %s", (const char*)com, (const char*)z); a = exists ? cm.get("DENCOM") : ""; b = exists ? cm.get("PROVCOM") : ""; c = exists ? cm.get("CAPCOM") : ""; - set_row(12,"@20gComune %s@53gProvincia %s@68gC.a.p. %s", + set_row(12,"@20gComune %s@58gProv. %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")); @@ -543,7 +570,7 @@ void TAnaprint_app::set_scheda_attiv() FLD(LF_ATTIV,"CIVCS")); 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", + set_row(15,"@20gComune %s@58gProv. %s@68gC.a.p. %s", (const char*)a, (const char*)b, (const char*)c); set_row(16,"@20gTelefono @s/@s", FLD(LF_ATTIV,"PTELCS"), FLD(LF_ATTIV,"TELCS")); @@ -571,7 +598,7 @@ void TAnaprint_app::set_scheda_unloc() 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" + set_row(3,"@20g@bComune@r@4j@u%s@r@58g@bProv.@r @u%s@r@68g@b" "C.a.p.@r @u%s", (const char*)a, (const char*)b, (const char*)c); set_row(4,""); @@ -579,9 +606,7 @@ void TAnaprint_app::set_scheda_unloc() 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(6,"@20gComune@30g%s", (const char*)a); set_row(7,"@20gData iscrizione @D@48gData ultima variazione @D", FLD(LF_UNLOC,"DATAICCIAA"), FLD(LF_UNLOC,"DATAVCCIAA")); @@ -597,16 +622,24 @@ void TAnaprint_app::set_scheda_unloc() 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", + set_row(13, "Numero Registro Imprese@30g@pn", + FLD(LF_UNLOC, "REGIMP", "@@ @@@ @@@@ @@@@@@@@@ @")); + + zio = get_field(LF_UNLOC,"COMTRIB"); + cc = look_com(zio); + a = cc.get("DENCOM"); + b = cc.get("PROVCOM"); + c = get_field(LF_UNLOC, "CAPTRIB"); + if (c.empty()) c = cc.get("CAPCOM"); + set_row(14,"Comune tribunale@20g%s %s@58gProv. %s@68gC.a.p. %s", + (const char*)zio, (const char*)a, (const char*)b, (const char*)c); + + set_row(15,""); + set_row(16,"Locali destinati"); + set_row(17,"all'attivita'@20gMq.Locali @pn Di cui a magazzino @pn", FLD(LF_UNLOC,"MQULC","@@@@@"), FLD(LF_UNLOC,"MQULCMAG","@@@@@")); - set_row(17,""); set_row(18,""); + set_row(18,""); } void TAnaprint_app::set_scheda_socio() @@ -677,21 +710,14 @@ void TAnaprint_app::set_scheda_socio() b1 = anaf->get_date("DATANASC").string(full); b2 = anaf->get("SESSO"); - /* b3 = anaf->get("STATONASC").empty() ? - "Italiana" : anaf->get("STATONASC"); - */ - // set_row(4,"Nascita@20gData@30g%S@42gSesso %S@53gCittadinanza %S", set_row(5,"Nascita@20gData@30g%S@42gSesso %S", - (const char*)b1, - (const char*)b2); - // (const char*)b3); + (const char*)b1, (const char*)b2); b1 = com.get("DENCOM"); b2 = com.get("PROVCOM"); - set_row(6,"@20gComune@30g%S@53gProvincia %S", - (const char*)b1, - (const char*)b2); + set_row(6,"@20gComune@30g%S@58gProv. %S", + (const char*)b1, (const char*)b2); rw = 7; codconiuge = "Cod.coniuge "; @@ -722,7 +748,7 @@ void TAnaprint_app::set_scheda_socio() b3 = com.get("CAPCOM"); set_row(rw+1,"Residenza@20gIndirizzo %S", (const char*)indres); - set_row(rw+2,"@20gComune %S@53gProvincia %S@68gC.a.p. %S", + set_row(rw+2,"@20gComune %S@58gProv. %S@68gC.a.p. %S", (const char*)b1, (const char*)b2, (const char*)b3);