// ************************************************************************ // 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 = ""; if (soc->get("TIPOASOC") == "F") { TLocalisamfile* anaf; 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%s #t #t",_ind_col, *((const char *)get_field(LF_ANAGFIS,"SESSO")) == 'M' ? "Sig." : "Sig.ra")), &_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); } }