770 2015 dopo controlli 770 semplificato dell'agenzia delle entrate
git-svn-id: svn://10.65.10.50/branches/R_10_00@23101 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									66243e8aaa
								
							
						
					
					
						commit
						a04851fc0d
					
				@ -278,21 +278,27 @@ void TSchedaPercipienti::calcola_riga_pag(TRectype& rec,
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  const int fdec = TCurrency::get_firm_dec();
 | 
					  const int fdec = TCurrency::get_firm_dec();
 | 
				
			||||||
	real compenso = rec.get_real(PAG_COMPENSO);
 | 
						real compenso = rec.get_real(PAG_COMPENSO);
 | 
				
			||||||
  real impcpa = (compenso * h_PercCassaPrev) / (CENTO + h_PercCassaPrev); impcpa.round(fdec);   // calcolo CPA
 | 
					  real impcpa = (compenso * h_PercCassaPrev) / (CENTO + h_PercCassaPrev); impcpa.round(fdec); // calcolo CPA
 | 
				
			||||||
	rec.put(PAG_IMPCPA, impcpa);
 | 
						rec.put(PAG_IMPCPA, impcpa);
 | 
				
			||||||
  real imponibile = ((compenso - impcpa) * h_PercAssImp) / CENTO; imponibile.round(fdec);	// calcolo imponibile
 | 
					  real imponibile = ((compenso - impcpa) * h_PercAssImp) / CENTO; imponibile.round(fdec);	    // calcolo imponibile
 | 
				
			||||||
	rec.put(PAG_IMPONIBILE, imponibile);
 | 
						rec.put(PAG_IMPONIBILE, imponibile);
 | 
				
			||||||
  real ritlorda = (imponibile * h_PercRitenuta) / CENTO;  ritlorda.round(fdec);   // calcolo ritenuta lorda
 | 
					  real ritlorda = (imponibile * h_PercRitenuta) / CENTO;  ritlorda.round(fdec);               // calcolo ritenuta lorda
 | 
				
			||||||
	rec.put(PAG_RITLORDA, ritlorda);
 | 
						rec.put(PAG_RITLORDA, ritlorda);
 | 
				
			||||||
	const real detfamil = rec.get_real(PAG_DETFAMIL);  
 | 
						const real detfamil = rec.get_real(PAG_DETFAMIL);  
 | 
				
			||||||
	const real detlavdip = rec.get_real(PAG_DETLAVDIP);  
 | 
						const real detlavdip = rec.get_real(PAG_DETLAVDIP);  
 | 
				
			||||||
	const real totdet = detfamil + detlavdip;  
 | 
						const real totdet = detfamil + detlavdip;  
 | 
				
			||||||
	const real ritenuta = totdet > ritlorda ? ZERO : ritlorda - totdet;
 | 
						const real ritenuta = totdet > ritlorda ? ZERO : ritlorda - totdet;
 | 
				
			||||||
	rec.put(PAG_RITENUTA, ritenuta);
 | 
						rec.put(PAG_RITENUTA, ritenuta);
 | 
				
			||||||
  real ctssncomp = (((compenso * h_PercAssImpInps) / CENTO) * h_PercInps) / CENTO;  ctssncomp.round(fdec);  // calcolo contributo Inps complessivo
 | 
					  
 | 
				
			||||||
	rec.put(PAG_INPSCOMP, ctssncomp);
 | 
					  real ctssncomp = (((compenso * h_PercAssImpInps) / CENTO) * h_PercInps) / CENTO;  
 | 
				
			||||||
	real ctssnperc = (h_PercCommitInps == ZERO) ? ctssncomp - ((ctssncomp * 2) / 3) : ctssncomp - ((ctssncomp * h_PercCommitInps) / CENTO);  ctssnperc.round(fdec); // calcolo contributo Inps del percipiente
 | 
					  ctssncomp.round(fdec);  // calcolo contributo Inps complessivo
 | 
				
			||||||
	rec.put(PAG_INPSPERC, ctssnperc);
 | 
					  rec.put(PAG_INPSCOMP, ctssncomp);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  real ctssnperc = h_PercCommitInps.is_zero() ? ctssncomp - ((ctssncomp * 2) / 3) 
 | 
				
			||||||
 | 
					                                              : ctssncomp - ((ctssncomp * h_PercCommitInps) / CENTO);  
 | 
				
			||||||
 | 
					  ctssnperc.round(fdec); // calcolo contributo Inps del percipiente
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					  rec.put(PAG_INPSPERC, ctssnperc);
 | 
				
			||||||
	real utpagati = rec.get_real(PAG_UTPAGATI);  
 | 
						real utpagati = rec.get_real(PAG_UTPAGATI);  
 | 
				
			||||||
	if (abs(utpagati) > abs(imponibile))
 | 
						if (abs(utpagati) > abs(imponibile))
 | 
				
			||||||
    utpagati = imponibile;                          
 | 
					    utpagati = imponibile;                          
 | 
				
			||||||
 | 
				
			|||||||
@ -22,7 +22,7 @@
 | 
				
			|||||||
#include "rpag.h"
 | 
					#include "rpag.h"
 | 
				
			||||||
#include "scperc.h"
 | 
					#include "scperc.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TString _quadronuovo;
 | 
					static TString4 _quadronuovo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
// Righe pagamento delle schede percipienti
 | 
					// Righe pagamento delle schede percipienti
 | 
				
			||||||
@ -70,7 +70,7 @@ const TRectype* TRighe_pagamento::prospetto_e1(char caus)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void TRighe_pagamento::add_riga(const TRectype& scheda, const TRectype& riga)
 | 
					void TRighe_pagamento::add_riga(const TRectype& scheda, const TRectype& riga)
 | 
				
			||||||
{ 
 | 
					{ 
 | 
				
			||||||
  TString chiave;
 | 
					  TString16 chiave;
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  const char causqua = toupper(scheda.get_char(SPR_CAUSQUA));
 | 
					  const char causqua = toupper(scheda.get_char(SPR_CAUSQUA));
 | 
				
			||||||
  chiave << causqua;
 | 
					  chiave << causqua;
 | 
				
			||||||
@ -735,7 +735,7 @@ void TQuadroC_E2::genera_la(TRectype& quadro, const TRectype& riga) const
 | 
				
			|||||||
  ammlordo += riga.get_real(PAG_SOMNSRIT);
 | 
					  ammlordo += riga.get_real(PAG_SOMNSRIT);
 | 
				
			||||||
  ammlordo += riga.get_real(PAG_CONTROBB);
 | 
					  ammlordo += riga.get_real(PAG_CONTROBB);
 | 
				
			||||||
  ammlordo += riga.get_real(PAG_SOMREGCONV);
 | 
					  ammlordo += riga.get_real(PAG_SOMREGCONV);
 | 
				
			||||||
  quadro.put(QUD_TOTALE, ammlordo);                      // AUXXX021
 | 
					  quadro.put(QUD_TOTALE, ammlordo);                      
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  real somme = riga.get_real(PAG_COMPENSO);
 | 
					  real somme = riga.get_real(PAG_COMPENSO);
 | 
				
			||||||
  somme -= imponibile;
 | 
					  somme -= imponibile;
 | 
				
			||||||
@ -744,8 +744,8 @@ void TQuadroC_E2::genera_la(TRectype& quadro, const TRectype& riga) const
 | 
				
			|||||||
  somme -= riga.get_real(PAG_SOMREGCONV);
 | 
					  somme -= riga.get_real(PAG_SOMREGCONV);
 | 
				
			||||||
  quadro.put(QUD_SOMME, somme);                           
 | 
					  quadro.put(QUD_SOMME, somme);                           
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  quadro.put(QUD_SOMREGCONV, riga.get(PAG_SOMREGCONV));  // AUXXX022
 | 
					  quadro.put(QUD_SOMREGCONV, riga.get(PAG_SOMREGCONV));  
 | 
				
			||||||
  quadro.put(QUD_IMPONIBILE, imponibile);                // AUXXX024
 | 
					  quadro.put(QUD_IMPONIBILE, imponibile);                // AUXXX008
 | 
				
			||||||
  quadro.put(QUD_IMPORTO, riga.get(PAG_RITENUTA));        
 | 
					  quadro.put(QUD_IMPORTO, riga.get(PAG_RITENUTA));        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const real inps_tot = riga.get(PAG_INPSCOMP);
 | 
					  const real inps_tot = riga.get(PAG_INPSCOMP);
 | 
				
			||||||
@ -755,8 +755,8 @@ void TQuadroC_E2::genera_la(TRectype& quadro, const TRectype& riga) const
 | 
				
			|||||||
    inps_perc = riga.get_real(PAG_INPSPERC);
 | 
					    inps_perc = riga.get_real(PAG_INPSPERC);
 | 
				
			||||||
    inps_erog = inps_tot - inps_perc;
 | 
					    inps_erog = inps_tot - inps_perc;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  quadro.put(QUD_CTINPSEROG, inps_erog);                 // AUXXX033 
 | 
					  quadro.put(QUD_CTINPSEROG, inps_erog);                 // AUXXX020
 | 
				
			||||||
  quadro.put(QUD_CTINPSPERC, inps_perc);                 // AUXXX034
 | 
					  quadro.put(QUD_CTINPSPERC, inps_perc);                 // AUXXX021
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  genera_aliquota(quadro, QUD_PERC, QUD_IMPONIBILE, QUD_IMPORTO);
 | 
					  genera_aliquota(quadro, QUD_PERC, QUD_IMPONIBILE, QUD_IMPORTO);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -892,7 +892,7 @@ void TQuadroC_E2::generazione()
 | 
				
			|||||||
  const TRectype& scheda = cur.curr();
 | 
					  const TRectype& scheda = cur.curr();
 | 
				
			||||||
  const TRectype& riga   = cur.curr(LF_RPAG);
 | 
					  const TRectype& riga   = cur.curr(LF_RPAG);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  TProgress_monitor pi(items, TR("Generazione da schede."));
 | 
					  TProgress_monitor pi(items, TR("Generazione da schede"));
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  distruzione();
 | 
					  distruzione();
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
				
			|||||||
@ -185,11 +185,12 @@ bool TGenera::azzera_quadroL()
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
  TString scritta; 
 | 
					  TString scritta; 
 | 
				
			||||||
  scritta.format("Azzeramento quadro ST per la ditta %ld", _codditta);
 | 
					  scritta.format("Azzeramento quadro ST per la ditta %ld", _codditta);
 | 
				
			||||||
  TProgind progn(cl_items, scritta, FALSE, TRUE);
 | 
					  TProgind progn(cl_items, scritta, false);
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  for (cl=0; cl.pos() < cl_items; ++cl)
 | 
					  for (cl=0; cl.pos() < cl_items; ++cl)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    progn.addstatus(1);
 | 
					    if (!progn.addstatus(1))
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
// solo quelli dell'anno dichiarazione 
 | 
					// solo quelli dell'anno dichiarazione 
 | 
				
			||||||
    if (curr.get_int(QUL_QLAP) != _annodic)    
 | 
					    if (curr.get_int(QUL_QLAP) != _annodic)    
 | 
				
			||||||
@ -204,7 +205,7 @@ bool TGenera::azzera_quadroL()
 | 
				
			|||||||
    rl.remove();
 | 
					    rl.remove();
 | 
				
			||||||
  }                    
 | 
					  }                    
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  return TRUE;
 | 
					  return true;
 | 
				
			||||||
}                           
 | 
					}                           
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void TGenera::dati_rver(TLocalisamfile& rver,TSchedaP& sch, long numvers)
 | 
					void TGenera::dati_rver(TLocalisamfile& rver,TSchedaP& sch, long numvers)
 | 
				
			||||||
@ -461,7 +462,7 @@ class TGenera_versamenti : public TApplication
 | 
				
			|||||||
    virtual bool menu(MENU_TAG m);
 | 
					    virtual bool menu(MENU_TAG m);
 | 
				
			||||||
    virtual bool destroy();
 | 
					    virtual bool destroy();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    TGenera&    genera() { return *_genera; }
 | 
					    TGenera& genera() { return *_genera; }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
  public:
 | 
					  public:
 | 
				
			||||||
    TGenera_versamenti(char livello = 'S') : _liv(toupper(livello)) {}
 | 
					    TGenera_versamenti(char livello = 'S') : _liv(toupper(livello)) {}
 | 
				
			||||||
@ -472,13 +473,12 @@ TGenera_versamenti& app() { return (TGenera_versamenti&)main_app(); }
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
bool TGenera_versamenti::menu(MENU_TAG m)
 | 
					bool TGenera_versamenti::menu(MENU_TAG m)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  long  codditta, codditta_prec;
 | 
					 | 
				
			||||||
  int   i = 0;  
 | 
					 | 
				
			||||||
  TConfig cnf_user(CONFIG_USER);
 | 
					 | 
				
			||||||
  
 | 
					 | 
				
			||||||
  if (m == BAR_ITEM_ID(1))
 | 
					  if (m == BAR_ITEM_ID(1))
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    codditta_prec = get_firm_770();
 | 
					    TConfig cnf_user(CONFIG_USER, _section);
 | 
				
			||||||
 | 
					    const long codditta_prec = get_firm_770();
 | 
				
			||||||
 | 
					    int   i = 0;  
 | 
				
			||||||
 | 
					    long  codditta = 0;
 | 
				
			||||||
    while ((codditta = cnf_user.get_long(DITTE_SEL, _section, i++)) != 0L) 
 | 
					    while ((codditta = cnf_user.get_long(DITTE_SEL, _section, i++)) != 0L) 
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      set_firm_770(codditta);
 | 
					      set_firm_770(codditta);
 | 
				
			||||||
@ -486,10 +486,9 @@ bool TGenera_versamenti::menu(MENU_TAG m)
 | 
				
			|||||||
        break;
 | 
					        break;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    set_firm_770(codditta_prec);  
 | 
					    set_firm_770(codditta_prec);  
 | 
				
			||||||
    return FALSE;               
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
  return FALSE;
 | 
					  return false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool TGenera_versamenti::create()
 | 
					bool TGenera_versamenti::create()
 | 
				
			||||||
 | 
				
			|||||||
@ -4,11 +4,11 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
int main(int argc,char** argv)
 | 
					int main(int argc,char** argv)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  const int n = (argc > 1) ? atoi(argv[1]+1) : -1;
 | 
					  const int n = argc>1 ? *argv[1]-'0' : 0;
 | 
				
			||||||
  switch(n)
 | 
					  switch(n)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
  case  1: m777200(argc, argv); break;
 | 
					  case  1: m777200(argc, argv); break; // C.U.
 | 
				
			||||||
  default: m777100(argc, argv); break;
 | 
					  default: m777100(argc, argv); break; // 770
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return 0;
 | 
					  return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										114
									
								
								m770/777100.cpp
									
									
									
									
									
								
							
							
						
						
									
										114
									
								
								m770/777100.cpp
									
									
									
									
									
								
							@ -28,7 +28,7 @@
 | 
				
			|||||||
// Utility
 | 
					// Utility
 | 
				
			||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const int ANNO_DIC = 2014;
 | 
					const int ANNO_PAG = 2014;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
// TForm770
 | 
					// TForm770
 | 
				
			||||||
@ -131,26 +131,39 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
bool TForm770::validate(TForm_item &cf, TToken_string &s)
 | 
					bool TForm770::validate(TForm_item &cf, TToken_string &s)
 | 
				
			||||||
{ 
 | 
					{ 
 | 
				
			||||||
  const TString code(s.get(0)); // prende il primo parametro, il codice del messaggio
 | 
					  const TFixed_string code = s.get(0); // prende il primo parametro, il codice del messaggio
 | 
				
			||||||
  if (code == "_PERIODO_RIF")
 | 
					  if (code == "_PERIODO_RIF")
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    const TRectype& curr = relation()->curr();
 | 
					    const TRectype& curr = relation()->curr();
 | 
				
			||||||
    const int anno = curr.get_int("QLAP");
 | 
					    const int anno = curr.get_int("QLAP");
 | 
				
			||||||
    const int mese = curr.get_int("QLMP");
 | 
					    const int mese = curr.get_int("QLMP");
 | 
				
			||||||
    TString8 str;
 | 
					    TString8 str; str.format("%02d%04d", mese, anno);
 | 
				
			||||||
    str.format("%02d%04d", mese, anno);
 | 
					 | 
				
			||||||
    cf.set(str);
 | 
					    cf.set(str);
 | 
				
			||||||
    return true;
 | 
					    return true;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (code == "_PROVINCIA")
 | 
					  if (code == "_PROVINCIA")
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    const TString& prov = cf.get();
 | 
					    const TFixed_string prov = cf.get();
 | 
				
			||||||
    if (prov == "EE") // Il 770 non gradisce la provincia EE associata agli stati esteri
 | 
					    if (prov == "EE") // Il 770 non gradisce la provincia EE associata agli stati esteri
 | 
				
			||||||
      cf.set(""); else
 | 
					      cf.set(""); else
 | 
				
			||||||
    if (prov == "FO") // Ci sono ancora vecchie province :-( 
 | 
					    if (prov == "FO") // Ci sono ancora vecchie province :-( 
 | 
				
			||||||
      cf.set("FC");
 | 
					      cf.set("FC");
 | 
				
			||||||
    return true;
 | 
					    return true;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  if (code == "_SOLO_CAUS_M")
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    const TRectype& curr = relation()->curr();
 | 
				
			||||||
 | 
					    if (!curr.get("CAUSALE").starts_with("M") || curr.get_real("IMPONIBILE") <= 5000)
 | 
				
			||||||
 | 
					      cf.set("");
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  if (code == "_SOLO_CAUS_N")
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    const TRectype& curr = relation()->curr();
 | 
				
			||||||
 | 
					    if (curr.get("CAUSALE") != "N")
 | 
				
			||||||
 | 
					      cf.set("");
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return TForm::validate(cf, s);
 | 
					  return TForm::validate(cf, s);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -398,12 +411,14 @@ TRecnotype TForm770::trasfer(long codditta, TTrasferimento770& file, char rectyp
 | 
				
			|||||||
  region.put(BSE_CODDITTA, codditta);
 | 
					  region.put(BSE_CODDITTA, codditta);
 | 
				
			||||||
  cur.setregion(region, region);
 | 
					  cur.setregion(region, region);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (region.num() == LF_QUADRO_ST)
 | 
					  TString16 filter;
 | 
				
			||||||
 | 
					  switch (region.num())
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    TString16 filter;
 | 
					  case LF_QUADRO_ST: filter.format("QLAP=%d", ANNO_PAG); break;
 | 
				
			||||||
    filter.format("QLAP=%d", ANNO_DIC);
 | 
					  case LF_QUALA    : filter.format("ANNO=%d", ANNO_PAG); break;
 | 
				
			||||||
    cur.setfilter(filter);
 | 
					  default: break;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  cur.setfilter(filter);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const TRecnotype items = cur.items();
 | 
					  const TRecnotype items = cur.items();
 | 
				
			||||||
  if (items > 0)         // Se c'e almeno un record ...
 | 
					  if (items > 0)         // Se c'e almeno un record ...
 | 
				
			||||||
@ -639,12 +654,11 @@ const TString& TTrasferimento770::read_codfis_dic(const TRectype& rec)
 | 
				
			|||||||
  _codatt_dic = rec_nditte.get(NDT_CODATTPREV); // Codice attivita' prevalente
 | 
					  _codatt_dic = rec_nditte.get(NDT_CODATTPREV); // Codice attivita' prevalente
 | 
				
			||||||
  key.add(_codatt_dic);                         // key = CODDITTA|CODATTPREV
 | 
					  key.add(_codatt_dic);                         // key = CODDITTA|CODATTPREV
 | 
				
			||||||
  const TRectype& attiv = _cache770.get(LF_ATTIV, key);
 | 
					  const TRectype& attiv = _cache770.get(LF_ATTIV, key);
 | 
				
			||||||
  if (attiv.exist(ATT_CODATECO))                // Non e' detto che il campo esista sempre
 | 
					  const TString& codateco = attiv.get(ATT_CODATECO);
 | 
				
			||||||
  {
 | 
					  if (codateco.full())
 | 
				
			||||||
    const TString& codateco = attiv.get(ATT_CODATECO);
 | 
					    _codatt_dic = codateco;
 | 
				
			||||||
    if (codateco.full())
 | 
					  else
 | 
				
			||||||
      _codatt_dic = codateco;
 | 
					    error_box(TR("Non esiste il codice attività ATECO"));
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const TAnagrafica dich(LF_ANAG, _tipoa_dic, _codan_dic);
 | 
					  const TAnagrafica dich(LF_ANAG, _tipoa_dic, _codan_dic);
 | 
				
			||||||
  if (!dich.ok())
 | 
					  if (!dich.ok())
 | 
				
			||||||
@ -660,8 +674,8 @@ const TString& TTrasferimento770::read_codfis_dic(const TRectype& rec)
 | 
				
			|||||||
TRecnotype TTrasferimento770::conta_certificazioni() const
 | 
					TRecnotype TTrasferimento770::conta_certificazioni() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  TString query;
 | 
					  TString query;
 | 
				
			||||||
  query.format("USE %d\nFROM CODDITTA=%ld\nTO CODDITTA=%ld",
 | 
					  query.format("USE %d SELECT ANNO=%d\nFROM CODDITTA=%ld\nTO CODDITTA=%ld",
 | 
				
			||||||
               LF_QUALA, _cod_ditta, _cod_ditta);
 | 
					               LF_QUALA, ANNO_PAG,_cod_ditta, _cod_ditta);
 | 
				
			||||||
  TISAM_recordset recset(query);
 | 
					  TISAM_recordset recset(query);
 | 
				
			||||||
  const TRecnotype nc = recset.items();
 | 
					  const TRecnotype nc = recset.items();
 | 
				
			||||||
  return nc;
 | 
					  return nc;
 | 
				
			||||||
@ -672,7 +686,7 @@ bool TTrasferimento770::casella_prospetto_st() const
 | 
				
			|||||||
  // Il quadro ST e' il "vecchio" quadro L
 | 
					  // Il quadro ST e' il "vecchio" quadro L
 | 
				
			||||||
  TString query;
 | 
					  TString query;
 | 
				
			||||||
  query.format("USE %d\nSELECT QLAP=%d\nFROM CODDITTA=%ld\nTO CODDITTA=%ld",
 | 
					  query.format("USE %d\nSELECT QLAP=%d\nFROM CODDITTA=%ld\nTO CODDITTA=%ld",
 | 
				
			||||||
               LF_QUADRO_ST, ANNO_DIC, _cod_ditta, _cod_ditta);
 | 
					               LF_QUADRO_ST, ANNO_PAG, _cod_ditta, _cod_ditta);
 | 
				
			||||||
  TISAM_recordset recset(query);
 | 
					  TISAM_recordset recset(query);
 | 
				
			||||||
  const TRecnotype nr = recset.items();
 | 
					  const TRecnotype nr = recset.items();
 | 
				
			||||||
  return nr > 0;
 | 
					  return nr > 0;
 | 
				
			||||||
@ -683,7 +697,7 @@ bool TTrasferimento770::casella_prospetto_sx() const
 | 
				
			|||||||
  // Il quadro SX sono le ritenute versate in eccesso
 | 
					  // Il quadro SX sono le ritenute versate in eccesso
 | 
				
			||||||
  TString query;
 | 
					  TString query;
 | 
				
			||||||
  query.format("USE %d\nSELECT QLAP=%d\nFROM CODDITTA=%ld\nTO CODDITTA=%ld",
 | 
					  query.format("USE %d\nSELECT QLAP=%d\nFROM CODDITTA=%ld\nTO CODDITTA=%ld",
 | 
				
			||||||
               LF_QUADRO_ST, ANNO_DIC, _cod_ditta, _cod_ditta);
 | 
					               LF_QUADRO_ST, ANNO_PAG, _cod_ditta, _cod_ditta);
 | 
				
			||||||
  TISAM_recordset recset(query);
 | 
					  TISAM_recordset recset(query);
 | 
				
			||||||
  bool found = false;
 | 
					  bool found = false;
 | 
				
			||||||
  for (bool ok = recset.move_first(); ok && !found; ok = recset.move_next())
 | 
					  for (bool ok = recset.move_first(); ok && !found; ok = recset.move_next())
 | 
				
			||||||
@ -769,6 +783,9 @@ bool TTrasferimento770::append_record_b()
 | 
				
			|||||||
      rec.set(134, rec_rap.data_nascita());
 | 
					      rec.set(134, rec_rap.data_nascita());
 | 
				
			||||||
      rec.set(135, rec_rap.comune_nascita());
 | 
					      rec.set(135, rec_rap.comune_nascita());
 | 
				
			||||||
      rec.set(136, rec_rap.provincia_nascita());
 | 
					      rec.set(136, rec_rap.provincia_nascita());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      if (rec_rap.comune_nascita().blank())
 | 
				
			||||||
 | 
					        cantread_box("dati nascita legale rappresentante");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      cantread_box("dati del legale rappresentante");
 | 
					      cantread_box("dati del legale rappresentante");
 | 
				
			||||||
@ -830,18 +847,18 @@ void TTrasferimento770::riepiloga_ss(const TRecord770& rec, TArray& riep_ss) con
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  TString8 code;
 | 
					  TString8 code;
 | 
				
			||||||
  real val;
 | 
					  real val;
 | 
				
			||||||
  for (int i = 0; rec.np_get_real(i, code, val); i++) if (code.starts_with("AU") && !val.is_zero())
 | 
					  for (int i = 0; rec.np_get_real(i, code, val); i++) if (code.starts_with("AU") && code[5] != 'A' && !val.is_zero())
 | 
				
			||||||
  {   
 | 
					  {   
 | 
				
			||||||
    const TString& key = code.right(3);
 | 
					    const TString& key = code.right(3);
 | 
				
			||||||
    const int num = atoi(key);
 | 
					    const int num = atoi(key);
 | 
				
			||||||
    if (num >= 27 && num <= 35) 
 | 
					    if (num >= 9 && num <= 17) 
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      real& r = real_at(riep_ss, num-27);  // AU_27-AU_47 -> SS003001
 | 
					      real& r = real_at(riep_ss, num-9);  // AU_9 -AU_54 -> SS003001
 | 
				
			||||||
      r += val;
 | 
					      r += val;                           // AU_10-AU_55 -> SS003002
 | 
				
			||||||
    } else
 | 
					    } else
 | 
				
			||||||
    if (num >= 47 && num <= 55) 
 | 
					    if (num >= 54 && num <= 62) 
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      real& r = real_at(riep_ss, num-47);
 | 
					      real& r = real_at(riep_ss, num-54);
 | 
				
			||||||
      r -= val;
 | 
					      r -= val;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@ -874,10 +891,10 @@ bool TTrasferimento770::split(const char* path)
 | 
				
			|||||||
  TRecord770 rec;
 | 
					  TRecord770 rec;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  unsigned long disk_size = 15*1024*1024;   // Max 15 Mb per fornitura
 | 
					  unsigned long disk_size = 15*1024*1024;   // Max 15 Mb per fornitura
 | 
				
			||||||
  const bool magnetic = ::xvt_fsys_is_removable_drive(path) !=0;
 | 
					  const bool magnetic = ::xvt_fsys_is_floppy_drive(path)!=0;
 | 
				
			||||||
  if (magnetic)
 | 
					  if (magnetic)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    if (!yesno_box(FR("Inserire il primo disco del trasferimento nell'unita' %s\n"
 | 
					    if (!yesno_box(FR("Inserire il primo disco del trasferimento nell'unità %s\n"
 | 
				
			||||||
                   "Tutti i dischi devono essere vuoti ed avere la stesso formato.\n"
 | 
					                   "Tutti i dischi devono essere vuoti ed avere la stesso formato.\n"
 | 
				
			||||||
                   "Si desidera iniziare il trasferimento?"), path))
 | 
					                   "Si desidera iniziare il trasferimento?"), path))
 | 
				
			||||||
      return false;
 | 
					      return false;
 | 
				
			||||||
@ -887,7 +904,7 @@ bool TTrasferimento770::split(const char* path)
 | 
				
			|||||||
  const long records_per_disk = long(disk_size / TOTAL_SIZE) - 3;  // Tolgo A,B,Z
 | 
					  const long records_per_disk = long(disk_size / TOTAL_SIZE) - 3;  // Tolgo A,B,Z
 | 
				
			||||||
  const int volumes = int((records-1)/records_per_disk)+1;
 | 
					  const int volumes = int((records-1)/records_per_disk)+1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  TProgind pi(records, TR("Generazione file trasferimento"), false, true);
 | 
					  TProgress_monitor pi(records, TR("Generazione file trasferimento"));
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  // Read from start
 | 
					  // Read from start
 | 
				
			||||||
  open("", 'r');
 | 
					  open("", 'r');
 | 
				
			||||||
@ -933,7 +950,7 @@ bool TTrasferimento770::split(const char* path)
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
      while (read(rec))
 | 
					      while (read(rec))
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        pi.addstatus(1);
 | 
					        pi.add_status();
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
        const char tipo_rec = rec.tipo_record();
 | 
					        const char tipo_rec = rec.tipo_record();
 | 
				
			||||||
        if (tipo_rec <= 'A' || tipo_rec == 'F' || tipo_rec == 'J' || tipo_rec >= 'Z')
 | 
					        if (tipo_rec <= 'A' || tipo_rec == 'F' || tipo_rec == 'J' || tipo_rec >= 'Z')
 | 
				
			||||||
@ -1029,7 +1046,7 @@ void TTrasferimento770::remove()
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TTrasferimento770::TTrasferimento770(const char* path, char  mode, int volume)
 | 
					TTrasferimento770::TTrasferimento770(const char* path, char  mode, int volume)
 | 
				
			||||||
: _in_stream(NULL), _out_stream(NULL), _save_headers(false), _centesimi(false)
 | 
					                 : _in_stream(NULL), _out_stream(NULL), _save_headers(false), _centesimi(false)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  open(path, mode, volume);
 | 
					  open(path, mode, volume);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -1050,6 +1067,7 @@ protected:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
public:         
 | 
					public:         
 | 
				
			||||||
  TTransfer770_msk();
 | 
					  TTransfer770_msk();
 | 
				
			||||||
 | 
					  ~TTransfer770_msk();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool TTransfer770_msk::on_field_event(TOperable_field& of, TField_event fe, long jolly)
 | 
					bool TTransfer770_msk::on_field_event(TOperable_field& of, TField_event fe, long jolly)
 | 
				
			||||||
@ -1072,16 +1090,34 @@ bool TTransfer770_msk::on_field_event(TOperable_field& of, TField_event fe, long
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
TTransfer770_msk::TTransfer770_msk() : TAutomask("777100a") 
 | 
					TTransfer770_msk::TTransfer770_msk() : TAutomask("777100a") 
 | 
				
			||||||
{ 
 | 
					{ 
 | 
				
			||||||
  /*
 | 
					  set(F_ANNOPAG, ANNO_PAG);
 | 
				
			||||||
  int anno = ini_get_int(CONFIG_STUDIO, "77", ANNO_SEL);
 | 
					  set(F_ANNODIC, ANNO_PAG+1);
 | 
				
			||||||
  if (anno <= 0)
 | 
					  set(F_NOHEADERS,ini_get_bool(CONFIG_STUDIO, "77", "SaveDataOnly", false));
 | 
				
			||||||
 | 
					  set(F_PATH,   ini_get_string(CONFIG_STUDIO, "77", "SavePath"));
 | 
				
			||||||
 | 
					  long ditta1 = ini_get_int   (CONFIG_STUDIO, "77", "SaveFirm1", 0);
 | 
				
			||||||
 | 
					  long ditta2 = ini_get_int   (CONFIG_STUDIO, "77", "SaveFirm2", 0);
 | 
				
			||||||
 | 
					  if (ditta1 <= 0 || ditta2 <= 0)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    const TDate oggi(TODAY);
 | 
					    TPointer_array d;
 | 
				
			||||||
    anno = oggi.year()-1;
 | 
					    prefix().firms(d);
 | 
				
			||||||
 | 
					    if (!d.empty())
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      if (ditta1 <= 0) 
 | 
				
			||||||
 | 
					        ditta1 = d.get_long(0);
 | 
				
			||||||
 | 
					      if (ditta2 < ditta1) 
 | 
				
			||||||
 | 
					        ditta2 = d.get_long(d.last());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  set(F_ANNO, anno);
 | 
					  set(F_DADITTA, ditta1);
 | 
				
			||||||
  */
 | 
					  set(F_ADITTA,  ditta2);
 | 
				
			||||||
  set(F_ANNO, ANNO_DIC);
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TTransfer770_msk::~TTransfer770_msk()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  ini_set_bool  (CONFIG_STUDIO, "77", "SaveDataOnly",get_bool(F_NOHEADERS));
 | 
				
			||||||
 | 
					  ini_set_string(CONFIG_STUDIO, "77", "SavePath",    get(F_PATH));
 | 
				
			||||||
 | 
					  ini_set_int   (CONFIG_STUDIO, "77", "SaveFirm1",   get_long(F_DADITTA));
 | 
				
			||||||
 | 
					  ini_set_int   (CONFIG_STUDIO, "77", "SaveFirm2",   get_long(F_ADITTA));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class TTransfer770_app : public TSkeleton_application
 | 
					class TTransfer770_app : public TSkeleton_application
 | 
				
			||||||
@ -1098,7 +1134,7 @@ void TTransfer770_app::main_loop()
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    TFilename tmp; tmp.tempdir();
 | 
					    TFilename tmp; tmp.tempdir();
 | 
				
			||||||
    TTrasferimento770 t(tmp, 'w');
 | 
					    TTrasferimento770 t(tmp, 'w');
 | 
				
			||||||
    t.save_headers(m.get_bool(F_HEADERS));
 | 
					    t.save_headers(!m.get_bool(F_NOHEADERS));
 | 
				
			||||||
    t.set_cent_mode(m.get_bool(F_CENT));
 | 
					    t.set_cent_mode(m.get_bool(F_CENT));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    TRelation rel_base(LF_BASE);
 | 
					    TRelation rel_base(LF_BASE);
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +1,10 @@
 | 
				
			|||||||
#define F_PATH     102
 | 
					#define F_PATH      102
 | 
				
			||||||
#define F_ANNO     104 
 | 
					#define F_ANNOPAG   103
 | 
				
			||||||
#define F_DADITTA  105
 | 
					#define F_ANNODIC   104 
 | 
				
			||||||
#define F_DADESC   106
 | 
					#define F_DADITTA   105
 | 
				
			||||||
#define F_ADITTA   107
 | 
					#define F_DADESC    106
 | 
				
			||||||
#define F_ADESC    108
 | 
					#define F_ADITTA    107
 | 
				
			||||||
#define F_HEADERS  109
 | 
					#define F_ADESC     108
 | 
				
			||||||
#define F_CENT     110
 | 
					#define F_NOHEADERS 109
 | 
				
			||||||
 | 
					#define F_CENT      110
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,14 +1,20 @@
 | 
				
			|||||||
#include "777100a.h"
 | 
					#include "777100a.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PAGE "Invio 770" -1 -1 72 8
 | 
					PAGE "Invio 770" -1 -1 76 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NUMBER F_ANNO 4
 | 
					NUMBER F_ANNOPAG 4
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 47 1 "Anno dichiarazione "
 | 
					  PROMPT 49 0 "Anno pagamenti     "
 | 
				
			||||||
  FLAGS "D"
 | 
					  FLAGS "D"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING F_PATH 260 53
 | 
					NUMBER F_ANNODIC 4
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT 49 1 "Anno dichiarazione "
 | 
				
			||||||
 | 
					  FLAGS "D"
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					STRING F_PATH 260 58
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 1 2 "Destinazione "
 | 
					  PROMPT 1 2 "Destinazione "
 | 
				
			||||||
  DSELECT
 | 
					  DSELECT
 | 
				
			||||||
@ -17,7 +23,7 @@ END
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
NUMBER F_DADITTA 5
 | 
					NUMBER F_DADITTA 5
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 1 3 "Da ditta "
 | 
					  PROMPT 1 4 "Dalla ditta  "
 | 
				
			||||||
  USE LF_BASE 
 | 
					  USE LF_BASE 
 | 
				
			||||||
  JOIN LF_NDITTE INTO CODDITTA=CODDITTA
 | 
					  JOIN LF_NDITTE INTO CODDITTA=CODDITTA
 | 
				
			||||||
  INPUT CODDITTA F_DADITTA
 | 
					  INPUT CODDITTA F_DADITTA
 | 
				
			||||||
@ -27,17 +33,18 @@ BEGIN
 | 
				
			|||||||
  OUTPUT F_DADITTA CODDITTA
 | 
					  OUTPUT F_DADITTA CODDITTA
 | 
				
			||||||
  OUTPUT F_DADESC LF_NDITTE->RAGSOC 
 | 
					  OUTPUT F_DADESC LF_NDITTE->RAGSOC 
 | 
				
			||||||
  CHECKTYPE NORMAL
 | 
					  CHECKTYPE NORMAL
 | 
				
			||||||
 | 
					  ADD RUN ba4 -2
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING F_DADESC 50
 | 
					STRING F_DADESC 50
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 20 3 ""
 | 
					  PROMPT 22 4 ""
 | 
				
			||||||
  FLAGS "D"
 | 
					  FLAGS "D"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NUMBER F_ADITTA 5
 | 
					NUMBER F_ADITTA 5
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 1 4 "A ditta  "
 | 
					  PROMPT 1 5 "Alla ditta   "
 | 
				
			||||||
  COPY USE F_DADITTA
 | 
					  COPY USE F_DADITTA
 | 
				
			||||||
  INPUT CODDITTA F_ADITTA
 | 
					  INPUT CODDITTA F_ADITTA
 | 
				
			||||||
  COPY DISPLAY F_DADITTA
 | 
					  COPY DISPLAY F_DADITTA
 | 
				
			||||||
@ -46,22 +53,23 @@ BEGIN
 | 
				
			|||||||
  CHECKTYPE SEARCH
 | 
					  CHECKTYPE SEARCH
 | 
				
			||||||
  NUM_EXPR (#F_ADITTA=0)||(#F_ADITTA>=#F_DADITTA)
 | 
					  NUM_EXPR (#F_ADITTA=0)||(#F_ADITTA>=#F_DADITTA)
 | 
				
			||||||
  WARNING "La ditta finale deve seguire quella iniziale"
 | 
					  WARNING "La ditta finale deve seguire quella iniziale"
 | 
				
			||||||
 | 
					  ADD RUN ba4 -2
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING F_ADESC 50
 | 
					STRING F_ADESC 50
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 20 4 ""
 | 
					  PROMPT 22 5 ""
 | 
				
			||||||
  FLAGS "D"
 | 
					  FLAGS "D"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BOOLEAN F_HEADERS
 | 
					BOOLEAN F_NOHEADERS
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 1 6 "Genera record di testata (tipo A, B, Z)"
 | 
					  PROMPT 1 7 "Generazione dei soli record dati (H,J) senza record di testata (A, B, Z)"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BOOLEAN F_CENT
 | 
					BOOLEAN F_CENT
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 1 7 "Salva importi in centesimi (x 100)"
 | 
					  PROMPT 1 8 "Salvataggio importi in centesimi (x 100)"
 | 
				
			||||||
  FLAGS "H"
 | 
					  FLAGS "H"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										212
									
								
								m770/77qla.frm
									
									
									
									
									
								
							
							
						
						
									
										212
									
								
								m770/77qla.frm
									
									
									
									
									
								
							@ -40,7 +40,7 @@ BEGIN
 | 
				
			|||||||
  KEY "COD.FIS"
 | 
					  KEY "COD.FIS"
 | 
				
			||||||
  PROMPT 10 1 ""
 | 
					  PROMPT 10 1 ""
 | 
				
			||||||
  FIELD 216@->COFI
 | 
					  FIELD 216@->COFI
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001001" "AN"
 | 
					  SPECIAL STRING TRASFER "AU001A01" "AN"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 2
 | 
					STRINGA 2
 | 
				
			||||||
@ -48,7 +48,7 @@ BEGIN
 | 
				
			|||||||
  KEY "COGNOME"
 | 
					  KEY "COGNOME"
 | 
				
			||||||
  PROMPT 42 1 ""
 | 
					  PROMPT 42 1 ""
 | 
				
			||||||
  FIELD 216@->RAGSOC[1,30]
 | 
					  FIELD 216@->RAGSOC[1,30]
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001002" "AN"
 | 
					  SPECIAL STRING TRASFER "AU001A02" "AN"
 | 
				
			||||||
END          
 | 
					END          
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 3
 | 
					STRINGA 3
 | 
				
			||||||
@ -56,7 +56,7 @@ BEGIN
 | 
				
			|||||||
  KEY "NOME"
 | 
					  KEY "NOME"
 | 
				
			||||||
  PROMPT 22 3 ""
 | 
					  PROMPT 22 3 ""
 | 
				
			||||||
  FIELD 216@->RAGSOC[31,50]
 | 
					  FIELD 216@->RAGSOC[31,50]
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001003" "AN"
 | 
					  SPECIAL STRING TRASFER "AU001A03" "AN"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 4
 | 
					STRINGA 4
 | 
				
			||||||
@ -64,7 +64,7 @@ BEGIN
 | 
				
			|||||||
  KEY "SESSO"
 | 
					  KEY "SESSO"
 | 
				
			||||||
  PROMPT 57 3 ""
 | 
					  PROMPT 57 3 ""
 | 
				
			||||||
  FIELD 218@->SESSO
 | 
					  FIELD 218@->SESSO
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001004" "AN"
 | 
					  SPECIAL STRING TRASFER "AU001A04" "AN"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 5
 | 
					STRINGA 5
 | 
				
			||||||
@ -73,7 +73,7 @@ BEGIN
 | 
				
			|||||||
  PROMPT 63 3 ""
 | 
					  PROMPT 63 3 ""
 | 
				
			||||||
  FIELD 218@->DATANASC
 | 
					  FIELD 218@->DATANASC
 | 
				
			||||||
  PICTURE "##^ ##^ ####"
 | 
					  PICTURE "##^ ##^ ####"
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001005" "DT"
 | 
					  SPECIAL STRING TRASFER "AU001A05" "DT"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 6
 | 
					STRINGA 6
 | 
				
			||||||
@ -81,7 +81,7 @@ BEGIN
 | 
				
			|||||||
  KEY "COMUNE DI NASCITA"
 | 
					  KEY "COMUNE DI NASCITA"
 | 
				
			||||||
  PROMPT 79 3 ""
 | 
					  PROMPT 79 3 ""
 | 
				
			||||||
  FIELD 313@->DENCOM
 | 
					  FIELD 313@->DENCOM
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001006" "AN"
 | 
					  SPECIAL STRING TRASFER "AU001A06" "AN"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 7
 | 
					STRINGA 7
 | 
				
			||||||
@ -89,273 +89,205 @@ BEGIN
 | 
				
			|||||||
  KEY "PROV DI NASCITA"
 | 
					  KEY "PROV DI NASCITA"
 | 
				
			||||||
  PROMPT 126 3 ""
 | 
					  PROMPT 126 3 ""
 | 
				
			||||||
  FIELD 313@->PROVCOM
 | 
					  FIELD 313@->PROVCOM
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001007" "AN"
 | 
					  SPECIAL STRING TRASFER "AU001A07" "AN"
 | 
				
			||||||
  MESSAGE _PROVINCIA
 | 
					  MESSAGE _PROVINCIA
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 8
 | 
					STRINGA 20
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "COMUNE DI RESIDENZA FISCALE"
 | 
					  KEY "COMUNE DI RESIDENZA FISCALE"
 | 
				
			||||||
  PROMPT 25 5 ""
 | 
					  PROMPT 25 5 ""
 | 
				
			||||||
  FIELD 513@->DENCOM
 | 
					  FIELD 513@->DENCOM
 | 
				
			||||||
  FIELD 413@->DENCOM
 | 
					  FIELD 413@->DENCOM
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001008" "AN"
 | 
					  SPECIAL STRING TRASFER "AU001A20" "AN"
 | 
				
			||||||
  GROUP 1
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 9
 | 
					STRINGA 21
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "PROV DI RESIDENZA FISCALE"
 | 
					  KEY "PROV DI RESIDENZA FISCALE"
 | 
				
			||||||
  PROMPT 126 3 ""
 | 
					  PROMPT 126 3 ""
 | 
				
			||||||
  FIELD 513@->PROVCOM
 | 
					  FIELD 513@->PROVCOM
 | 
				
			||||||
  FIELD 413@->PROVCOM
 | 
					  FIELD 413@->PROVCOM
 | 
				
			||||||
  GROUP 1
 | 
					  MESSAGE _SOLO_CAUS_N
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001009" "AN"
 | 
					  SPECIAL STRING TRASFER "AU001A21" "AN"
 | 
				
			||||||
  MESSAGE _PROVINCIA
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NUMBER 10
 | 
					STRINGA 22
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "CODICE REGIONE"
 | 
					  KEY "CODICE COMUNE"
 | 
				
			||||||
  PROMPT 78 5 ""
 | 
					  PROMPT 78 5 ""
 | 
				
			||||||
  FIELD 218@->CODREG96
 | 
					  FIELD 513@->COM
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001010" "NU"
 | 
					  FIELD 413@->COM
 | 
				
			||||||
  GROUP 1
 | 
					  SPECIAL STRING TRASFER "AU001A22" "AN"
 | 
				
			||||||
END
 | 
					  MESSAGE _SOLO_CAUS_N
 | 
				
			||||||
 | 
					 | 
				
			||||||
STRINGA 12
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  KEY "CODICE COMUNE SOLO SE CAUSALE=N"
 | 
					 | 
				
			||||||
  PROMPT 78 5 ""
 | 
					 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001011" "AN"
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 101
 | 
					STRINGA 101
 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  KEY "VIA RES. FISC."
 | 
					 | 
				
			||||||
  FIELD 216@->INDRF[1,35]
 | 
					 | 
				
			||||||
  FIELD 216@->INDRES[1,35]
 | 
					 | 
				
			||||||
  FLAGS "H"
 | 
					 | 
				
			||||||
  MESSAGE COPY,11
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
STRINGA 102
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  KEY "NUM.CIV DI RESIDENZA FISC."
 | 
					 | 
				
			||||||
  FLAGS "H"
 | 
					 | 
				
			||||||
  FIELD 216@->CIVRF
 | 
					 | 
				
			||||||
  FIELD 216@->CIVRES
 | 
					 | 
				
			||||||
  MESSAGE APPEND,11
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
STRINGA 11
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  KEY "VIA RF + NUMCIVRF"
 | 
					 | 
				
			||||||
  PROMPT 78 5 ""
 | 
					 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001012" "AN"
 | 
					 | 
				
			||||||
  MESSAGE COPY,17
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
STRINGA 15
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  KEY "CODICE FISCALE ESTERO"
 | 
					 | 
				
			||||||
  PROMPT 90 7 ""      
 | 
					 | 
				
			||||||
  FIELD 216@->COFIEST
 | 
					 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001015" "AN"
 | 
					 | 
				
			||||||
  MESSAGE EMPTY HIDE,15@
 | 
					 | 
				
			||||||
  MESSAGE SHOW,15@
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
STRINGA 16
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  KEY "LOCALITA' ESTERA DI RES."
 | 
					 | 
				
			||||||
  PROMPT 75 7 "" 
 | 
					 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001016" "AN"
 | 
					 | 
				
			||||||
  GROUP 15
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
STRINGA 17
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  KEY "INDIRIZZO DI RES. ESTERO"
 | 
					 | 
				
			||||||
  PROMPT 75 7 ""   
 | 
					 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001017" "AN"
 | 
					 | 
				
			||||||
  GROUP 15
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
NUMERO 18
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
  KEY "STATO ESTERO"
 | 
					 | 
				
			||||||
  PROMPT 75 7 "" 
 | 
					 | 
				
			||||||
  FIELD 216@->STATORES
 | 
					 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001018" "NU"
 | 
					 | 
				
			||||||
  GROUP 15
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
STRINGA 19
 | 
					 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "CAUSALE"
 | 
					  KEY "CAUSALE"
 | 
				
			||||||
  PROMPT 13 9 ""
 | 
					  PROMPT 13 9 ""
 | 
				
			||||||
  FIELD CAUSALE
 | 
					  FIELD CAUSALE
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001019" "AN"
 | 
					  SPECIAL STRING TRASFER "AU001001" "AN"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NUMERO 20
 | 
					NUMERO 102
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "ANNO"
 | 
					  KEY "ANNO"
 | 
				
			||||||
  PROMPT 16 9 ""
 | 
					  PROMPT 16 9 ""
 | 
				
			||||||
  FIELD ANNO
 | 
					  FIELD ANNO
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001020" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001002" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 21
 | 
					STRINGA 103
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "ANTICIPAZIONI"
 | 
					  KEY "ANTICIPAZIONI"
 | 
				
			||||||
  PROMPT 27 9 ""
 | 
					  PROMPT 27 9 ""
 | 
				
			||||||
  FIELD ANTICIPAZ
 | 
					  FIELD ANTICIPAZ
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001021" "CB"
 | 
					  SPECIAL STRING TRASFER "AU001003" "CB"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
VALUTA 22
 | 
					VALUTA 104
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "AMMONTARE LORDO"
 | 
					  KEY "AMMONTARE LORDO"
 | 
				
			||||||
  PROMPT 27 9 ""
 | 
					  PROMPT 27 9 ""
 | 
				
			||||||
  FIELD TOTALE
 | 
					  FIELD TOTALE
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001022" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001004" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 23
 | 
					VALUTA 105
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "SOMREGCONV"
 | 
					  KEY "SOMREGCONV"
 | 
				
			||||||
  PROMPT 47 9 ""
 | 
					  PROMPT 47 9 ""
 | 
				
			||||||
  FIELD SOMREGCONV    
 | 
					  FIELD SOMREGCONV    
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001023" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001005" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NUMERO 24
 | 
					NUMERO 106
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "Codice somme non soggette a ritenuta"
 | 
					  KEY "Codice somme non soggette a ritenuta"
 | 
				
			||||||
  PROMPT 64 9 ""
 | 
					  PROMPT 64 9 ""
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001024" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001006" "NP"
 | 
				
			||||||
  MESSAGE _NUMEXPR,IF(SOMME>0,1,0)
 | 
					  MESSAGE _NUMEXPR,IF(SOMME>0,1,0)
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 25
 | 
					VALUTA 107
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "SOMME NON SOGGETTE A RITENUTA"
 | 
					  KEY "SOMME NON SOGGETTE A RITENUTA"
 | 
				
			||||||
  PROMPT 66 9 ""
 | 
					  PROMPT 107 9 ""
 | 
				
			||||||
  FIELD SOMME
 | 
					  FIELD SOMME
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001025" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001007" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 26
 | 
					VALUTA 108
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "IMPONIBILE = 22-23-25"
 | 
					  KEY "IMPONIBILE = 22-23-25"
 | 
				
			||||||
  PROMPT 88 9 ""
 | 
					  PROMPT 108 9 ""
 | 
				
			||||||
  FIELD IMPONIBILE    
 | 
					  FIELD IMPONIBILE
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001026" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001008" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 27
 | 
					VALUTA 109
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "Ritenute operate a titolo di acconto"
 | 
					  KEY "Ritenute operate a titolo di acconto"
 | 
				
			||||||
  PROMPT 109 9 ""
 | 
					  PROMPT 109 9 ""
 | 
				
			||||||
  FIELD IMPORTO       
 | 
					  FIELD IMPORTO       
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001027" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001009" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 28
 | 
					VALUTA 110
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "Ritenute operate a titolo di imposta"
 | 
					  KEY "Ritenute operate a titolo di imposta"
 | 
				
			||||||
  PROMPT 109 9 ""
 | 
					  PROMPT 110 9 ""
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001028" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001010" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 29
 | 
					VALUTA 111
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "RITENUTE SOSPESE"
 | 
					  KEY "RITENUTE SOSPESE"
 | 
				
			||||||
  PROMPT 109 9 ""
 | 
					  PROMPT 109 9 ""
 | 
				
			||||||
  FIELD RITSOSPESE
 | 
					  FIELD RITSOSPESE
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001029" ""
 | 
					  SPECIAL STRING TRASFER "AU001011" ""
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 30
 | 
					VALUTA 112
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "ADDIZIONALE REGIONALE a titolo di acconto"
 | 
					  KEY "ADDIZIONALE REGIONALE a titolo di acconto"
 | 
				
			||||||
  PROMPT 109 9 ""
 | 
					  PROMPT 109 9 ""
 | 
				
			||||||
  FIELD ADDREG                    
 | 
					  FIELD ADDREG                    
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001030" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001012" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 31
 | 
					VALUTA 113
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "ADDIZIONALE REGIONALE a titolo di imposta"
 | 
					  KEY "ADDIZIONALE REGIONALE a titolo di imposta"
 | 
				
			||||||
  PROMPT 109 9 ""
 | 
					  PROMPT 109 9 ""
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001031" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001013" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 32
 | 
					VALUTA 114
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "ADDIZIONALE REGIONALE SOSPESA"
 | 
					  KEY "ADDIZIONALE REGIONALE SOSPESA"
 | 
				
			||||||
  PROMPT 109 9 ""
 | 
					  PROMPT 114 9 ""
 | 
				
			||||||
  FIELD ADDREGSOSP
 | 
					  FIELD ADDREGSOSP
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001032" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001014" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 33
 | 
					VALUTA 115
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "ADDIZIONALE COMUNALE a titolo di acconto"
 | 
					  KEY "ADDIZIONALE COMUNALE a titolo di acconto"
 | 
				
			||||||
  PROMPT 109 9 ""
 | 
					  PROMPT 109 9 ""
 | 
				
			||||||
//  FIELD ADDCOM
 | 
					//  FIELD ADDCOM
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001033" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001015" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 34
 | 
					VALUTA 116
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "ADDIZIONALE COMUNALE a titolo di imposta"
 | 
					  KEY "ADDIZIONALE COMUNALE a titolo di imposta"
 | 
				
			||||||
  PROMPT 109 9 ""
 | 
					  PROMPT 116 9 ""
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001034" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001016" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 35
 | 
					VALUTA 117
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "ADDIZIONALE COMUNALE SOSPESA"
 | 
					  KEY "ADDIZIONALE COMUNALE SOSPESA"
 | 
				
			||||||
  PROMPT 109 9 ""
 | 
					  PROMPT 117 9 ""
 | 
				
			||||||
//  FIELD ADDCOMSOSP
 | 
					//  FIELD ADDCOMSOSP
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001035" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001017" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 36
 | 
					VALUTA 118
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "IMPONIBILE ANNI PRECEDENTI"
 | 
					  KEY "IMPONIBILE ANNI PRECEDENTI"
 | 
				
			||||||
  PROMPT 109 9 ""
 | 
					  PROMPT 118 9 ""
 | 
				
			||||||
  FIELD IMPANNIPRE
 | 
					  FIELD IMPANNIPRE
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001036" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001018" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 37
 | 
					VALUTA 119
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "RITENUTE ANNI PRECEDENTI"
 | 
					  KEY "RITENUTE ANNI PRECEDENTI"
 | 
				
			||||||
  PROMPT 109 9 ""
 | 
					  PROMPT 119 9 ""
 | 
				
			||||||
  FIELD RITANNIPRE
 | 
					  FIELD RITANNIPRE
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001037" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001019" "NP"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 38
 | 
					VALUTA 120
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "CONTRIBUTI PREVIDENZIALI A CARICO DEL SOGGETTO EROGANTE"
 | 
					  KEY "CONTRIBUTI PREVIDENZIALI A CARICO DEL SOGGETTO EROGANTE"
 | 
				
			||||||
  PROMPT 109 9 ""
 | 
					  PROMPT 120 9 ""
 | 
				
			||||||
  FIELD CTINPSEROG
 | 
					  FIELD CTINPSEROG
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001038" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001020" "NP"
 | 
				
			||||||
 | 
					  MESSAGE _SOLO_CAUS_M
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VALUTA 39
 | 
					VALUTA 121
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  KEY "CONTRIBUTI PREVIDENZIALI A CARICO DEL PERCIPIENTE"
 | 
					  KEY "CONTRIBUTI PREVIDENZIALI A CARICO DEL PERCIPIENTE"
 | 
				
			||||||
  PROMPT 109 9 ""
 | 
					  PROMPT 121 9 ""
 | 
				
			||||||
  FIELD CTINPSPERC
 | 
					  FIELD CTINPSPERC
 | 
				
			||||||
  SPECIAL STRING TRASFER "AU001039" "NP"
 | 
					  SPECIAL STRING TRASFER "AU001021" "NP"
 | 
				
			||||||
 | 
					  MESSAGE _SOLO_CAUS_M
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user