diff --git a/src/m770/771230.cpp b/src/m770/771230.cpp index 017c6b9ce..4efcde753 100755 --- a/src/m770/771230.cpp +++ b/src/m770/771230.cpp @@ -106,7 +106,7 @@ void TRighe_riepilogo::genera_la(TRectype& quadro, const TRectype& riga, const T real somme = compenso; somme -= imponibile; somme += riga.get_real(PAG_SPESA); - //somme -= riga.get_real(PAG_IMPCPA); + somme -= riga.get_real(PAG_IMPCPA); somme -= riga.get_real(PAG_SOMREGCONV); quadro.put(QUD_SOMME, somme); // altre somme non soggette @@ -115,7 +115,7 @@ void TRighe_riepilogo::genera_la(TRectype& quadro, const TRectype& riga, const T ammlordo += riga.get_real(PAG_SOMNSRIT); ammlordo += riga.get_real(PAG_CONTROBB); ammlordo += riga.get_real(PAG_SOMREGCONV); - ammlordo += somme; + //ammlordo += somme; quadro.put(QUD_TOTALE, ammlordo); quadro.put(QUD_SOMREGCONV, riga.get(PAG_SOMREGCONV)); @@ -1017,6 +1017,8 @@ void TQuadroC_E2::generazione() const char tipoa = scheda.get_char(SPR_TIPOA); const long codanagr = scheda.get_long(SPR_CODANAGR); + if(codanagr == 1404) + bool tolla = true; if (tipoa != last_type || codanagr != last_code) { if (righe.items() > 0) diff --git a/src/m770/777200.cpp b/src/m770/777200.cpp index 8efe1d67b..78d766cec 100755 --- a/src/m770/777200.cpp +++ b/src/m770/777200.cpp @@ -56,7 +56,7 @@ public: TTracciatoCU(char tipo); }; -TTracciatoCU::TTracciatoCU(char tipo) +TTracciatoCU::TTracciatoCU(char tipo) { if (strchr("ABCDHZ", tipo) == NULL) NFCHECK("Tipo record non valido: %c", tipo); @@ -73,18 +73,15 @@ TTracciatoCU::TTracciatoCU(char tipo) } else if (tipo == 'B') { - add_field("Codice fiscale sostituto", 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); // 7 - add_field("CF del produttore del software", CF, 74, 16); + add_field("Codice fiscale sostituto", CF, 2, 16, 2); // 2 + add_field("Progressivo modulo", NU, 18, 8, 3); + add_field("Spazio a disposizione", AN, 60, 14, 7); // 7 + add_field("CF del produttore del software", CF, 74, 16, 8); add_filler( 90, 1); // Tipo di dichiarazione - add_field("Annullamento", CB, 91, 1); // 10 - add_field("Sostituzione", CB, 92, 1); + add_field("Annullamento", CB, 91, 1, 10); // 10 + add_field("Sostituzione", CB, 92, 1, 11); // Dati del sostituto add_field("Cognome", AN, 93, 24); // 12 @@ -92,7 +89,7 @@ TTracciatoCU::TTracciatoCU(char tipo) 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("Eventi Eccezionali", NU,309, 1,17); // 17 + add_field("Eventi Eccezionali", NU,309, 1, 17); // 17 add_field("Codice fiscale del rappresentante", CF,310,16); // 18 add_field("Codice carica del rappresentante", NU,326, 2); @@ -139,16 +136,16 @@ TTracciatoCU::TTracciatoCU(char tipo) } 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_filler(70, 14); - add_field("Tipo Operazione", AN, 84, 1, 9); // 9 + 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("Conferma singola certificazione", CB, 89, 1, 11); // 11 } else if (tipo == 'H') { @@ -157,8 +154,9 @@ TTracciatoCU::TTracciatoCU(char tipo) add_field("Codice fiscale percipiente", CF, 26, 16, 4); // 4 add_field("Progressivo certificazione", NU, 42, 5, 5); // 5 - add_filler(47, 17); // 6 - add_field("Spazio a disposizione dell'utente", NU, 64, 6, 6); // 7 + 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_filler(70, 14); // 8 add_filler(84, 1); // 9 @@ -579,6 +577,7 @@ bool TTrasferimentoCU::append_record_b() rec.set(19, rec_nditte.get(NDT_CARRAPP)); rec.set(20, rapp.cognome().left(24)); rec.set(21, rapp.nome()); + rec.set(22, _codfis_dic); } else { @@ -744,19 +743,19 @@ bool TTrasferimentoCU::append_record_h(const TRectype& qla, int modulo, TLog_rep rec.np_put("AU001002", qla.get_long("ANNO")); // Potrebbe essere anche l'anno precedente // rec.np_put("AU001003", ""); - //rec.np_put("AU001004", qla.get_real("TOTALE")); - rec.np_put("AU001004", qla.get_real("IMPONIBILE")); // <-- Perchè? + + rec.np_put("AU001004", qla.get_real("TOTALE")); if (perc.estero()) rec.np_put("AU001005", qla.get_real("SOMREGCONV")); - real altre_somme = qla.get_real("SOMME"); - //real imponibile = qla.get_real("IMPONIBILE"); - real imponibile = qla.get_real("TOTALE"); // <-- Perchè? + real imponibile = qla.get_real("IMPONIBILE"); const TString4 codcaus = qla.get("CODCAUS"); long codice = atol(cache().get("%CA7", codcaus, "I1")); // 1, 2, 5, 6 - if (altre_somme.is_zero() && codice == 3) + + real altre_somme = qla.get_real("SOMME"); + if (altre_somme.is_zero() && codice == 6) { altre_somme = imponibile; imponibile = ZERO;