Files correlati : Ricompilazione Demo : [ ] Commento :correzioni pro compilazione nuova 2.2 git-svn-id: svn://10.65.10.50/trunk@13388 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			1015 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			1015 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| // ************************************************************************
 | |
| // Stampa anagrafiche (ba6 -0)
 | |
| // Settaggio stampe
 | |
| // ************************************************************************
 | |
| 
 | |
| #include "ba6100.h"
 | |
| 
 | |
| void TAnaprint_app::set_scheda_anagiu()
 | |
| {                
 | |
|   // always at top level    
 | |
|   TString zio = current_cursor()->curr(LF_ANAG).get("RAGSOC");
 | |
|   _bk_ana = set_bookmark(zio);
 | |
|   
 | |
|   int row = 1;
 | |
|   
 | |
|   set_row(row++,TR("SCHEDA SOCIETA'"));
 | |
|   set_row(row++,"");
 | |
|   set_row(row++,FR("@bCodice@r@15g@u@pn@25g@r@bRag.Sociale @r@u@50s"),
 | |
|           FLD(LF_ANAG,"CODANAGR","@@@@@"),
 | |
|           FLD(LF_ANAG,"RAGSOC"));
 | |
|   set_row(row++,FR("@25g@bEvent. sigla@r@40g@u@20s"),
 | |
|           FLD(LF_ANAGGIU,"SIGLA"));
 | |
|   set_row(row++, FR("Oggetto soc.@15g@60s"),
 | |
|           FLD(LF_ANAGGIU,"OGGSOC"));
 | |
|   set_row(row++, FR("Codice Fiscale@20g@16s@46gPartita IVA @12s"), 
 | |
|           FLD(LF_ANAG,"COFI"), FLD(LF_ANAG,"PAIV"));
 | |
|   set_row(row++,FR("Riferimento@15g@20s"), FLD(LF_ANAGGIU,"PERRIF"));
 | |
|   set_row(row++,"");
 | |
|   set_row(row++, FR("Sede legale@20gIndirizzo @35s N. @s"),
 | |
|           FLD(LF_ANAG,"INDRES"),
 | |
|           FLD(LF_ANAG,"CIVRES"));
 | |
| 
 | |
|   TString com = get_field(LF_ANAG, "COMRES");
 | |
|   TString sta = get_field(LF_ANAG, "STATORES");
 | |
|   const TRectype& cc = look_com(com, sta);
 | |
| 
 | |
|   TString a = cc.get("DENCOM");
 | |
|   TString b = cc.get("CAPCOM");
 | |
|   TString c = cc.get("PROVCOM");
 | |
|   set_row(row++,FR("@20gComune %s %-24s@58gProv. %2s@68gCAP %5s"),
 | |
|           (const char*)com, (const char*)a, (const char*)c, (const char*)b);
 | |
|   a = sta.empty() ? TR("Italia") : look_tab("%STA",sta);
 | |
|   set_row(row++, FR("@20gStato     %s"),(const char*)a);
 | |
| 
 | |
|   set_row(row++, FR("@20gTelefono  @u@10s@r/@u@30s@r"),
 | |
|           FLD(LF_ANAG,"PTELRF"),
 | |
|           FLD(LF_ANAG,"TELRF"));
 | |
|   set_row(row++,"");
 | |
| 
 | |
|   set_row(row++, FR("Domicilio fiscale@20gIndirizzo @35s N. @s"),
 | |
|           FLD(LF_ANAG,"INDRF"),
 | |
|           FLD(LF_ANAG,"CIVRF")); 
 | |
|            
 | |
|   com = current_cursor()->curr(LF_ANAG).get("COMRF");
 | |
|   look_com(com);
 | |
|   a = cc.get("DENCOM");
 | |
|   b = cc.get("CAPCOM");
 | |
|   c = cc.get("PROVCOM");
 | |
|   set_row(row++,FR("@20gComune %s %-24s@58gProv. %2s@68gCAP %5s"),
 | |
|           (const char*)com, (const char*)a, (const char*)c, (const char*)b);
 | |
|   
 | |
|   set_row(row++,"");
 | |
|   set_row(row++, FR("Corrispondenza@20gIndirizzo @35s N. @s @35s"),
 | |
|           FLD(LF_ANAG,"INDCORR"), 
 | |
|           FLD(LF_ANAG,"CIVCORR"),
 | |
|           FLD(LF_ANAG,"LOCCORR"));
 | |
|   
 | |
|   com = get_field(LF_ANAG, "COMCORR");
 | |
|   sta = get_field(LF_ANAG, "STATOCORR");
 | |
|   look_com(com, sta);
 | |
|   a = cc.get("DENCOM");
 | |
|   b = cc.get("CAPCOM");
 | |
|   c = cc.get("PROVCOM");
 | |
|   
 | |
|   set_row(row++, FR("@20gComune %s %-24s@58gProv. %2s@68gCAP %5s"),
 | |
|           (const char*)com, (const char*)a, (const char*)c, (const char*)b);
 | |
|   
 | |
|   a = sta.empty() ? TR("Italia") : look_tab("%STA",sta);
 | |
|   set_row(row++, FR("@20gStato     %s"),(const char*)a);
 | |
| 
 | |
|   set_row(row++,"");
 | |
|   set_row(row++, FR("Telex@20g@u@10s@r/@u@30s@r"),
 | |
|           FLD(LF_ANAG,"PTLEXRF"),
 | |
|           FLD(LF_ANAG,"TLEXRFX"));
 | |
|   set_row(row++, FR("Telefax@20g@u@10s@r/@u@30s@r"),
 | |
|           FLD(LF_ANAG,"PFAXRF"), FLD(LF_ANAG,"FAXRF"));
 | |
|   set_row(row++, FR("Posta elettronica@20g@s"), FLD(LF_ANAG,"MAIL"));
 | |
|   
 | |
|   set_row(row++,"");
 | |
|   set_row(row++, FR("Ufficio imposte@20gNumero   @pn"),
 | |
|           FLD(LF_ANAG,"UFFIIDD","@@@"));
 | |
|   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
 | |
|   look_com(com);
 | |
|   a = cc.get("DENCOM");
 | |
|   b = cc.get("PROVCOM");
 | |
|   set_row(row++, FR("@20gComune %s %-24s@58gProv. %s"),
 | |
|           (const char*)com, (const char*)a, (const char*)b);
 | |
|   
 | |
|   set_row(row++,FR("Ufficio IVA@20gNumero   @pn"),
 | |
|           FLD(LF_ANAG,"UFFIVA","@@@"));
 | |
|   com = look_tab("%UIV",get_field(LF_ANAG, "UFFIVA"),"S6");
 | |
|   look_com(com);
 | |
|   a = cc.get("DENCOM");
 | |
|   b = cc.get("PROVCOM");
 | |
|   set_row(row++, FR("@20gComune %s %-24s@58gProv. %s"),
 | |
|           (const char*)com, (const char*)a, (const char*)b);
 | |
|         
 | |
|   set_row(row++,FR("Esattoria@20gComunale @02s   Provinciale @03s   C.C. %s"),
 | |
|           FLD(LF_ANAG,"CODCONTR",0,2), FLD(LF_ANAG,"CODCONTR",2,5), (const char*)c);
 | |
|   set_row(row++, FR("@20gCodice contribuente  @8s @2s"),
 | |
|           FLD(LF_ANAG,"CODCONTR", 5, 13), FLD(LF_ANAG,"CODCONTR", 13, 15));
 | |
| 
 | |
|   //Qui la stampa dei dati conto fiscale
 | |
|   TString16 tipo_stampa;
 | |
|   const int tipo = current_cursor()->curr(LF_ANAG).get_int("TIPOSTDEL");  
 | |
|   if (tipo == 0) tipo_stampa = TR("Delega");
 | |
|   else if (tipo == 1) tipo_stampa = TR("Bollettino");
 | |
|   else tipo_stampa = TR("Distinta");
 | |
|   set_row(row++,FR("Dati conto fiscale @20gTitolare conto fiscale @54g@f @60gTipo stampa    %s"),
 | |
|           FLD(LF_ANAG,"TITCF"), (const char*) tipo_stampa);
 | |
|           
 | |
|   tipo_stampa = current_cursor()->curr(LF_ANAG).get("UFFCONC");  
 | |
|   if (tipo_stampa.empty()) 
 | |
|   {
 | |
|     TString cod = get_field(LF_ANAG, "COMRF");
 | |
|     TString sta;
 | |
|     if (cod.empty())
 | |
|     {
 | |
|       cod = get_field(LF_ANAG, "COMRES");
 | |
|       sta = get_field(LF_ANAG, "STATORES");
 | |
|     }  
 | |
|     if (cod.not_empty())
 | |
|     {
 | |
|       look_com(cod, sta);
 | |
|       tipo_stampa = cc.get("UFFCONC"); 
 | |
|     }
 | |
|   }
 | |
|   set_row(row++,FR("@20gConto fiscale  %s   @s"),
 | |
|           (const char*)tipo_stampa, FLD(LF_ANAG,"COFI"));
 | |
| 
 | |
|   TString16 abicab = get_field(LF_ANAG, "CODABI");
 | |
|   if (abicab.not_empty() && abicab != "00000")
 | |
|   {
 | |
|     set_row(row++,FR("@20gABI %s@30g%s"), (const char*)abicab, look_tab("%BAN", abicab));
 | |
|     const TString16 cab = get_field(LF_ANAG, "CODCAB");
 | |
|     if (cab.not_empty() && cab != "00000")
 | |
|     {
 | |
|       abicab << cab;
 | |
|       set_row(row++, FR("@20gCAB %s@30g%s"), 
 | |
|               (const char*)cab, look_tab("%BAN", abicab));
 | |
|     }  
 | |
|   }  
 | |
| 
 | |
|   set_row(row++,"");
 | |
|   // dati atto costitutivo etc
 | |
|   set_row(row++, TR("Dati atto costitutivo e statuto"));
 | |
|   set_row(row++, FR("Estremi@20g@60s"), FLD(LF_ANAGGIU,"ESTROMOL"));
 | |
|   set_row(row++, FR("Omologa@25g@ld@41gData iscrizione@70g@ld"),
 | |
|           FLD(LF_ANAGGIU,"DATAOMOL"),
 | |
|           FLD(LF_ANAGGIU,"DATAISCRIZ"));
 | |
|   set_row(row++, FR("Data costituzione@25g@ld@41gDurata sino@70g@ld"),
 | |
|           FLD(LF_ANAGGIU,"DATACOST"),
 | |
|           FLD(LF_ANAGGIU,"DATASCAD"));
 | |
|   
 | |
|   TString cod = get_field(LF_ANAGGIU,"COMCOST");
 | |
|   look_com(cod);
 | |
|   set_row(row++, FR("Luogo costituzione@20g%s %s"), (const char*)cod, (const char*)cc.get("DENCOM"));
 | |
|   
 | |
|   set_row(row++, FR("Termine appr. bilancio@25g@d@41gApprovazione bilancio@70g@d"),
 | |
|           FLD(LF_ANAGGIU,"DATATAPPBI"), FLD(LF_ANAGGIU,"DATAAPPBIL"));
 | |
|   set_row(row++, FR("Scad.org.amministrativo@25g@d@41gScadenza collegio sindacale@70g@d"),
 | |
|           FLD(LF_ANAGGIU,"DATASORAMM"), FLD(LF_ANAGGIU,"DATASCSIND"));
 | |
|   set_row(row++,"");
 | |
|   set_row(row++, FR("@5gCapit.sociale@24gCapit.versato@47gFatturato@65gN.azioni@74gValore"));
 | |
|   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(row++,"");
 | |
| 
 | |
|   set_row(row++, FR("Dati Statistici@20gNon residente@61g@f"),
 | |
|           FLD(LF_ANAG,"SOGGNRES"));
 | |
|   set_row(row++, FR("@20gEventi naturali eccezionali@61g@s"),
 | |
|           FLD(LF_ANAG,"EVECC"));
 | |
|   set_row(row++, FR("@20gResidente in zone terremotate@61g@f"),
 | |
|           FLD(LF_ANAG,"RESZTERR"));
 | |
|   // *TBI* traduzione natura giuridica
 | |
|   set_row(row++, FR("@20gNatura giuridica@61g@s"),
 | |
|           FLD(LF_ANAGGIU,"NATGIU"));
 | |
|   set_row(row++, FR("@20gStato societa'@51g@20,rt"),
 | |
|           FLD(LF_ANAGGIU,"STATOSOC"));
 | |
|   set_row(row++, FR("@20gSituazione societa'@51g@20,rt"),
 | |
|           FLD(LF_ANAGGIU,"SITSOC"));
 | |
|   set_row(row++,"");
 | |
|   a = look_tab("%STT",current_cursor()->curr(LF_ANAG).get("CODSTAT1"),"S0");
 | |
|   set_row(row++, FR("@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(row++, FR("@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(row++, FR("@20gSigla stat.3 @7s %-50s"),
 | |
|           FLD(LF_ANAG,"CODSTAT3"), (const char*)a); 
 | |
| 
 | |
|   // NOTE
 | |
|   set_row(row++, TR("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++, FR("Aggiornato il@20g@s"), FLD(LF_ANAG, "DATAAGG"));
 | |
|   
 | |
|   const int l = printer().rows();
 | |
|   for (int i = 64; i <= l; i++)
 | |
|     set_row(i, "");
 | |
| }
 | |
| 
 | |
| void TAnaprint_app::set_scheda_anafis()
 | |
| {
 | |
|   // always at top level    
 | |
|   TString zio = current_cursor()->curr(LF_ANAG).get("RAGSOC");
 | |
|   _bk_ana = set_bookmark(zio);
 | |
|   
 | |
|   int row = 1;
 | |
|   set_row(row++, TR("SCHEDA PERSONA FISICA"));
 | |
|   set_row(row++,"");
 | |
|   set_row(row++, FR("@bCodice  @r@u@pn@20g@r@bCognome @r@u@S"),
 | |
|           FLD(LF_ANAG,"CODANAGR","@@@@@"),
 | |
|           FLD(LF_ANAG,"RAGSOC",0,29));
 | |
|   set_row(row++, FR("@20g@bNome    @r@u@s"),
 | |
|           FLD(LF_ANAG,"RAGSOC",30,50));
 | |
|   set_row(row++,"");
 | |
|   set_row(row++, FR("Codice Fiscale@20g@s@46gPartita IVA @s"), 
 | |
|           FLD(LF_ANAG,"COFI"), FLD(LF_ANAG,"PAIV"));
 | |
|   set_row(row++, FR("Cod. Fisc. estero@20g@s"), FLD(LF_ANAG,"COFIEST"));
 | |
|   set_row(row++, FR("Data di nascita@20g@ld@32g@t@46gNazionalita' @s"),
 | |
|           FLD(LF_ANAGFIS,"DATANASC"), FLD(LF_ANAGFIS,"SESSO"), FLD(LF_ANAGFIS,"NAZION"));
 | |
| 
 | |
|   TString com = get_field(LF_ANAGFIS, "COMNASC");
 | |
|   const TRectype& cc = look_com(com);
 | |
|   TString a = cc.get("DENCOM");
 | |
|   TString b;  // CAPCOM
 | |
|   TString c = cc.get("PROVCOM");
 | |
|   set_row(row++, FR("@20gComune %s %s@58gProv. %s"),
 | |
|           (const char*)com, (const char*)a, (const char*)c);
 | |
|   
 | |
|   row++;
 | |
|   set_row(row++, FR("Residenza@20gIndirizzo @s N. @s"),
 | |
|           FLD(LF_ANAG,"INDRES"), FLD(LF_ANAG,"CIVRES"));
 | |
| 
 | |
|   com = get_field(LF_ANAG, "COMRES");
 | |
|   TString sta = get_field(LF_ANAG, "STATORES");
 | |
|   look_com(com, sta);
 | |
|   a = cc.get("DENCOM");
 | |
|   b = cc.get("CAPCOM");
 | |
|   c = cc.get("PROVCOM");
 | |
| 
 | |
|   set_row(row++, FR("@20gComune %s %s@58gProv. %s@68gCAP %s"),
 | |
|           (const char*)com, (const char*)a, (const char*)c, (const char*)b);
 | |
|   a = sta.empty() ? TR("Italia") : look_tab("%STA",sta);
 | |
|   set_row(row++, FR("@20gStato     %s"),(const char*)a);
 | |
|   
 | |
|   set_row(row++, FR("@20gTelefono  @u@s@r/@u@s@r"),
 | |
|           FLD(LF_ANAG,"PTELRF"), FLD(LF_ANAG,"TELRF"));
 | |
|   
 | |
|   set_row(row++, FR("@20gVariata residenza  @f@53gData variazione @s"), 
 | |
|           FLD(LF_ANAG,"VARSLORES"), FLD(LF_ANAG,"DVARSLORES"));
 | |
| 
 | |
|   row++;
 | |
|   set_row(row++, FR("Domicilio fiscale@20gIndirizzo @s N. @s"),
 | |
|           FLD(LF_ANAG,"INDRF"), FLD(LF_ANAG,"CIVRF"));
 | |
|   
 | |
|   com = get_field(LF_ANAG, "COMRF");
 | |
|   
 | |
|   look_com(com);
 | |
|   a = cc.get("DENCOM");
 | |
|   b = cc.get("CAPCOM");
 | |
|   c = cc.get("PROVCOM");
 | |
|   
 | |
|   set_row(row++, FR("@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 = TR("Residente all'estero"); break;
 | |
|   case  3:flag = TR("Provvedimenti amministrativi"); break;
 | |
|   case  4:flag = TR("Variata da meno di 60 giorni"); break;
 | |
|   default:flag = TR("Nessuno"); break;
 | |
|   };
 | |
|   set_row(row++, FR("@20gCasi particolari: %s"), (const char*)flag);
 | |
|   set_row(row++, FR("@20gDomicilio fiscale diverso da sede legale       @f"), 
 | |
|           FLD(LF_ANAG,"RFDIVERSA"));
 | |
| 
 | |
|   set_row(row++, "");
 | |
|   set_row(row++, FR("Corrispondenza@20gIndirizzo @s N. @s @s"),
 | |
|           FLD(LF_ANAG,"INDCORR"), FLD(LF_ANAG,"CIVCORR"), FLD(LF_ANAG, "LOCCORR"));
 | |
|   com = get_field(LF_ANAG, "COMCORR");
 | |
|   sta = get_field(LF_ANAG, "STATOCORR");
 | |
|   look_com(com, sta);
 | |
|   a = cc.get("DENCOM");
 | |
|   b = cc.get("CAPCOM");
 | |
|   c = cc.get("PROVCOM");
 | |
|   
 | |
|   set_row(row++, FR("@20gComune %s %s@58gProv. %s@68gCAP %s"),
 | |
|           (const char*)com, (const char*)a, (const char*)c, (const char*)b);
 | |
|   
 | |
|   a = sta.empty() ? TR("Italia") : look_tab("%STA",sta);
 | |
|   set_row(row++, FR("@20gStato     %s"),(const char*)a);
 | |
|   
 | |
|   row++;
 | |
|   set_row(row++, FR("Telex@20g@u@s@r/@u@s@r"),
 | |
|           FLD(LF_ANAG,"PTLEXRF"), FLD(LF_ANAG,"TLEXRFX"));
 | |
|   set_row(row++, FR("Telefax@20g@u@s@r/@u@s@r"),
 | |
|           FLD(LF_ANAG,"PFAXRF"), FLD(LF_ANAG,"FAXRF"));
 | |
|   set_row(row++, FR("Posta elettronica@20g@s"),FLD(LF_ANAG,"MAIL"));        
 | |
|           
 | |
|   set_row(row++,"");
 | |
|   set_row(row++, FR("Ufficio imposte@20gNumero   @pn"),
 | |
|           FLD(LF_ANAG,"UFFIIDD","@@@"));
 | |
|   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
 | |
|   look_com(com);
 | |
|   a = cc.get("DENCOM");
 | |
|   b = cc.get("PROVCOM");
 | |
|   set_row(row++, FR("@20gComune %s %-24s@58gProv. %s"),
 | |
|           (const char*)com, (const char*)a, (const char*)b);
 | |
|   
 | |
|   set_row(row++, FR("Ufficio IVA@20gNumero   @pn"),
 | |
|           FLD(LF_ANAG,"UFFIVA","@@@"));
 | |
|   com = look_tab("%UIV",get_field(LF_ANAG, "UFFIVA"),"S6");
 | |
|   look_com(com);
 | |
|   a = cc.get("DENCOM");
 | |
|   b = cc.get("PROVCOM");
 | |
|   set_row(row++, FR("@20gComune %s %-24s@58gProv. %s"),
 | |
|           (const char*)com, (const char*)a, (const char*)b);
 | |
|         
 | |
|   set_row(row++, FR("Esattoria@20gComunale @02s   Provinciale @03s   C.C. %s"),
 | |
|           FLD(LF_ANAG,"CODCONTR",0,2), FLD(LF_ANAG,"CODCONTR",2,5), (const char*)c);
 | |
|   set_row(row++, FR("@20gCodice contribuente  @8s @2s"),
 | |
|           FLD(LF_ANAG,"CODCONTR", 5, 13), FLD(LF_ANAG,"CODCONTR", 13, 15));
 | |
|   set_row(row++,""); 
 | |
|   
 | |
|   // cerca coniuge
 | |
|   com = get_field(LF_ANAGFIS, "CODCONIUGE");
 | |
|   TLocalisamfile& af = current_cursor()->file(LF_ANAG);
 | |
|   TRecnotype last = af.recno();
 | |
|   int k = af.getkey();
 | |
| 
 | |
|   if (com.not_empty())
 | |
|   {
 | |
|     af.curr().zero();
 | |
|     af.setkey(1);
 | |
|     af.put("TIPOA","F");
 | |
|     af.put("CODANAGR",com);
 | |
|     af.read();
 | |
|   }
 | |
|   a = af.get("RAGSOC");
 | |
|   if (com.not_empty())
 | |
|   {
 | |
|     af.setkey(k);
 | |
|     af.readat(last);
 | |
|     b = a.sub(30); a.cut(30);
 | |
|   }
 | |
|   else 
 | |
|     a = b = "";
 | |
|   
 | |
|   set_row(row++, FR("Coniuge   @pn@20gCognome  %s"),
 | |
|           FLD(LF_ANAGFIS,"CODCONIUGE","@@@@@"),
 | |
|           (const char*)a);
 | |
|   set_row(row++, FR("@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 = TR("Delega");
 | |
|   else if (tipo == 1) tipo_stampa = TR("Bollettino");
 | |
|   else tipo_stampa = TR("Distinta");
 | |
|   set_row(row++,FR("Dati conto fiscale @20gTitolare conto fiscale @54g@f @60gTipo stampa    %s"),
 | |
|           FLD(LF_ANAG,"TITCF"), (const char*) tipo_stampa);
 | |
|   tipo_stampa = current_cursor()->curr(LF_ANAG).get("UFFCONC");  
 | |
|   if (tipo_stampa.empty()) 
 | |
|   {
 | |
|     TString cod = get_field(LF_ANAG, "COMRF");
 | |
|     TString sta;
 | |
|     
 | |
|     if (cod.empty())
 | |
|     {
 | |
|       cod = get_field(LF_ANAG, "COMRES");
 | |
|       sta = get_field(LF_ANAG, "STATORES");
 | |
|     }  
 | |
|     if (cod.not_empty())
 | |
|     {
 | |
|       look_com(cod,sta);
 | |
|       tipo_stampa = cc.get("UFFCONC"); 
 | |
|     }
 | |
|   }
 | |
|   set_row(row++, FR("@20gConto fiscale  %s   @s"),
 | |
|           (const char*)tipo_stampa, FLD(LF_ANAG,"COFI"));
 | |
|   TString16 abicab = get_field(LF_ANAG, "CODABI");
 | |
|   if (abicab.not_empty() && abicab != "00000")
 | |
|   {
 | |
|     set_row(row++, FR("@20gABI %s@30g%s"), (const char*)abicab, look_tab("%BAN", abicab));
 | |
|     const TString16 cab = get_field(LF_ANAG, "CODCAB");
 | |
|     if (cab.not_empty() && cab != "00000")
 | |
|     {
 | |
|       abicab << cab;
 | |
|       set_row(row++, FR("@20gCAB %s@30g%s"), 
 | |
|               (const char*)cab, look_tab("%BAN", abicab));
 | |
|     }  
 | |
|   }  
 | |
| 
 | |
|   set_row(row++,"");        
 | |
|   set_row(row++, FR("Dati Statistici@20gNon residente@53g@f"),
 | |
|           FLD(LF_ANAG,"SOGGNRES"));
 | |
|   set_row(row++, FR("@20gEventi naturali eccezionali@53g@s"),
 | |
|           FLD(LF_ANAG,"EVECC"));
 | |
|   set_row(row++, FR("@20gResidente in zone terremotate@53g@f"),
 | |
|           FLD(LF_ANAG,"RESZTERR"));
 | |
|   set_row(row++, FR("@20gStato civile@53g@t"),
 | |
|           FLD(LF_ANAGFIS,"STATCIV"));
 | |
|   set_row(row++, FR("@20gData variazione stato civile@53g@D"),
 | |
|           FLD(LF_ANAGFIS,"DVARSCIV"));
 | |
|   set_row(row++, FR("@20gTitolo di studio@53g@t"),
 | |
|           FLD(LF_ANAGFIS,"TITSTU"));
 | |
|   
 | |
|   row ++;
 | |
|   a = look_tab("%STT",
 | |
|                current_cursor()->curr(LF_ANAG).get("CODSTAT1"),"S0");
 | |
|   set_row(row++,FR("@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(row++, FR("@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(row++, FR("@20gSigla stat.3 @7s %s"),
 | |
|           FLD(LF_ANAG,"CODSTAT3"), (const char*)a); 
 | |
|           
 | |
|   set_row(row++,"");        
 | |
|   set_row(row++, FR("Aggiornato il@20g@s"), FLD(LF_ANAG, "DATAAGG"));
 | |
| 
 | |
|   const int l = printer().rows();
 | |
|   for (int i = 50; i <= l; i++)
 | |
|     set_row(i, "");
 | |
| }
 | |
| 
 | |
| 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, FR("@bSCHEDA DITTA  @r@u@pn@r@20g@bDenominaz. sociale  @r@u@s"),
 | |
|           FLD(LF_NDITTE,"CODDITTA","@@@@@"),
 | |
|           FLD(LF_NDITTE,"RAGSOC"));
 | |
|   set_row(2, FR("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, FR("@20gLocalita'  %s@55gData @D"), 
 | |
|           (const char*)a,
 | |
|           FLD(LF_NDITTE,"DATAISCRAA"));
 | |
|   set_row(4, FR("Attivita'"));
 | |
| 
 | |
|   a = look_tab("%AIS",current_cursor()->
 | |
|                curr(LF_NDITTE).get("CODATTPREV")); // TBC
 | |
|   
 | |
|   set_row(5, FR("prevalente@20gCod. @pn    Desc. %s"),
 | |
|           FLD(LF_NDITTE,"CODATTPREV","@@@@@"), 
 | |
|           (const char*)a);
 | |
|   //  set_row(6,"@20gGestione piu' attivita'");
 | |
|   set_row(6, FR("@20gFrequenza versamenti@54g@t"),
 | |
|           FLD(LF_NDITTE,"FREQVIVA"));
 | |
|   set_row(7, FR("@20gTenuta contabilita' ordinaria@54g@f"),
 | |
|           FLD(LF_NDITTE,"CONTORD"));
 | |
|   set_row(8, FR("@20gDatore di lavoro@54g@t"),
 | |
|           FLD(LF_NDITTE,"DATLAV"));
 | |
|   set_row(9, FR("@20gData inizio attivita'@54g@D"),
 | |
|           FLD(LF_NDITTE,"DINIZIOATT"));
 | |
|           
 | |
|   long codice = current_cursor()->curr(LF_NDITTE).get_long("FIRMAT");
 | |
|   TString firmat,rappr;
 | |
|   TLocalisamfile ana(LF_ANAG);
 | |
|   
 | |
|   ana.put("TIPOA", "F");
 | |
|   ana.put("CODANAGR",codice);
 | |
|   if (ana.read() == NOERR)
 | |
|     firmat = ana.get("RAGSOC");
 | |
|   firmat.strip_double_spaces();
 | |
|   set_row(10, FR("Firmatario@20g@s @30g%s"),FLD(LF_NDITTE,"FIRMAT"),(const char *)firmat);
 | |
|   codice = current_cursor()->curr(LF_NDITTE).get_long("RAPPR");
 | |
|   ana.put("TIPOA", "F");
 | |
|   ana.put("CODANAGR",codice);
 | |
|   if (ana.read() == NOERR)
 | |
|     rappr = ana.get("RAGSOC");
 | |
|   rappr.strip_double_spaces();
 | |
|   set_row(11, FR("Rappresentante@20g@s @30g%s"),FLD(LF_NDITTE,"RAPPR"),(const char *)rappr);
 | |
|   
 | |
|   set_row(12, FR("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(13, FR("@20gGestione magazzino   @f"),
 | |
|           FLD(LF_NDITTE,"REGMAG"));
 | |
|   set_row(14, FR("@20gNumero unita' locali @n@54gNum.enasarco @s"),
 | |
|           FLD(LF_NDITTE,"NULC"),
 | |
|           FLD(LF_NDITTE,"NENASARCO"));
 | |
|   set_row(15, TR("Banca di appoggio"));
 | |
|   TString16 abicab = get_field(LF_NDITTE, "ABIBAN");
 | |
|   if (abicab.not_empty() && abicab != "00000")
 | |
|   {
 | |
|     set_row(15, FR("@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, FR("@20gCAB %s@40g%s"), 
 | |
|               (const char*)cab, look_tab("%BAN", abicab));
 | |
|     }  
 | |
|   }  
 | |
|           
 | |
|   set_row(17, FR("Stato@20g@t"),FLD(LF_NDITTE,"STATOSOC"));
 | |
|   set_row(18,"");
 | |
| }
 | |
| 
 | |
| void TAnaprint_app::set_scheda_attiv()
 | |
| {
 | |
|   const TString descr(current_cursor()->curr(LF_ATTIV).get("DESCR"));
 | |
|   _bk_attiv = set_bookmark(descr, _bk_ditta);
 | |
|   
 | |
|   set_row(1, FR("@bATTIVITA'@r   @s@20g@bDescrizione:@r     %s"),
 | |
|           FLD(LF_ATTIV,"CODATT","@@@@@"), (const char*)descr);
 | |
|   
 | |
|   set_row(2, FR("@20gRegime agricolo@67g@f"),
 | |
|           FLD(LF_ATTIV,"REGAGR"));
 | |
|   set_row(3, FR("@20gRegime speciale agenzie di viaggio (art.74ter)@67g@f"),
 | |
|           FLD(LF_ATTIV,"REG74TER"));
 | |
|   set_row(4, FR("@20gAttivita' stagionale@67g@f"),
 | |
|           FLD(LF_ATTIV,"ATTSTAG"));
 | |
|   set_row(5, FR("@20gAttivita' esercitata in piu' luoghi@67g@f"),
 | |
|           FLD(LF_ATTIV,"ESLUOGHID"));
 | |
|   set_row(6, FR("@20gData inizio attivita'@60g@D"), 
 | |
|           FLD(LF_ATTIV,"DATAISCIVA"));        
 | |
|   set_row(7, FR("@20gData variazione attivita'@60g@D"),
 | |
|           FLD(LF_ATTIV,"DATAVARIVA"));
 | |
|   set_row(8, FR("@20gData cessazione attivita'@60g@D"),
 | |
|           FLD(LF_ATTIV,"DCESSATT"));
 | |
|   set_row(9, FR("@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.zero();
 | |
|   int k = af.getkey();
 | |
|   af.setkey(1);
 | |
|   af.put("CODANAGR",com);
 | |
|   af.put("TIPOA",a);
 | |
|   const bool exists = af.read() == NOERR;
 | |
|   
 | |
|   TString b,z,c;
 | |
|   com = "";
 | |
|   if (exists) // legge i dati del depositario solo se l'anagrafica esiste...
 | |
|   {
 | |
|     b = af.get("RAGSOC");
 | |
|     com = af.get("INDRF");
 | |
|     z = af.get("CIVRF");
 | |
|     c = af.get("COMRF");
 | |
|     if (com.empty()) com = af.get("INDRES");
 | |
|     if (c.empty()) c = af.get("COMRES");
 | |
|     if (z.empty()) z = af.get("CIVRES");
 | |
|   }
 | |
|   const TRectype& cm = look_com(c);
 | |
| 
 | |
|   af.readat(last);
 | |
|   af.setkey(k);
 | |
| 
 | |
|   set_row(10,FR("Depositario@20gCodice @pn (%s): %s"),
 | |
|           FLD(LF_ATTIV,"CODANGRDS"),
 | |
|           c == 'F' ? "p.f." : "p.g.",
 | |
|           (const char*)b);
 | |
|   set_row(11,FR("@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@58gProv. %s@68gC.a.p. %s",
 | |
|           (const char*)a, (const char*)b, (const char*)c);
 | |
|   set_row(13, FR("@20gTenuta scritture parziali@68g@f"),
 | |
|           FLD(LF_ATTIV,"TSCRPARZ"));
 | |
|   set_row(14, FR("Luogo@20gIndirizzo @s N. @s"),
 | |
|           FLD(LF_ATTIV,"INDCS"),
 | |
|           FLD(LF_ATTIV,"CIVCS"));
 | |
|   look_com(get_field(LF_ATTIV,"COMCS"));
 | |
|   a = cm.get("DENCOM"); b = cm.get("PROVCOM"); c = cm.get("CAPCOM");
 | |
|   set_row(15, FR("@20gComune    %s@58gProv. %s@68gC.a.p. %s"),
 | |
|           (const char*)a, (const char*)b, (const char*)c);
 | |
|   
 | |
|   set_row(16, FR("@20gTelefono @s/@s"), FLD(LF_ATTIV,"PTELCS"), FLD(LF_ATTIV,"TELCS"));
 | |
|   set_row(17,""); set_row(18,"");
 | |
| }
 | |
| 
 | |
| void TAnaprint_app::set_scheda_registro()
 | |
| {
 | |
|   /* TBI */
 | |
| }
 | |
| 
 | |
| 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, FR("@bUNITA' LOCALE@20gCodice    @r@u@pn@r"),
 | |
|           FLD(LF_UNLOC,"CODULC","@@@"));
 | |
|   set_row(2, FR("@20g@bIndirizzo@r@u @s@r@68g@bNumero @r@u@s"),
 | |
|           FLD(LF_UNLOC,"INDULC"),
 | |
|           FLD(LF_UNLOC,"CIVULC"));
 | |
|   const 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, FR("@20g@bComune@r@4j@u%s@r@58g@bProv.@r @u%s@r@68g@bC.a.p.@r @u%s"), (const char*)a, (const char*)b, (const char*)c);
 | |
|   set_row(4,""); 
 | |
|   set_row(5, FR("C.C.I.A.A.@20gNumero@30g@pn"),
 | |
|           FLD(LF_UNLOC,"NUMCCIAA","@@@@@@@"));
 | |
|   look_com(get_field(LF_UNLOC,"COMCCIAA"));
 | |
|   a  = cc.get("DENCOM");
 | |
|   set_row(6, FR("@20gComune@30g%s"), (const char*)a);
 | |
|   set_row(7, FR("@20gData iscrizione  @D@48gData ultima variazione  @D"),
 | |
|           FLD(LF_UNLOC,"DATAICCIAA"),
 | |
|           FLD(LF_UNLOC,"DATAVCCIAA"));
 | |
|   set_row(8,"");
 | |
|   set_row(9, FR("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, FR("Posizioni@20gINPS n.@30g@s INAIL n. @s"),
 | |
|           FLD(LF_UNLOC,"POSINPS"),
 | |
|           FLD(LF_UNLOC,"POSINAIL"));
 | |
|   set_row(12,"");
 | |
|   set_row(13, FR("Numero Registro Imprese@30g@pn"), 
 | |
|           FLD(LF_UNLOC, "REGIMP", "@@ @@@ @@@@ @@@@@@@@@ @"));
 | |
|   
 | |
|   zio = get_field(LF_UNLOC,"COMTRIB");
 | |
|   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, FR("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, TR("Locali destinati"));
 | |
|   set_row(17, FR("all'attivita'@20gMq.Locali @pn  Di cui a magazzino  @pn"),
 | |
|           FLD(LF_UNLOC,"MQULC","@@@@@"),
 | |
|           FLD(LF_UNLOC,"MQULCMAG","@@@@@"));
 | |
|   set_row(18,"");
 | |
| }
 | |
| 
 | |
| void TAnaprint_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"));
 | |
| 
 | |
|   if (ana.read() == NOERR)
 | |
|   {
 | |
|     TString ragsoc(ana.get("RAGSOC"));
 | |
|     TString indres(ana.get("INDRES"));
 | |
|     TString cofi(ana.get("COFI"));
 | |
|     TString paiv(ana.get("PAIV"));
 | |
|     const char pre_att = soc.get("ATTPREC")[0];
 | |
|   
 | |
|     TString zio(TR("Socio "));
 | |
|     zio <<  soc.get("CODANAGRSO"); 
 | |
|     zio << "("; zio << soc.get("TIPOASOC") << "): "; 
 | |
|     zio << ragsoc;
 | |
|     _bk_socio = set_bookmark(zio, _bk_ditta);
 | |
| 
 | |
|     TString codconiuge = "";
 | |
|     TLocalisamfile* anaf;    
 | |
| 
 | |
|     if (soc.get("TIPOASOC") == "F")
 | |
|     {
 | |
|       TRecnotype rn = 0; int kk = 1;
 | |
|       TString ragsoc1 = ragsoc.left(30);
 | |
|       TString ragsoc2 = ragsoc.right(20);
 | |
| 
 | |
|       ragsoc1.trim();
 | |
|       ragsoc2.trim();
 | |
|       if (_pr_what == anafis)
 | |
|       {
 | |
|         anaf = ¤t_cursor()->file(LF_ANAGFIS);
 | |
|         rn  = anaf->recno();
 | |
|         kk  = anaf->getkey();
 | |
|       }
 | |
|       else
 | |
|       { 
 | |
|         anaf = new TLocalisamfile(LF_ANAGFIS);
 | |
|       }
 | |
|      
 | |
|       anaf->zero();
 | |
|       anaf->put("CODANAGR",soc.get("CODANAGRSO"));
 | |
|       anaf->read();
 | |
|       const TRectype& com = look_com(anaf->get("COMNASC"));
 | |
|      
 | |
|       set_row(1,FR("@bSOCIO@r  @s / @pn@20g@bCognome@r %s"),
 | |
|               FLD(LF_SOCI,"TIPOASOC"),
 | |
|               FLD(LF_SOCI,"CODANAGRSO","@@@@@"),
 | |
|               (const char*)ragsoc1);
 | |
|       set_row(2,FR("@20g@bNome@r    %s@53g@bCod.fisc.@r %s"),
 | |
|               (const char*)ragsoc2,
 | |
|               (const char*)cofi);
 | |
|               
 | |
|       set_row(3, FR("@20g@bSocio anno %s@r    "), pre_att == 'P' ? TR("precedente") : TR("attuale"));
 | |
|       set_row(4,"");
 | |
| 
 | |
|       b1 = anaf->get_date("DATANASC").string(full);
 | |
|       b2 = anaf->get("SESSO");
 | |
|       set_row(5, FR("Nascita@20gData@30g%S@42gSesso %S"),
 | |
|               (const char*)b1, (const char*)b2);
 | |
|   
 | |
|       b1 = com.get("DENCOM");
 | |
|       b2 = com.get("PROVCOM");
 | |
|       
 | |
|       set_row(6, FR("@20gComune@30g%S@58gProv. %S"),
 | |
|               (const char*)b1, (const char*)b2);
 | |
|       rw = 7;
 | |
|   
 | |
|       codconiuge = TR("Cod.coniuge ");
 | |
|       codconiuge << anaf->get("CODCONIUGE");
 | |
|       
 | |
|       if (_pr_what == anafis)
 | |
|       { anaf->setkey(kk); anaf->readat(rn); }
 | |
|       else delete anaf;
 | |
|     }
 | |
|     else 
 | |
|     {                    
 | |
|       set_row(1, FR("@bSOCIO@r  @S / @pN@20gR.soc. %s"),
 | |
|               FLD(LF_SOCI,"TIPOASOC"),
 | |
|               FLD(LF_SOCI,"CODANAGRSO","@@@@@"),
 | |
|               (const char*)ragsoc);
 | |
|       set_row(2, FR("@20gCod.fisc. %s P.IVA %s"),
 | |
|               (const char*)cofi,
 | |
|               (const char*)paiv);
 | |
|       set_row(3, FR("@20g@bSocio anno %s@r    "), pre_att == 'P' ? TR("precedente") : TR("attuale"));
 | |
|       rw = 4;
 | |
|     }
 | |
|     set_row(rw,"");
 | |
|     
 | |
|     const TString cod_com = ana.get("COMRES");
 | |
|     const TString cod_sta = ana.get("STATORES");
 | |
|     const TRectype& com = look_com(cod_com, cod_sta);
 | |
|    
 | |
|     b1 = com.get("DENCOM");
 | |
|     b2 = com.get("PROVCOM");
 | |
|     b3 = com.get("CAPCOM");
 | |
|   
 | |
|     set_row(rw+1, FR("Residenza@20gIndirizzo %S"), (const char*)indres);
 | |
|     set_row(rw+2, FR("@20gComune    %S@58gProv. %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"));
 | |
|     TString dataagg(ana.get("DATAAGG"));
 | |
|     
 | |
|     set_row(rw+4, FR("Carica@20gCod. @pN@30g%s@62gScadenza @lD"),
 | |
|             FLD(LF_SOCI,"CODCAR","@@"),
 | |
|             (const char*)car,
 | |
|             FLD(LF_SOCI,"SCADCAR"));
 | |
| 
 | |
|     set_row(rw+5, FR("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, FR("@20gTitolo proprieta' @S Emolumento @pN"),
 | |
|             FLD(LF_SOCI,"TITPROP"),
 | |
|             FLD(LF_SOCI,"EMOLUMENTO","###.###.###.###"));
 | |
|     set_row(rw+7, FR("%% 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, FR("Modello 740 @s @57g%s"),
 | |
|             FLD(LF_SOCI,"Q740"),
 | |
|             (const char*)codconiuge);
 | |
|     set_row(rw+9, FR("Attiv. prevalente  @f@37gQuadro 750 @s @53gMesi lavorati art.120 c1 @2n"),
 | |
|             FLD(LF_SOCI,"ATTPREV"),
 | |
|             FLD(LF_SOCI,"QUATTPREV"),
 | |
|             FLD(LF_SOCI,"MLAV120C1"));
 | |
| 
 | |
|     set_row(rw+10, FR("@20gRichiesta qualifica @s@53gMesi lavorati art.120 c2 @2n"),
 | |
|             FLD(LF_SOCI,"RICQUAL"),
 | |
|             FLD(LF_SOCI,"MLAV120C2"));
 | |
|     set_row(rw+11, FR("Note@20g@s"), FLD(LF_SOCI,"NOTE"));
 | |
|     set_row(rw+12, FR("Data ultimo agg. @20gAnagrafica %s @53gSocio @d"),
 | |
|             (const char*)dataagg,
 | |
|             FLD(LF_SOCI,"DATAAGG"));
 | |
|     set_row(rw+13,""); set_row(rw+14,"");
 | |
|   }
 | |
|   
 | |
|   ana.setkey(k);
 | |
|   ana.readat(rno);
 | |
| }
 | |
| 
 | |
| 
 | |
| void TAnaprint_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, FR("@32gTel. #-36T"), &_phone);
 | |
|   set_row(5,"");
 | |
| 
 | |
|   if (_pr_what == nditte)
 | |
|   {
 | |
|     set_row(1,"@b$[v]@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#T",  FLD(LF_ANAG,"CODANAGR","@@@@@"),
 | |
|             &_surname_name);
 | |
|   }
 | |
|   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 TAnaprint_app::set_elenco()
 | |
| {
 | |
|   switch(_pr_what)
 | |
|   {
 | |
|   case anafis:
 | |
|   case anagiu:
 | |
|     if (_pr_what == anafis)
 | |
|     {
 | |
|       set_row(1,"$[b]@pN$[n]@7g#T", 
 | |
|               FLD(LF_ANAG,"CODANAGR","@@@@@"), 
 | |
|               &_surname_name);
 | |
|     }
 | |
|     else 
 | |
|     {
 | |
|       set_row(1,"$[b]@pN$[n]@7g@50S", 
 | |
|               FLD(LF_ANAG,"CODANAGR","@@@@@"), 
 | |
|               FLD(LF_ANAG,"RAGSOC"));
 | |
|     }
 | |
|     if (_inclditte)
 | |
|       set_row(1,"@58g$[v]@pN$[n]@66g@S", 
 | |
|               FLD(LF_NDITTE,"CODDITTA","@@@@@"),
 | |
|               FLD(LF_NDITTE,"RAGSOC"));
 | |
|     break;
 | |
|   case nditte:
 | |
|     set_row(1,"$[v]@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 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;
 | |
|   }
 | |
| }
 | |
| 
 | |
| 
 | |
| void TAnaprint_app::set_headers()
 | |
| {
 | |
|   reset_header();
 | |
|   set_background();
 | |
|   if (_pr_type == elenco)
 | |
|   {
 | |
|     switch(_pr_what)
 | |
|     {
 | |
|     case anafis:
 | |
|     case anagiu: 
 | |
|       set_background("W1l{1 2 132 2}W4l{1 5 132 5}");
 | |
|       set_header(1, FR("@bELENCO PERSONE %s@82gStudio@96gData@101g @> @112g Pag. @#"), _pr_what == anafis ? TR("FISICHE") :
 | |
|                  TR("GIURIDICHE"));
 | |
|       set_header(3, FR("@iCodice@58gCodice"));
 | |
|       set_header(4, FR("@iAnagr. Ragione sociale/cognome e nome@58gDitta@66gDenominazione sociale"));
 | |
|       set_header(6,"");
 | |
|       break;
 | |
|     case nditte:
 | |
|       set_background("W1l{1 2 132 2}W4l{1 5 132 5}");
 | |
|       set_header(1, FR("@bELENCO DITTE@82gStudio@96gData@101g @> @112g Pag. @#"));
 | |
|       set_header(3, FR("@iCodice@50gT"));
 | |
|       set_header(4, FR("@iAnagr.   Denominazione sociale@50gP Codice@61gRagione sociale/Cognome e nome"));
 | |
|       set_header(6,"");
 | |
|     }
 | |
|     printer().headerlen(6);
 | |
|   }
 | |
|   else if (_pr_type == rubriche)
 | |
|   {
 | |
|     switch (_pr_what)
 | |
|     {
 | |
|     case anafis:
 | |
|     case anagiu:
 | |
|       set_background("W1l{1 2 132 2}W4l{1 4 132 4}");
 | |
|       set_header(1, FR("@bRUBRICA PERSONE %s@40gStudio@53gData @>   pag. @#"), 
 | |
|                  _pr_what == anagiu ? TR("GIURIDICHE") : TR("FISICHE"));
 | |
|       set_header(3,FR("@iCodice  Cognome e nome"));
 | |
|       set_header(5,"");
 | |
|       break;
 | |
| 
 | |
|     case nditte:
 | |
|       set_background("W1l{1 2 132 2}W4l{1 4 132 4}");
 | |
|       set_header(1, FR("@bRUBRICA DITTE@40gStudio@53gData @>   pag. @#"));
 | |
|       set_header(3, FR("@iCodice  Cognome e nome"));
 | |
|       set_header(5,"");
 | |
|       break;
 | |
|     }  
 | |
|     printer().headerlen(5);
 | |
|   }
 | |
|   else if (_pr_type == schede)
 | |
|   {
 | |
|     set_header(1,"");
 | |
|     printer().headerlen(1);
 | |
|   }
 | |
| }
 | |
| 
 | |
| void TAnaprint_app::set_footers()
 | |
| {
 | |
|   reset_footer();
 | |
|   if (_pr_type == schede && _inclditte)
 | |
|     printer().footerlen(1);
 | |
|   else
 | |
|     printer().footerlen(0);
 | |
| }
 | |
| 
 | |
| void TAnaprint_app::set_etichette()
 | |
| {
 | |
|   int namerow = 0;
 | |
|   int i;
 | |
| 
 | |
|   for (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 #t", _ind_col)), 
 | |
|           &_loc, &_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);   
 | |
|   }  
 | |
| 
 | |
| }
 |