ba3500.cpp Corretta creazione della prima unita' locale ba610?.cpp Corretti vari errori segnalati sul fax dalla Cecilia git-svn-id: svn://10.65.10.50/trunk@5668 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			1036 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			1036 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
// ************************************************************************
 | 
						|
// Stampa anagrafiche (ba6 -0)
 | 
						|
// Settaggio stampe
 | 
						|
// ************************************************************************
 | 
						|
 | 
						|
#include "ba6100.h"
 | 
						|
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);
 | 
						|
  
 | 
						|
  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(row++,"@25g@bEvent. sigla@r@40g@u@20s",
 | 
						|
          FLD(LF_ANAGGIU,"SIGLA"));
 | 
						|
  set_row(row++,"Oggetto soc.@15g@60s",
 | 
						|
          FLD(LF_ANAGGIU,"OGGSOC"));
 | 
						|
  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"));
 | 
						|
 | 
						|
  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++,"@20gComune %s %-24s@58gProv. %2s@68gCAP %5s",
 | 
						|
          (const char*)com, (const char*)a, (const char*)c, (const char*)b);
 | 
						|
  a = sta.empty() ? "Italia" : look_tab("%STA",sta);
 | 
						|
  set_row(row++,"@20gStato     %s",(const char*)a);
 | 
						|
 | 
						|
  set_row(row++,"@20gTelefono  @u@10s@r/@u@30s@r",
 | 
						|
          FLD(LF_ANAG,"PTELRF"),
 | 
						|
          FLD(LF_ANAG,"TELRF"));
 | 
						|
  set_row(row++,"");
 | 
						|
 | 
						|
  set_row(row++,"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++,"@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++,"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++,"@20gComune %s %-24s@58gProv. %2s@68gCAP %5s",
 | 
						|
          (const char*)com, (const char*)a, (const char*)c, (const char*)b);
 | 
						|
  
 | 
						|
  a = sta.empty() ? "Italia" : look_tab("%STA",sta);
 | 
						|
  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(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 = 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++,"@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");
 | 
						|
  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",0,2), FLD(LF_ANAG,"CODCONTR",2,5), (const char*)c);
 | 
						|
  set_row(row++,"@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 = "Delega";
 | 
						|
  else if (tipo == 1) tipo_stampa = "Bollettino";
 | 
						|
  else tipo_stampa = "Distinta";
 | 
						|
  set_row(row++,"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++,"@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++,"@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++,"@20gCAB %s@30g%s", 
 | 
						|
              (const char*)cab, look_tab("%BAN", abicab));
 | 
						|
    }  
 | 
						|
  }  
 | 
						|
 | 
						|
  set_row(row++,"");
 | 
						|
  // dati atto costitutivo etc
 | 
						|
  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(row++,"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++,"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(row++,"Scad.org.amministrativo@25g@d@41gScadenza collegio "
 | 
						|
          "sindacale@70g@d",
 | 
						|
          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(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++,"Dati Statistici@20gNon residente@61g@f",
 | 
						|
          FLD(LF_ANAG,"SOGGNRES"));
 | 
						|
  set_row(row++,"@20gEventi naturali eccezionali@61g@s",
 | 
						|
          FLD(LF_ANAG,"EVECC"));
 | 
						|
  set_row(row++,"@20gResidente in zone terremotate@61g@f",
 | 
						|
          FLD(LF_ANAG,"RESZTERR"));
 | 
						|
  // *TBI* traduzione natura giuridica
 | 
						|
  set_row(row++,"@20gNatura giuridica@61g@s",
 | 
						|
          FLD(LF_ANAGGIU,"NATGIU"));
 | 
						|
  set_row(row++,"@20gStato societa'@51g@20,rt",
 | 
						|
          FLD(LF_ANAGGIU,"STATOSOC"));
 | 
						|
  set_row(row++,"@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++,"@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++,"@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++,"@20gSigla stat.3 @7s %-50s",
 | 
						|
          FLD(LF_ANAG,"CODSTAT3"), (const char*)a); 
 | 
						|
 | 
						|
  // NOTE
 | 
						|
  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++)
 | 
						|
    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++,"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(row++,"@20g@bNome    @r@u@s",
 | 
						|
          FLD(LF_ANAG,"RAGSOC",30,50));
 | 
						|
  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 = 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++,"@20gComune %s %s@58gProv. %s",
 | 
						|
          (const char*)com, (const char*)a, (const char*)c);
 | 
						|
  
 | 
						|
  row++;
 | 
						|
  set_row(row++,"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++,"@20gComune %s %s@58gProv. %s@68gCAP %s",
 | 
						|
          (const char*)com, (const char*)a, (const char*)c, (const char*)b);
 | 
						|
  a = sta.empty() ? "Italia" : look_tab("%STA",sta);
 | 
						|
  set_row(row++,"@20gStato     %s",(const char*)a);
 | 
						|
  
 | 
						|
  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 = get_field(LF_ANAG, "COMRF");
 | 
						|
  
 | 
						|
  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);
 | 
						|
  
 | 
						|
  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 = 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++,"@20gComune %s %s@58gProv. %s@68gCAP %s",
 | 
						|
          (const char*)com, (const char*)a, (const char*)c, (const char*)b);
 | 
						|
  
 | 
						|
  a = sta.empty() ? "Italia" : look_tab("%STA",sta);
 | 
						|
  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 = 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++,"@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");
 | 
						|
  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",0,2), FLD(LF_ANAG,"CODCONTR",2,5), (const char*)c);
 | 
						|
  set_row(row++,"@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++,"Coniuge   @pn@20gCognome  %s",
 | 
						|
          FLD(LF_ANAGFIS,"CODCONIUGE","@@@@@"),
 | 
						|
          (const char*)a);
 | 
						|
  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(row++,"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++,"@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++,"@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++,"@20gCAB %s@30g%s", 
 | 
						|
              (const char*)cab, look_tab("%BAN", abicab));
 | 
						|
    }  
 | 
						|
  }  
 | 
						|
 | 
						|
  set_row(row++,"");        
 | 
						|
  set_row(row++,"Dati Statistici@20gNon residente@53g@f",
 | 
						|
          FLD(LF_ANAG,"SOGGNRES"));
 | 
						|
  set_row(row++,"@20gEventi naturali eccezionali@53g@s",
 | 
						|
          FLD(LF_ANAG,"EVECC"));
 | 
						|
  set_row(row++,"@20gResidente in zone terremotate@53g@f",
 | 
						|
          FLD(LF_ANAG,"RESZTERR"));
 | 
						|
  set_row(row++,"@20gStato civile@53g@t",
 | 
						|
          FLD(LF_ANAGFIS,"STATCIV"));
 | 
						|
  set_row(row++,"@20gData variazione stato civile@53g@D",
 | 
						|
          FLD(LF_ANAGFIS,"DVARSCIV"));
 | 
						|
  set_row(row++,"@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++,"@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++,"@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++,"@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, "");
 | 
						|
}
 | 
						|
 | 
						|
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"));
 | 
						|
  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"));
 | 
						|
          
 | 
						|
  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_d_spaces();
 | 
						|
  set_row(10,"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_d_spaces();
 | 
						|
  set_row(11,"Rappresentante@20g@s @30g%s",FLD(LF_NDITTE,"RAPPR"),(const char *)rappr);
 | 
						|
  
 | 
						|
  set_row(12,"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,"@20gGestione magazzino   @f",
 | 
						|
          FLD(LF_NDITTE,"REGMAG"));
 | 
						|
  set_row(14,"@20gNumero unita' locali @n@54gNum.enasarco @s",
 | 
						|
          FLD(LF_NDITTE,"NULC"),
 | 
						|
          FLD(LF_NDITTE,"NENASARCO"));
 | 
						|
  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()
 | 
						|
{
 | 
						|
  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*)descr);
 | 
						|
  
 | 
						|
  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_ATTIV,"DATAISCIVA"));        
 | 
						|
  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.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,"Depositario@20gCodice @pn (%s): %s",
 | 
						|
          FLD(LF_ATTIV,"CODANGRDS"),
 | 
						|
          c == 'F' ? "p.f." : "p.g.",
 | 
						|
          (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@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"));
 | 
						|
  set_row(14,"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,"@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"));
 | 
						|
  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,"@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"));
 | 
						|
  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,"@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,""); 
 | 
						|
  set_row(5,"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,"@20gComune@30g%s", (const char*)a);
 | 
						|
  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, "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,"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(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("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,"@bSOCIO@r  @s / @pn@20g@bCognome@r %s",
 | 
						|
              FLD(LF_SOCI,"TIPOASOC"),
 | 
						|
              FLD(LF_SOCI,"CODANAGRSO","@@@@@"),
 | 
						|
              (const char*)ragsoc1);
 | 
						|
      set_row(2,"@20g@bNome@r    %s@53g@bCod.fisc.@r %s",
 | 
						|
              (const char*)ragsoc2,
 | 
						|
              (const char*)cofi);
 | 
						|
              
 | 
						|
      set_row(3,"@20g@bSocio anno %s@r    ", pre_att == 'P' ? "precedente" : "attuale");
 | 
						|
      set_row(4,"");
 | 
						|
 | 
						|
      b1 = anaf->get_date("DATANASC").string(full);
 | 
						|
      b2 = anaf->get("SESSO");
 | 
						|
      set_row(5,"Nascita@20gData@30g%S@42gSesso %S",
 | 
						|
              (const char*)b1, (const char*)b2);
 | 
						|
  
 | 
						|
      b1 = com.get("DENCOM");
 | 
						|
      b2 = com.get("PROVCOM");
 | 
						|
      
 | 
						|
      set_row(6,"@20gComune@30g%S@58gProv. %S",
 | 
						|
              (const char*)b1, (const char*)b2);
 | 
						|
      rw = 7;
 | 
						|
  
 | 
						|
      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",
 | 
						|
              FLD(LF_SOCI,"TIPOASOC"),
 | 
						|
              FLD(LF_SOCI,"CODANAGRSO","@@@@@"),
 | 
						|
              (const char*)ragsoc);
 | 
						|
      set_row(2,"@20gCod.fisc. %s P.IVA %s",
 | 
						|
              (const char*)cofi,
 | 
						|
              (const char*)paiv);
 | 
						|
      set_row(3,"@20g@bSocio anno %s@r    ", pre_att == 'P' ? "precedente" : "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,"Residenza@20gIndirizzo %S", (const char*)indres);
 | 
						|
    set_row(rw+2,"@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,"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 %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,"@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#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$[r]@pN$[n]@66g@S", 
 | 
						|
              FLD(LF_NDITTE,"CODDITTA","@@@@@"),
 | 
						|
              FLD(LF_NDITTE,"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 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,"@bELENCO PERSONE %s@82gStudio@96gData"
 | 
						|
                 "@101g @< @110g Pag. @#", _pr_what == anafis ? "FISICHE" :
 | 
						|
                 "GIURIDICHE");
 | 
						|
      set_header(3,"@iCodice@58gCodice");
 | 
						|
      set_header(4,"@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,"@bELENCO DITTE@82gStudio@96gData"
 | 
						|
                 "@101g @< @110g Pag. @#");
 | 
						|
      set_header(3,"@iCodice@50gT");
 | 
						|
      set_header(4,"@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:
 | 
						|
#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;
 | 
						|
    }  
 | 
						|
    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;
 | 
						|
 | 
						|
  for (int i = 2; i <= _rows_et; i++)
 | 
						|
    set_row(i, "");
 | 
						|
 | 
						|
  if (_is_piv)
 | 
						|
  { 
 | 
						|
    set_row(_piv_row, TString(format("@%dg#t", _piv_col)), &_cofi);
 | 
						|
    _frpos[_piv_row - 1] = TRUE;
 | 
						|
  }
 | 
						|
  if (_is_cod)
 | 
						|
  {
 | 
						|
    set_row(_cod_row, TString(format("@%dg#t", _cod_col)), &_cod);
 | 
						|
    _frpos[_cod_row - 1] = TRUE;
 | 
						|
  }
 | 
						|
  
 | 
						|
  // name goes in first free row
 | 
						|
  for (i = 0; i < _rows_et; i++) 
 | 
						|
  {
 | 
						|
    if (!_frpos[i]) 
 | 
						|
    { if (namerow == 0) namerow = i; }
 | 
						|
  }
 | 
						|
  
 | 
						|
  namerow++; reset_row(namerow);
 | 
						|
  
 | 
						|
  if (_pr_what == anagiu)
 | 
						|
    set_row(namerow,TString(format("@%dg#t",_ind_col)), &_name);
 | 
						|
  else
 | 
						|
  {                                    
 | 
						|
    set_row(namerow,TString(format("@%dg#t #t #t",_ind_col)), &_sex, &_name, &_surname);
 | 
						|
  }
 | 
						|
 | 
						|
  set_row(_ind_row,TString(format("@%dg#t #t", _ind_col)), &_address, &_civ);
 | 
						|
  set_row(_ind_row+1, TString(format("@%dg#t #t #t #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);   
 | 
						|
  }  
 | 
						|
 | 
						|
}
 |