Patch level : 12.0 nopatch
Files correlati : 777200.cpp; 777lib.cpp; 777lib.h; 777.vcxproj Commento: CU 2022: Aggiornati e riordinati tracciati record A...Z
This commit is contained in:
		
							parent
							
								
									a243b65d8c
								
							
						
					
					
						commit
						8c293c2964
					
				@ -204,6 +204,7 @@
 | 
			
		||||
    </ProjectReference>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ClInclude Include="..\src\m770\777100a.h" />
 | 
			
		||||
    <ClInclude Include="..\src\m770\777200a.h" />
 | 
			
		||||
    <ClInclude Include="..\src\m770\777200c.h" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
 | 
			
		||||
@ -77,5 +77,8 @@
 | 
			
		||||
    <ClInclude Include="..\src\m770\777200a.h">
 | 
			
		||||
      <Filter>Headers</Filter>
 | 
			
		||||
    </ClInclude>
 | 
			
		||||
    <ClInclude Include="..\src\m770\777100a.h">
 | 
			
		||||
      <Filter>Headers</Filter>
 | 
			
		||||
    </ClInclude>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
</Project>
 | 
			
		||||
@ -23,35 +23,11 @@
 | 
			
		||||
#include "quadroc.h"
 | 
			
		||||
#include "quadrod.h"
 | 
			
		||||
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
// Utilities
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
// Forma un numero di telefono composto di sole cifre da prefisso+numero
 | 
			
		||||
const TString& get_telephone(const TRectype& rec, const char* pref, const char* numf)
 | 
			
		||||
{
 | 
			
		||||
  TString& num = get_tmp_string();
 | 
			
		||||
  num << rec.get(pref) << rec.get(numf);
 | 
			
		||||
  char* dst = num.get_buffer();
 | 
			
		||||
  for (const char* src = dst; *src; src++)
 | 
			
		||||
  {
 | 
			
		||||
    if (*src >= '0' && *src <= '9')
 | 
			
		||||
    {
 | 
			
		||||
      if (src > dst)
 | 
			
		||||
        *dst = *src;
 | 
			
		||||
      dst++;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  *dst = '\0';
 | 
			
		||||
  return num;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
// TTracciatoCU
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TTracciatoCU : public TTracciato770
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
@ -71,112 +47,110 @@ TTracciatoCU::TTracciatoCU(char tipo)
 | 
			
		||||
    add_filler(2, 14);                                                  //  2 
 | 
			
		||||
    add_field("Codice fornitura",              AN,  16,  5);            //  3
 | 
			
		||||
    add_field("Tipo fornitore",                NU,  21,  2);            //  4
 | 
			
		||||
    add_field("Codice fiscale del fornitore",  CF,  23, 16);
 | 
			
		||||
    add_field("Codice fiscale del fornitore",  AN,  23, 16);            //  5
 | 
			
		||||
    add_filler(39, 483);                                                //  6
 | 
			
		||||
    add_filler(522, 4);                                                 //  7
 | 
			
		||||
    add_filler(526, 4);                                                 //  8
 | 
			
		||||
    add_field("Campo utente",                  AN, 530, 100);           //  9
 | 
			
		||||
    add_filler(630, 1068);                                              // 10
 | 
			
		||||
    add_field("Spazio servizio telematico",    AN, 1698, 200);          // 11
 | 
			
		||||
 | 
			
		||||
  } else
 | 
			
		||||
  if (tipo == 'B')
 | 
			
		||||
  {
 | 
			
		||||
    add_field("Codice fiscale sostituto",             CF,  2, 16, 2);   //  2 
 | 
			
		||||
    add_field("Progressivo modulo",                   NU, 18,  8, 3);
 | 
			
		||||
    add_filler(26, 1);
 | 
			
		||||
    add_filler(27, 8);
 | 
			
		||||
    add_filler(35, 25);
 | 
			
		||||
    add_field("Progressivo modulo",                   NU, 18,  8, 3);   //  3
 | 
			
		||||
    add_filler(26, 1);                                                  //  4
 | 
			
		||||
    add_filler(27, 8);                                                  //  5
 | 
			
		||||
    add_filler(35, 25);                                                 //  6
 | 
			
		||||
    add_field("Spazio a disposizione",                AN, 60, 14);      //  7
 | 
			
		||||
    add_field("CF del produttore del software",       CF, 74, 16); 
 | 
			
		||||
    add_filler( 90, 1);
 | 
			
		||||
    
 | 
			
		||||
    add_field("CF del produttore del software",       CF, 74, 16);      //  8  
 | 
			
		||||
    add_filler( 90, 1);                                                 //  9
 | 
			
		||||
    // Tipo di dichiarazione
 | 
			
		||||
    add_field("Annullamento",                         CB, 91,  1, 10);  // 10
 | 
			
		||||
    add_field("Sostituzione",                         CB, 92,  1, 11); 
 | 
			
		||||
 | 
			
		||||
    add_field("Sostituzione",                         CB, 92,  1, 11);  // 11
 | 
			
		||||
    // Dati del sostituto
 | 
			
		||||
    add_field("Cognome",                              AN, 93, 24);      // 12
 | 
			
		||||
    add_field("Nome",                                 AN,117, 20);
 | 
			
		||||
    add_field("Denominazione (Alternativo a 12 e 13)",AN,137, 60);
 | 
			
		||||
    add_field("Indirizzo E-mail",                     AN,197,100);
 | 
			
		||||
    add_field("Telefono o Fax",			                  AN,297, 12);
 | 
			
		||||
    add_field("Nome",                                 AN,117, 20);      // 13
 | 
			
		||||
    add_field("Denominazione (Alternativo a 12 e 13)",AN,137, 60);      // 14
 | 
			
		||||
    add_field("Indirizzo E-mail",                     AN,197,100);      // 15
 | 
			
		||||
    add_field("Telefono o Fax",			                  AN,297, 12);  // 16  
 | 
			
		||||
    add_field("Eventi Eccezionali",                   NU,309,  2, 17);  // 17
 | 
			
		||||
    add_field("Codice fiscale del rappresentante",    CF,311,16);       // 18
 | 
			
		||||
    add_field("Codice carica del rappresentante",     NU,327, 2);
 | 
			
		||||
    add_field("Cognome",                              AN,329,24);
 | 
			
		||||
    add_field("Nome",                                 AN,353,20);
 | 
			
		||||
    add_field("Codice fiscale del dichiarante",       CN,373,11);
 | 
			
		||||
 | 
			
		||||
    add_field("Codice carica del rappresentante",     NU,327, 2);       // 19
 | 
			
		||||
    add_field("Cognome",                              AN,329,24);       // 20
 | 
			
		||||
    add_field("Nome",                                 AN,353,20);       // 21
 | 
			
		||||
    add_field("Codice fiscale del dichiarante",       CN,373,11);       // 22
 | 
			
		||||
    add_filler(384,18);												    // 23
 | 
			
		||||
    add_field("Numero comunicaz. relative a certificazioni",NU, 402, 8);
 | 
			
		||||
    add_field("Casella quadro CT",                          CB, 410, 1);  
 | 
			
		||||
    add_field("Firma del dichiarante",                      CB, 411, 1);
 | 
			
		||||
 | 
			
		||||
    add_field("Numero comunicaz. relative a certificazioni",NU, 402, 8);// 24
 | 
			
		||||
    add_field("Casella quadro CT",                          CB, 410, 1);// 25 
 | 
			
		||||
    add_field("Firma del dichiarante",                      CB, 411, 1);// 26
 | 
			
		||||
    add_field("Codice fiscale intermediario",         CF, 412,  16);    // 27
 | 
			
		||||
    add_field("Impegno a trasmettere la dichiaraz.",  NU, 428,   1);
 | 
			
		||||
    add_field("Data dell'impegno",                    DT, 429,   8);
 | 
			
		||||
    add_field("Firma dell'intermediario",             CB, 437,   1);
 | 
			
		||||
    add_filler(438, 1); //31
 | 
			
		||||
    add_filler(439, 40);
 | 
			
		||||
    add_filler(479, 2);
 | 
			
		||||
    add_filler(481, 5);
 | 
			
		||||
    add_filler(486, 35);
 | 
			
		||||
    add_filler(521, 6);
 | 
			
		||||
    add_field("Impegno a trasmettere la dichiaraz.",  NU, 428,   1);    // 28
 | 
			
		||||
    add_field("Data dell'impegno",                    DT, 429,   8);    // 29
 | 
			
		||||
    add_field("Firma dell'intermediario",             CB, 437,   1);    // 30
 | 
			
		||||
    add_filler(438, 1);                                                 // 31
 | 
			
		||||
    add_filler(439, 40);                                                // 32
 | 
			
		||||
    add_filler(479, 2);                                                 // 33
 | 
			
		||||
    add_filler(481, 5);                                                 // 34
 | 
			
		||||
    add_filler(486, 35);                                                // 35
 | 
			
		||||
    add_filler(521, 6);                                                 // 36
 | 
			
		||||
    add_field("Casella casi particolari", CB, 527, 1);                  // 37
 | 
			
		||||
    add_filler(528, 11);
 | 
			
		||||
    add_filler(539, 16);
 | 
			
		||||
    add_filler(555, 1289);
 | 
			
		||||
    add_field("Spazio riservato", AN, 1844, 20);
 | 
			
		||||
    add_filler(1864, 7);
 | 
			
		||||
    add_filler(1871, 3);
 | 
			
		||||
    add_filler(1874, 3);
 | 
			
		||||
    add_filler(1877, 1);
 | 
			
		||||
    add_filler(1878, 1);
 | 
			
		||||
    add_filler(1879, 1);
 | 
			
		||||
    add_filler(1880, 1);
 | 
			
		||||
    add_filler(1881, 1);
 | 
			
		||||
    add_filler(1882, 1);
 | 
			
		||||
    add_filler(1883, 15);
 | 
			
		||||
    add_filler(528, 11);                                                // 38
 | 
			
		||||
    add_filler(539, 16);                                                // 39
 | 
			
		||||
    add_filler(555, 1289);                                              // 40
 | 
			
		||||
    add_field("Spazio riservato", AN, 1844, 20);                        // 41
 | 
			
		||||
    add_filler(1864, 7);                                                // 42 
 | 
			
		||||
    add_filler(1871, 3);                                                // 43
 | 
			
		||||
    add_filler(1874, 3);                                                // 44
 | 
			
		||||
    add_filler(1877, 1);                                                // 45
 | 
			
		||||
    add_filler(1878, 1);                                                // 46
 | 
			
		||||
    add_filler(1879, 1);                                                // 47
 | 
			
		||||
    add_filler(1880, 1);                                                // 48
 | 
			
		||||
    add_filler(1881, 1);                                                // 49
 | 
			
		||||
    add_filler(1882, 1);                                                // 50
 | 
			
		||||
    add_filler(1883, 15);                                               // 51
 | 
			
		||||
  } else
 | 
			
		||||
  if (tipo == 'D')
 | 
			
		||||
  {
 | 
			
		||||
    add_field("Codice fiscale del sostituto",         CF,  2, 16, 2);   // 2
 | 
			
		||||
    add_field("Progressivo modulo",                   NU, 18,  8, 3);   // 3
 | 
			
		||||
    add_field("Codice fiscale percipiente",           CF, 26, 16, 4);   // 4
 | 
			
		||||
    add_field("Progressivo certificazione",           NU, 42,  5, 5);   // 5
 | 
			
		||||
    add_field("Identificativo dell'invio",            NU, 47, 17, 6);   // 6
 | 
			
		||||
    add_field("Progressivo singola C.U.",             NU, 64,  6, 7);   // 7
 | 
			
		||||
		add_field("Spazio a disposizione dell'utente",    AN, 70, 14, 8);		//  8
 | 
			
		||||
    add_field("Tipo Operazione",                      AN, 84,  1, 9);		// 9
 | 
			
		||||
    add_filler(85, 4);
 | 
			
		||||
    add_field("Conferma singola certificazione",      CB, 89,  1, 11);  // 11
 | 
			
		||||
    add_field("Codice fiscale del sostituto",         AN,  2, 16);      //  2
 | 
			
		||||
    add_field("Progressivo modulo",                   NU, 18,  8);      //  3
 | 
			
		||||
    add_field("Codice fiscale percipiente",           AN, 26, 16);      //  4
 | 
			
		||||
    add_field("Progressivo certificazione",           NU, 42,  5);      //  5
 | 
			
		||||
    add_field("Identificativo dell'invio",            NU, 47, 17);      //  6
 | 
			
		||||
    add_field("Progressivo singola C.U.",             NU, 64,  6);      //  7
 | 
			
		||||
	add_field("Spazio a disposizione dell'utente",    AN, 70, 14);		//  8
 | 
			
		||||
    add_field("Tipo Operazione",                      AN, 84,  1);		//  9
 | 
			
		||||
    add_filler(85, 4);                                                  // 10
 | 
			
		||||
    add_field("Conferma singola certificazione",      CB, 89,  1);      // 11
 | 
			
		||||
  } else
 | 
			
		||||
  if (tipo == 'H')
 | 
			
		||||
  {
 | 
			
		||||
    add_field("Codice fiscale del sostituto",         CF,  2, 16, 2); //  2
 | 
			
		||||
    add_field("Progressivo modulo",                   NU, 18,  8, 3); //  3
 | 
			
		||||
    add_field("Codice fiscale percipiente",           CF, 26, 16, 4); //  4
 | 
			
		||||
    add_field("Progressivo certificazione",           NU, 42,  5, 5); //  5
 | 
			
		||||
		
 | 
			
		||||
		add_filler(47, 17, AN); //  6
 | 
			
		||||
		add_field("Spazio a disposizione dell'utente",    AN, 64,  6, 7); //  7
 | 
			
		||||
		add_filler(89,  1, AN); // 11
 | 
			
		||||
		/*
 | 
			
		||||
    add_field("Codice fiscale del sostituto",         CF,  2, 16);      //  2
 | 
			
		||||
    add_field("Progressivo modulo",                   NU, 18,  8);      //  3
 | 
			
		||||
    add_field("Codice fiscale percipiente",           CF, 26, 16);      //  4
 | 
			
		||||
    add_field("Progressivo certificazione",           NU, 42,  5);      //  5	
 | 
			
		||||
	add_filler(47, 17, NU);                                             //  6
 | 
			
		||||
	add_field("Spazio a disposizione dell'utente",    AN, 64,  6);      //  7
 | 
			
		||||
	add_filler(70, 14);                                                 //  8
 | 
			
		||||
	add_filler(84,  1);                                                 //  9
 | 
			
		||||
	add_filler(85,  4);                                                 // 10
 | 
			
		||||
		add_filler(89,  1); // 11
 | 
			
		||||
		*/
 | 
			
		||||
    add_filler(89, 1, NU);                                              // 11
 | 
			
		||||
  } else
 | 
			
		||||
  if (tipo == 'Z')
 | 
			
		||||
  {
 | 
			
		||||
    add_filler(2, 14);                                  
 | 
			
		||||
    add_field("Numero record di tipo 'B'", NU, 16, 9, 3); // 3
 | 
			
		||||
    add_field("Numero record di tipo 'C'", NU, 25, 9, 4);
 | 
			
		||||
    add_field("Numero record di tipo 'D'", NU, 34, 9, 5);
 | 
			
		||||
    add_field("Numero record di tipo 'G'", NU, 43, 9, 6); // 6
 | 
			
		||||
    add_field("Numero record di tipo 'H'", NU, 52, 9, 7);
 | 
			
		||||
		add_field("Numero record di tipo 'L'", NU, 61, 9, 8);
 | 
			
		||||
		add_filler(70,9);
 | 
			
		||||
		add_filler(79,9);
 | 
			
		||||
    add_filler(2, 14);                                                  //  2                                  
 | 
			
		||||
    add_field("Numero record di tipo 'B'", NU, 16, 9);                  //  3
 | 
			
		||||
    add_field("Numero record di tipo 'C'", NU, 25, 9);                  //  4
 | 
			
		||||
    add_field("Numero record di tipo 'D'", NU, 34, 9);                  //  5
 | 
			
		||||
    add_field("Numero record di tipo 'G'", NU, 43, 9);                  //  6
 | 
			
		||||
    add_field("Numero record di tipo 'H'", NU, 52, 9);                  //  7
 | 
			
		||||
	add_field("Numero record di tipo 'L'", NU, 61, 9);                  //  8
 | 
			
		||||
	add_filler(70,9);                                                   //  9
 | 
			
		||||
	add_filler(79,9);                                                   // 10
 | 
			
		||||
	add_filler(88,1810);                                                // 11
 | 
			
		||||
 | 
			
		||||
		add_filler(1898,1); // 11
 | 
			
		||||
		add_filler(1899,2); //12
 | 
			
		||||
	add_filler(1898,1);                                                 // 12
 | 
			
		||||
	add_filler(1899,2);                                                 // 13
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -697,7 +671,7 @@ bool TTrasferimentoCU::append_record_d(const TRectype& qla, TLog_report& log)
 | 
			
		||||
  rec.np_put("DA002008", anag.get(ANA_CATPAR));
 | 
			
		||||
	const TString4 evecc = anag.get("EVECC");
 | 
			
		||||
 | 
			
		||||
	if (evecc == "1" || evecc == "3" || || evecc == "99")   // EDIT 2020: Non piu' valori 1, 5 ma 1, 3
 | 
			
		||||
	if (evecc == "1" || evecc == "3" || evecc == "99")   // EDIT 2020: Non piu' valori 1, 5 ma 1, 3
 | 
			
		||||
		rec.np_put("DA002009", evecc);
 | 
			
		||||
	long int da2010 = anag.get_long(ANA_ESCPRECOMP);
 | 
			
		||||
	// Tolla 2017: Aggiunto questo controllo in quanto noi non gestiamo nessuno dei quadri che richiedono il valore 2
 | 
			
		||||
 | 
			
		||||
@ -118,114 +118,111 @@ TTracciato770::TTracciato770(char tipo) : _tipo(tipo)
 | 
			
		||||
        add_filler(2, 14);                                                   //  2 
 | 
			
		||||
        add_field("Codice fornitura", AN, 16, 5);                            //  3
 | 
			
		||||
        add_field("Tipo fornitore", NU, 21, 2);                              //  4
 | 
			
		||||
    add_field("Codice fiscale del fornitore",  CF,  23, 16);
 | 
			
		||||
    add_filler(39, 483);
 | 
			
		||||
    // Dichiarazione su più invii
 | 
			
		||||
    add_field("Progressivo dell'invio",        NU, 522,  4); // 7
 | 
			
		||||
    add_field("Numero totale degli invii",     NU, 526,  4); 
 | 
			
		||||
        add_field("Codice fiscale del fornitore", AN, 23, 16);               //  5
 | 
			
		||||
        add_filler(39, 483);                                                 //  6
 | 
			
		||||
        add_filler(522, 4);                                                  //  7
 | 
			
		||||
        add_filler(526, 4);                                                  //  8
 | 
			
		||||
        add_field("Campo utente", AN, 530, 100);                             //  9
 | 
			
		||||
  } else
 | 
			
		||||
  if (tipo == 'B')
 | 
			
		||||
  {
 | 
			
		||||
    add_field("Codice fiscale dichiarante",           CF,  2, 16); // 2 
 | 
			
		||||
    add_field("Progressivo modulo",                   NU, 18,  8);
 | 
			
		||||
    add_filler(26, 1);
 | 
			
		||||
    add_filler(27, 8);
 | 
			
		||||
    add_filler(35, 25);
 | 
			
		||||
    add_field("Spazio a disposizione",                AN, 60, 14); 
 | 
			
		||||
        add_filler(630, 1068);                                               // 10
 | 
			
		||||
        add_field("Spazio servizio telematico", AN, 1698, 200);              // 11
 | 
			
		||||
 | 
			
		||||
  } else if (tipo == 'B') {
 | 
			
		||||
        add_field("Codice fiscale sostituto", CF, 2, 16, 2);                 //  2 
 | 
			
		||||
        add_field("Progressivo modulo", NU, 18, 8, 3);                       //  3
 | 
			
		||||
        add_filler(26, 1);                                                   //  4
 | 
			
		||||
        add_filler(27, 8);                                                   //  5
 | 
			
		||||
        add_filler(35, 25);                                                  //  6
 | 
			
		||||
        add_field("Spazio a disposizione", AN, 60, 14);                      //  7
 | 
			
		||||
        add_field("CF del produttore del software", CF, 74, 16);             //  8  
 | 
			
		||||
    add_filler(90, 1);                                              //9
 | 
			
		||||
 | 
			
		||||
        add_filler(90, 1);                                                   //  9
 | 
			
		||||
        // Tipo di dichiarazione
 | 
			
		||||
    add_field("Dichiarazione correttiva nei termini", CB, 91,  1); // 10
 | 
			
		||||
    add_field("Dichiarazione correttiva parziale",    CB, 92,  1); //11
 | 
			
		||||
 | 
			
		||||
    // Dati del contribuente
 | 
			
		||||
        add_field("Annullamento", CB, 91, 1, 10);                            // 10
 | 
			
		||||
        add_field("Sostituzione", CB, 92, 1, 11);                            // 11
 | 
			
		||||
        // Dati del sostituto
 | 
			
		||||
        add_field("Cognome", AN, 93, 24);                                    // 12
 | 
			
		||||
    add_field("Nome",                                 AN,117, 20); //13
 | 
			
		||||
    add_field("Denominazione (Alternativo a 25 e 26)",AN,137, 60);//14
 | 
			
		||||
	add_field("indirizzo di posta elettronica", AN, 197, 100);//15
 | 
			
		||||
	add_field("Telefono o Fax", AN, 297, 12);//16
 | 
			
		||||
	add_field("Eventi eccezionali", NP, 309, 2);//17
 | 
			
		||||
	add_field("Codice fiscale del rappresentante firmatario", CF, 311, 16); //18
 | 
			
		||||
	add_field("Codice carica del rappresentante", NU, 327, 2);//19
 | 
			
		||||
        add_field("Nome", AN, 117, 20);                                      // 13
 | 
			
		||||
        add_field("Denominazione (Alternativo a 12 e 13)", AN, 137, 60);     // 14
 | 
			
		||||
        add_field("Indirizzo E-mail", AN, 197, 100);                         // 15
 | 
			
		||||
        add_field("Telefono o Fax", AN, 297, 12);                            // 16  
 | 
			
		||||
        add_field("Eventi Eccezionali", NU, 309, 2, 17);                     // 17
 | 
			
		||||
        add_field("Codice fiscale del rappresentante", CF, 311, 16);         // 18
 | 
			
		||||
        add_field("Codice carica del rappresentante", NU, 327, 2);           // 19
 | 
			
		||||
        add_field("Cognome", AN, 329, 24);                                   // 20
 | 
			
		||||
	add_field("Nome", AN, 353, 20); //21
 | 
			
		||||
	add_field("Codice fiscale societa o dichiarante", CN, 373, 11);
 | 
			
		||||
	
 | 
			
		||||
    add_filler(384, 18);
 | 
			
		||||
	add_field("Numero comunicaz. lavoro autonomo", NU, 402, 8);      // 24
 | 
			
		||||
    add_field("Casella quadro CT", CB, 410, 1);//25
 | 
			
		||||
	add_field("Firma del dichiarante", CB, 411, 1);
 | 
			
		||||
	add_field("Codice fiscale intermediario", CF, 412, 16);
 | 
			
		||||
	add_field("Impegno a trasmettere la dichiaraz.", NU, 428, 1);
 | 
			
		||||
	add_field("Data dell'impegno", DT, 429, 8);
 | 
			
		||||
	add_field("Firma dell'intermediario", CB, 437, 1);
 | 
			
		||||
	add_filler(438, 1); //31
 | 
			
		||||
	add_filler(439, 40);
 | 
			
		||||
	add_filler(479, 2);
 | 
			
		||||
	add_filler(481, 5);
 | 
			
		||||
	add_filler(486, 35);
 | 
			
		||||
	add_filler(521, 6);
 | 
			
		||||
        add_field("Nome", AN, 353, 20);                                      // 21
 | 
			
		||||
        add_field("Codice fiscale del dichiarante", CN, 373, 11);            // 22
 | 
			
		||||
        add_filler(384, 18);												 // 23
 | 
			
		||||
        add_field("Numero comunicaz. relative a certificazioni", NU, 402, 8);// 24
 | 
			
		||||
        add_field("Casella quadro CT", CB, 410, 1);                          // 25 
 | 
			
		||||
        add_field("Firma del dichiarante", CB, 411, 1);                      // 26
 | 
			
		||||
        add_field("Codice fiscale intermediario", CF, 412, 16);              // 27
 | 
			
		||||
        add_field("Impegno a trasmettere la dichiaraz.", NU, 428, 1);        // 28
 | 
			
		||||
        add_field("Data dell'impegno", DT, 429, 8);                          // 29
 | 
			
		||||
        add_field("Firma dell'intermediario", CB, 437, 1);                   // 30
 | 
			
		||||
        add_filler(438, 1);                                                  // 31
 | 
			
		||||
        add_filler(439, 40);                                                 // 32
 | 
			
		||||
        add_filler(479, 2);                                                  // 33
 | 
			
		||||
        add_filler(481, 5);                                                  // 34
 | 
			
		||||
        add_filler(486, 35);                                                 // 35
 | 
			
		||||
        add_filler(521, 6);                                                  // 36
 | 
			
		||||
        add_field("Casella casi particolari", CB, 527, 1);                   // 37
 | 
			
		||||
	add_filler(528, 11);
 | 
			
		||||
	add_filler(539, 16);
 | 
			
		||||
	add_filler(555, 1289);
 | 
			
		||||
	add_field("Spazio riservato", AN, 1844, 20);
 | 
			
		||||
	add_filler(1864, 7);
 | 
			
		||||
	add_filler(1871, 3);
 | 
			
		||||
	add_filler(1874, 3);
 | 
			
		||||
	add_filler(1877, 1);
 | 
			
		||||
	add_filler(1878, 1);
 | 
			
		||||
	add_filler(1879, 1);
 | 
			
		||||
	add_filler(1880, 1);
 | 
			
		||||
	add_filler(1881, 1);
 | 
			
		||||
	add_filler(1882, 1);
 | 
			
		||||
	add_filler(1883, 15);
 | 
			
		||||
  } else
 | 
			
		||||
  if (tipo == 'E' || tipo == 'F')
 | 
			
		||||
  {
 | 
			
		||||
        add_filler(528, 11);                                                 // 38
 | 
			
		||||
        add_filler(539, 16);                                                 // 39
 | 
			
		||||
        add_filler(555, 1289);                                               // 40
 | 
			
		||||
        add_field("Spazio riservato", AN, 1844, 20);                         // 41
 | 
			
		||||
        add_filler(1864, 7);                                                 // 42 
 | 
			
		||||
        add_filler(1871, 3);                                                 // 43
 | 
			
		||||
        add_filler(1874, 3);                                                 // 44
 | 
			
		||||
        add_filler(1877, 1);                                                 // 45
 | 
			
		||||
        add_filler(1878, 1);                                                 // 46
 | 
			
		||||
        add_filler(1879, 1);                                                 // 47
 | 
			
		||||
        add_filler(1880, 1);                                                 // 48
 | 
			
		||||
        add_filler(1881, 1);                                                 // 49
 | 
			
		||||
        add_filler(1882, 1);                                                 // 50
 | 
			
		||||
        add_filler(1883, 15);                                                // 51
 | 
			
		||||
 | 
			
		||||
  } else if (tipo == 'E' || tipo == 'F') {
 | 
			
		||||
        add_field("Codice fiscale del dichiarante",       CF,  2, 16);       //  2
 | 
			
		||||
    add_field("Progressivo modulo",                   NU, 18,  8); 
 | 
			
		||||
    add_field("Spazio a disposizione",                AN, 26,  3); 
 | 
			
		||||
    add_field("Tipo operazione",                      AN, 29,  1); 
 | 
			
		||||
    add_filler(30, 24);
 | 
			
		||||
    add_field("Spazio a disposizione",                AN, 54, 20);
 | 
			
		||||
        add_field("Progressivo modulo",                   NU, 18,  8);       //  3
 | 
			
		||||
        add_field("Spazio a disposizione",                AN, 26,  3);       //  4
 | 
			
		||||
        add_field("Tipo operazione",                      AN, 29,  1);       //  5
 | 
			
		||||
        add_filler(30, 24);                                                  //  6
 | 
			
		||||
        add_field("Spazio a disposizione",                AN, 54, 20);       //  7
 | 
			
		||||
        add_field("Identificativo produttore software",   AN, 74, 16);       //  8
 | 
			
		||||
  } else
 | 
			
		||||
  if (tipo == 'H')
 | 
			
		||||
  {
 | 
			
		||||
 | 
			
		||||
  } else if (tipo == 'H'){
 | 
			
		||||
        add_field("Codice fiscale del sostituto", CF, 2, 16);                //  2
 | 
			
		||||
        add_field("Progressivo modulo", NU, 18, 8);                          //  3
 | 
			
		||||
        add_field("Codice fiscale percipiente", CF, 26, 16);                 //  4
 | 
			
		||||
        add_field("Progressivo certificazione", NU, 42, 5);                  //  5	
 | 
			
		||||
        add_filler(47, 17, NU);                                              //  6
 | 
			
		||||
        add_field("Spazio a disposizione dell'utente", AN, 64, 6);           //  7
 | 
			
		||||
        add_filler(70, 14);                                                  //  8
 | 
			
		||||
        add_filler(84, 1);                                                   //  9
 | 
			
		||||
        add_filler(85, 4);                                                   // 10
 | 
			
		||||
        add_filler(89, 1, NU);                                               // 11
 | 
			
		||||
  
 | 
			
		||||
  } else if (tipo == 'J') {
 | 
			
		||||
        add_field("Codice fiscale del dichiarante",       CF,  2, 16);       //  2
 | 
			
		||||
    add_field("Progressivo comunicazione",            NU, 18,  8); 
 | 
			
		||||
    add_field("Spazio a disposizione",                AN, 26,  3); 
 | 
			
		||||
    add_field("Tipo operazione",                      AN, 29,  1); 
 | 
			
		||||
    add_field("Codice fiscale del percipiente",       AN, 30, 16); // 6
 | 
			
		||||
    add_filler(46, 8);
 | 
			
		||||
    add_field("Spazio a disposizione",                AN, 54, 20);
 | 
			
		||||
    add_field("Identificativo produttore software",   AN, 74, 16); // 9
 | 
			
		||||
  } else
 | 
			
		||||
  if (tipo == 'J')
 | 
			
		||||
  {
 | 
			
		||||
    add_field("Codice fiscale del dichiarante",       CF,  2, 16); // 2
 | 
			
		||||
    add_field("Progressivo modulo",                   NU, 18,  8); 
 | 
			
		||||
    add_field("Spazio a disposizione",                AN, 26,  3); 
 | 
			
		||||
    add_field("Tipo operazione",                      AN, 29,  1); 
 | 
			
		||||
    add_filler(30, 24);
 | 
			
		||||
    add_field("Spazio a disposizione",                AN, 54, 20);
 | 
			
		||||
        add_field("Progressivo modulo",                   NU, 18,  8);       //  3        
 | 
			
		||||
        add_field("Spazio a disposizione",                AN, 26,  3);       //  4
 | 
			
		||||
        add_field("Tipo operazione",                      AN, 29,  1);       //  5
 | 
			
		||||
        add_filler(30, 24);                                                  //  6              
 | 
			
		||||
        add_field("Spazio a disposizione",                AN, 54, 20);       //  7
 | 
			
		||||
        add_field("Identificativo produttore software",   AN, 74, 16);       //  8
 | 
			
		||||
  } else
 | 
			
		||||
  if (tipo == 'Z')
 | 
			
		||||
  {
 | 
			
		||||
    add_filler(2, 14);                                  
 | 
			
		||||
    add_field("Numero record di tipo 'B'", NU, 16, 9, 3); // 3
 | 
			
		||||
		add_field("Numero record di tipo 'C'", NU, 25, 9, 4);
 | 
			
		||||
    add_field("Numero record di tipo 'D'", NU, 34, 9, 5);
 | 
			
		||||
    add_field("Numero record di tipo 'G'", NU, 43, 9, 6); 
 | 
			
		||||
    add_field("Numero record di tipo 'H'", NU, 52, 9, 7);
 | 
			
		||||
    add_field("Numero record di tipo 'L'", NU, 61, 9, 8); 
 | 
			
		||||
		add_filler(70, 9);
 | 
			
		||||
		add_filler(79, 9);
 | 
			
		||||
    add_filler(88, 1810);
 | 
			
		||||
  
 | 
			
		||||
  } else if (tipo == 'Z') {
 | 
			
		||||
        add_filler(2, 14);                                                  //  2                                  
 | 
			
		||||
        add_field("Numero record di tipo 'B'", NU, 16, 9);                  //  3
 | 
			
		||||
        add_field("Numero record di tipo 'C'", NU, 25, 9);                  //  4
 | 
			
		||||
        add_field("Numero record di tipo 'D'", NU, 34, 9);                  //  5
 | 
			
		||||
        add_field("Numero record di tipo 'G'", NU, 43, 9);                  //  6
 | 
			
		||||
        add_field("Numero record di tipo 'H'", NU, 52, 9);                  //  7
 | 
			
		||||
        add_field("Numero record di tipo 'L'", NU, 61, 9);                  //  8
 | 
			
		||||
        add_filler(70, 9);                                                  //  9
 | 
			
		||||
        add_filler(79, 9);                                                  // 10
 | 
			
		||||
        add_filler(88, 1810);                                               // 11
 | 
			
		||||
        add_filler(1898, 1);                                                // 12
 | 
			
		||||
        add_filler(1899, 2);                                                // 13
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,8 @@
 | 
			
		||||
#define LAST_YEAR "2021"
 | 
			
		||||
#define LAST_YEARN atoi(LAST_YEAR)
 | 
			
		||||
 | 
			
		||||
const TString& get_telephone(const TRectype& rec, const char* pref, const char* numf);
 | 
			
		||||
 | 
			
		||||
enum { CODE_SIZE = 8, FIELD_SIZE = 16, BLOCK_SIZE = 24, HEADER_SIZE = 89, USEABLE_SIZE = 1800, TOTAL_SIZE = 1900 };
 | 
			
		||||
 | 
			
		||||
///////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user