diff --git a/ba/ba6101.cpp b/ba/ba6101.cpp index b8e62c7de..fd661f6fc 100755 --- a/ba/ba6101.cpp +++ b/ba/ba6101.cpp @@ -9,7 +9,11 @@ static const char sep[] = "-----------------------------------------------------------------" ; void TAnaprint_app::set_scheda_anagiu() -{ +{ + // always at top level + 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", @@ -25,8 +29,10 @@ void TAnaprint_app::set_scheda_anagiu() set_row(7,"Riferimento@15g@20s", FLD(LF_ANAGGIU,"PERRIF")); set_row(8,""); - set_row(9,"Sede legale@20gIndirizzo @35s", - FLD(LF_ANAG,"INDRES")); + set_row(9,"Sede legale@20gIndirizzo @35s N. @s", + FLD(LF_ANAG,"INDRES"), + FLD(LF_ANAG,"CIVRES")); + TString com = current_cursor()->curr(LF_ANAG).get("COMRES"); TRectype& cc = look_com(com); @@ -43,8 +49,10 @@ void TAnaprint_app::set_scheda_anagiu() FLD(LF_ANAG,"TELRF")); set_row(12,""); - set_row(13,"Domicilio fiscale@20gIndirizzo @35s", - FLD(LF_ANAG,"INDRF")); + set_row(13,"Domicilio fiscale@20gIndirizzo @35s N. @s", + FLD(LF_ANAG,"INDRF"), + FLD(LF_ANAG,"CIVRF")); + com = current_cursor()->curr(LF_ANAG).get("COMRF"); cc = look_com(com); a = cc.get("DENCOM"); @@ -56,8 +64,10 @@ void TAnaprint_app::set_scheda_anagiu() (const char*)b); set_row(15,""); - set_row(16,"Corrispondenza@20gIndirizzo @35s @35s", - FLD(LF_ANAG,"INDCORR"), FLD(LF_ANAG, "LOCCORR")); + set_row(16,"Corrispondenza@20gIndirizzo @35s N. @s @35s", + FLD(LF_ANAG,"INDCORR"), + FLD(LF_ANAG,"CIVCORR"), + FLD(LF_ANAG, "LOCCORR")); com = current_cursor()->curr(LF_ANAG).get("COMCORR"); cc = look_com(com); @@ -174,6 +184,10 @@ void TAnaprint_app::set_scheda_anagiu() 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", @@ -190,8 +204,9 @@ void TAnaprint_app::set_scheda_anafis() FLD(LF_ANAGFIS,"SESSO"), FLD(LF_ANAGFIS,"NAZION")); set_row(8,""); - set_row(9,"Residenza@20gIndirizzo @s", - FLD(LF_ANAG,"INDRES")); + set_row(9,"Residenza@20gIndirizzo @s N. @s", + FLD(LF_ANAG,"INDRES"), + FLD(LF_ANAG,"CIVRES")); TString com = current_cursor()->curr(LF_ANAG).get("COMRES"); TRectype& cc = look_com(com); @@ -208,9 +223,11 @@ void TAnaprint_app::set_scheda_anafis() 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")); + set_row(13,"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); @@ -225,8 +242,10 @@ void TAnaprint_app::set_scheda_anafis() ); set_row(15,""); - set_row(16,"Corrispondenza@20gIndirizzo @s @s", - FLD(LF_ANAG,"INDCORR"), FLD(LF_ANAG, "LOCCORR")); + set_row(16,"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); @@ -337,6 +356,10 @@ void TAnaprint_app::set_scheda_anafis() void TAnaprint_app::set_scheda_ditta() { + // always at top level + TString zio = current_cursor()->curr(LF_NDITTE).get("RAGSOC"); + _bk_ditta = set_bookmark(zio, _pr_what == nditte ? -1 : _bk_ana); + set_row(1,"@bSCHEDA DITTA @r@u@pn@r@20g@bDenominaz. sociale @r@u@s", FLD(LF_NDITTE,"CODDITTA","@@@@@"), FLD(LF_NDITTE,"RAGSOC")); @@ -384,6 +407,7 @@ void TAnaprint_app::set_scheda_attiv() { TString dio = look_tab("%AIS",current_cursor()-> curr(LF_ATTIV).get("CODATT"),"S0"); + _bk_attiv = set_bookmark(dio, _bk_ditta); set_row(1,"@bATTIVITA'@r @pn@20g@bDescrizione:@r %s", FLD(LF_ATTIV,"CODATT","@@@@@"), (const char*)dio); @@ -409,18 +433,22 @@ void TAnaprint_app::set_scheda_attiv() TString a = get_field(LF_ATTIV,"TIPOADS"); TLocalisamfile& af = current_cursor()->file(LF_ANAG); TRecnotype last = af.recno(); - af.curr().zero(); + af.zero(); int k = af.getkey(); af.setkey(1); - af.curr().put("CODANAGR",com); - af.curr().put("TIPOA",a); + af.put("CODANAGR",com); + af.put("TIPOA",a); + af.read(); + + TString b = af.get("RAGSOC"); + com = af.get("INDRF"); + TString z = af.get("CIVRF"); + if (com.empty()) com = af.get("INDRES"); + TString c = af.get("COMRF"); + if (c.empty) c = af.get("COMRES"); + if (z.empty) z = af.get("CIVRES"); + TRectype& cm = look_com(c); - 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); @@ -428,20 +456,21 @@ void TAnaprint_app::set_scheda_attiv() FLD(LF_ATTIV,"CODANGRDS"), c == 'F' ? "p.f." : "p.g.", (const char*)b); - set_row(11,"@20gIndirizzo %s", (const char*)c); + set_row(11,"@20gIndirizzo %s N. %s", (const char*)com, (const char*)z); 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", + set_row(14,"Luogo@20gIndirizzo @s N. @s", FLD(LF_ATTIV,"INDCS"), - FLD(LF_ATTIV,"CAPCS")); + 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", (const char*)a, (const char*)b, (const char*)c); - set_row(16,"@20gTelefono "); + + set_row(16,"@20gTelefono @s/@s", FLD(LF_ATTIV,"PTELCS"), FLD(LF_ATTIV,"TELCS")); set_row(17,""); set_row(18,""); } @@ -452,6 +481,11 @@ void TAnaprint_app::set_scheda_registro() void TAnaprint_app::set_scheda_unloc() { + // always at top level + TString zio = current_cursor()->curr(LF_UNLOC).get("CODULC"); + zio.insert("U.L. ",0); + _bk_unloc = set_bookmark(zio, _bk_attiv); + 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", @@ -513,7 +547,12 @@ void TAnaprint_app::set_scheda_socio() ana.put("TIPOA",soc.get("TIPOASOC")); ana.put("CODANAGR",soc.get("CODANAGRSO")); ana.read(); + + // always at top level + TString zio = ana.get("CODANAGR"); zio.insert("Socio ", 0); + _bk_socio = set_bookmark(zio, _bk_ditta); + TString codconiuge = ""; TLocalisamfile* anaf; @@ -548,13 +587,14 @@ void TAnaprint_app::set_scheda_socio() b1 = anaf->get_date("DATANASC").string(full); b2 = anaf->get("SESSO"); - b3 = anaf->get("STATONASC").empty() ? +/* b3 = anaf->get("STATONASC").empty() ? "Italiana" : anaf->get("STATONASC"); - - set_row(4,"Nascita@20gData@30g%S@42gSesso %S@53gCittadinanza %S", +*/ +// set_row(4,"Nascita@20gData@30g%S@42gSesso %S@53gCittadinanza %S", + set_row(4,"Nascita@20gData@30g%S@42gSesso %S", (const char*)b1, - (const char*)b2, - (const char*)b3); + (const char*)b2); +// (const char*)b3); b1 = com.get("DENCOM"); b2 = com.get("PROVCOM"); @@ -718,9 +758,9 @@ void TAnaprint_app::set_schede() switch(_pr_what) { case anafis: set_scheda_anafis(); break; - case anagiu: set_scheda_anagiu(); break; - case nditte: set_scheda_ditta(); break; - } + case anagiu: set_scheda_anagiu(); break; + case nditte: set_scheda_ditta(); break; + } }