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
					
				| @ -289,9 +289,15 @@ void TSchedaPercipienti::calcola_riga_pag(TRectype& rec, | |||||||
| 	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
 |    | ||||||
|  |   real ctssncomp = (((compenso * h_PercAssImpInps) / CENTO) * h_PercInps) / CENTO;   | ||||||
|  |   ctssncomp.round(fdec);  // calcolo contributo Inps complessivo
 | ||||||
|   rec.put(PAG_INPSCOMP, ctssncomp); |   rec.put(PAG_INPSCOMP, ctssncomp); | ||||||
| 	real ctssnperc = (h_PercCommitInps == ZERO) ? ctssncomp - ((ctssncomp * 2) / 3) : ctssncomp - ((ctssncomp * h_PercCommitInps) / CENTO);  ctssnperc.round(fdec); // calcolo contributo Inps del percipiente
 | 
 | ||||||
|  |   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); |   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)) | ||||||
|  | |||||||
| @ -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) | ||||||
| @ -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; | ||||||
| } | } | ||||||
							
								
								
									
										108
									
								
								m770/777100.cpp
									
									
									
									
									
								
							
							
						
						
									
										108
									
								
								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; |   TString16 filter; | ||||||
|     filter.format("QLAP=%d", ANNO_DIC); |   switch (region.num()) | ||||||
|     cur.setfilter(filter); |   { | ||||||
|  |   case LF_QUADRO_ST: filter.format("QLAP=%d", ANNO_PAG); break; | ||||||
|  |   case LF_QUALA    : filter.format("ANNO=%d", ANNO_PAG); break; | ||||||
|  |   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); |   const TString& codateco = attiv.get(ATT_CODATECO); | ||||||
|   if (codateco.full()) |   if (codateco.full()) | ||||||
|     _codatt_dic = codateco; |     _codatt_dic = codateco; | ||||||
|   } |   else | ||||||
|  |     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_ANNO, ANNO_DIC); |   set(F_ADITTA,  ditta2); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 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_ANNODIC   104  | ||||||
| #define F_DADITTA   105 | #define F_DADITTA   105 | ||||||
| #define F_DADESC    106 | #define F_DADESC    106 | ||||||
| #define F_ADITTA    107 | #define F_ADITTA    107 | ||||||
| #define F_ADESC     108 | #define F_ADESC     108 | ||||||
| #define F_HEADERS  109 | #define F_NOHEADERS 109 | ||||||
| #define F_CENT      110 | #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 | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										210
									
								
								m770/77qla.frm
									
									
									
									
									
								
							
							
						
						
									
										210
									
								
								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