diff --git a/src/tp/tp0900.cpp b/src/tp/tp0900.cpp
index b2bd6b916..c0e118153 100755
--- a/src/tp/tp0900.cpp
+++ b/src/tp/tp0900.cpp
@@ -65,7 +65,7 @@ TDichiarazione_CONAI_csv_recordset::TDichiarazione_CONAI_csv_recordset()
//crea le colonne e ci mette l'intestazione! Nella prima versione sulla 3.2..
//..invece inseriva a posteriori un record con le intestazioni poichè non..
//..esisteva la create column con il nome della column!
- create_column("CODNUM");
+ create_column("CODNUM"); // A
create_column("ANNO", _intfld);
create_column("NDOC", _longfld);
create_column("DATADOC", _datefld);
@@ -74,15 +74,16 @@ TDichiarazione_CONAI_csv_recordset::TDichiarazione_CONAI_csv_recordset()
create_column("CODART");
create_column("NRIGA", _intfld);
create_column("CLASSE");
- create_column("SOTTOCL");
- create_column("PREZZO", _realfld);
+ create_column("SOTTOCL"); // J
+ create_column("PREZZO", _realfld);
create_column("UM");
- create_column("CONAI A", _realfld);
- create_column("CONAI B", _realfld);
- create_column("CONAI BxC", _realfld);
- create_column("CONAI A+B", _realfld);
+ create_column("CONAIA", _realfld); // M
+ create_column("CONAIB", _realfld);
+ create_column("CONAIBxC", _realfld);
+ create_column("CONAIA+B", _realfld);
create_column("INDETDOC", _realfld);
- create_column("INDETCLI", _realfld);
+ create_column("INDETCLI", _realfld);
+ create_column("DESCR");
}
@@ -92,15 +93,20 @@ TDichiarazione_CONAI_csv_recordset::TDichiarazione_CONAI_csv_recordset()
class TDichiarazione_CONAI : public TSkeleton_application
{
+ TLog_report * _log;
+
protected:
- real clifo_conai(const TCli_for& clifo, const TCONAI_class conai_specie, TString& paiv) const;
+ real clifo_conai(const TCli_for& clifo, const TCONAI_class conai_specie, TString& paiv, const TDocumento & doc, const int n_riga_generata = 0) const;
void elabora(const TMask& mask) const;
bool scrivi_csv(const TRectype& prima_riga, TDichiarazione_CONAI_csv_recordset& csv,
- const TCONAI_class conai_specie, const TString& conai_codart) const;
+ const TCONAI_class conai_specie, const TString & sottoclass,
+ const TString& conai_codart) const;
void scrivi_csv_doc_con_riga_generata(const TDocumento& doc, const int n_riga_generata,
- TDichiarazione_CONAI_csv_recordset& csv, const TCONAI_class conai_specie) const;
+ TDichiarazione_CONAI_csv_recordset& csv, const TCONAI_class conai_specie,
+ const TString & sottoclass) const;
void scrivi_csv_doc_speciale(const TDocumento& doc, TDichiarazione_CONAI_csv_recordset& csv,
- const TCONAI_class conai_specie, const TString& conai_codart) const;
+ const TCONAI_class conai_specie, const TString & sottoclass,
+ const TString& conai_codart) const;
public:
virtual bool create();
@@ -109,13 +115,28 @@ public:
};
// Percentuale di esenzione CONAI di clifo
-real TDichiarazione_CONAI::clifo_conai(const TCli_for& clifo, const TCONAI_class conai_specie, TString& paiv) const
+real TDichiarazione_CONAI::clifo_conai(const TCli_for& clifo, const TCONAI_class conai_specie, TString& paiv, const TDocumento & doc, const int n_riga_generata) const
{
const TRectype& cfven_rec = clifo.vendite();
- real cfven_perces_conai = ZERO;
- if (conai_configured_class(conai_specie))
- cfven_perces_conai = cfven_rec.get_real(conai_esenzione_name(conai_specie, LF_CFVEN));
+ real cfven_perces_conai = ZERO;
+ if (conai_configured_class(conai_specie))
+ {
+ if (n_riga_generata > 0)
+ {
+ const TRiga_documento& riga_generata = doc[n_riga_generata];
+ cfven_perces_conai = riga_generata.get_real(RDOC_PERESCONAI);
+ }
+ if (cfven_perces_conai == ZERO)
+ {
+ const TDate datadoc = doc.data();
+ const TDate dataies = doc.clifor().vendite().get_date(CFV_DATAICONAI);
+ const TDate dataees = doc.clifor().vendite().get_date(CFV_DATAECONAI);
+
+ if ((datadoc >= dataies) && ((!dataees.ok()) || (datadoc <= dataees)))
+ cfven_perces_conai = cfven_rec.get_real(conai_esenzione_name(conai_specie, LF_CFVEN));
+ }
+ }
//nuovo metodo con logica rovesciata (fino al prossimo cambio di idea!)
paiv = clifo.get(CLI_COFI);
if (paiv.empty())
@@ -130,7 +151,7 @@ real TDichiarazione_CONAI::clifo_conai(const TCli_for& clifo, const TCONAI_class
//riempie recordset con le righe CONAI del documento che contiene una riga generata CONAI
void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(const TDocumento& doc, const int n_riga_generata,
TDichiarazione_CONAI_csv_recordset& csv,
- const TCONAI_class conai_specie) const
+ const TCONAI_class conai_specie, const TString & sottoclass) const
{
//prende dalla riga i dati che gli servono per fare vari calcoli
const TRiga_documento& riga_generata = doc[n_riga_generata];
@@ -150,21 +171,47 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(const TDocumento& do
const TCli_for& clifo = doc.clifor();
TString80 clifo_paiv; // TString16 non va bene perchè viene agggiunto (PI) alla partita IVA
//cerca la percentuale di esenzione conai sul cliente (controllo)
- const real cfven_perc_conai = clifo_conai(clifo, conai_specie, clifo_paiv);
+ const real cfven_perc_conai = clifo_conai(clifo, conai_specie, clifo_paiv, doc, n_riga_generata);
//ciclo di creazione del distrib con le quote conai
FOR_EACH_PHYSICAL_RDOC(doc, j, rdoc)
{
//quantita' totale conai (A + B) sul report
- const real n = rdoc->calc_conai_qta(conai_specie);
- if (!n.is_zero())
+ for (int k = 1; k <= FR_CMAX; k++)
{
- qta_AB_conai.add(n, j); //va calcolato con il metodo apposito
- //quantita' assoggettata (B) sul report
- agip.add(n);
- }
+ const TString4 sottocat = rdoc->get(conai_sottocat_name(k));
+
+ if (sottocat == sottoclass)
+ {
+ const real n = rdoc->calc_conai_qta(k);
+
+ if (!n.is_zero())
+ {
+ real * q = (real *)qta_AB_conai.objptr(j);
+
+ if (q == NULL)
+ qta_AB_conai.add(q = new real, j);
+ *q += n; //va calcolato con il metodo apposito
+ //quantita' assoggettata (B) sul report
+ agip.add(n);
+ }
+ }
+ }
}
+ if (doc.numero() == 441)
+ int i = 1;
+ const real qta_assoggettata_calcolata = agip.tot() * (CENTO - cfven_perc_conai) / CENTO;
+
+ if (qta_assoggettata_calcolata != totale_qta_assogg)
+ {
+ TString msg(TR("Documento"));
+
+ msg << ' ' << doc.anno() << ' ' << doc.numerazione() << ' ' << doc.numero() << ' '
+ << " - quantità assoggettata " << totale_qta_assogg.stringa()
+ << " - quantità calcolata " << qta_assoggettata_calcolata.stringa();
+ _log->log(2, msg);
+ }
//ciclo di riempimento delle righe csv;scandisce solo l'array con i valori compilati
FOR_EACH_ARRAY_ROW(qta_AB_conai, i, obj)
{
@@ -172,79 +219,88 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(const TDocumento& do
//servono SOLO le righe CONAI!!!!!
//se non e' stata definita la sottocategoria conai (maiali!!) va messa uguale a quella generica
- TString4 sottocat = rdoc.get(conai_sottocat_name(conai_specie));
- //puo' capitare che la sottocategoria sia stata troncata alla categoria
- if (sottocat.len() == 2)
- sottocat << "99";
-
- //creazione di un nuovo record da esportare
- csv.new_rec("");
-
- //riempie i campi del record del csv
- //codnum-anno-ndoc-datadoc-codcli-cofi-nriga-codagg1-sottocat-prezzo-um-conai(AB)-conai(B)-conai(A)
- //parte chiave della riga
- csv.set(0, rdoc.get(RDOC_CODNUM));
- csv.set(1, rdoc.get(RDOC_ANNO));
- csv.set(2, rdoc.get(RDOC_NDOC));
- csv.set(3, datadoc);
- csv.set(4, clifo.codice());
- csv.set(5, clifo_paiv);
- csv.set(6, rdoc.get(RDOC_CODART));
- csv.set(7, rdoc.get(RDOC_NRIGA));
-
- //codici conai
- csv.set(8, sottocat.left(2)); //codice materiale conai (es. carta, legno...)
- csv.set(9, sottocat); //sottocodice materiale (es. carta imballo, busta...)
-
- //prezzo
- const real prezzo = riga_generata.get_real(RDOC_PREZZO); //va preso dalla riga generata
- csv.set(10, prezzo);
-
- //um conai
- const TString4 umqta = cache().get("SPP", conai_codart, "S7"); //unita' di misura dalla tabella SPP
- csv.set(11, umqta);
-
- //quantita' totale conai (A + B) sul report (le NAC hanno segno rovesciato)
- real qta_tot_conai = (const real&)qta_AB_conai[i];
- if (is_nac)
- qta_tot_conai = -qta_tot_conai;
- csv.set(15, qta_tot_conai);
-
- //quantita' assoggettata (B) sul report (le NAC hanno segno rovesciato)
- real qta_assoggettata_conai = agip.get();
-
- //se non trova un prezzo nella riga generata la % di esenzione CONAI e' 100
- if (prezzo.is_zero())
+ for (int k = 1; k <= FR_CMAX; k++)
{
- //se trova la % di esenzione al 100 non puo' assoggettare conai!
- qta_assoggettata_conai = ZERO;
+ TString4 sottocat = rdoc.get(conai_sottocat_name(k));
+
+ if (sottocat == sottoclass)
+ {
+ //puo' capitare che la sottocategoria sia stata troncata alla categoria
+ if (sottocat.len() == 2)
+ sottocat << "99";
+
+ //creazione di un nuovo record da esportare
+ csv.new_rec("");
+
+ //riempie i campi del record del csv
+ //codnum-anno-ndoc-datadoc-codcli-cofi-nriga-codagg1-sottocat-prezzo-um-conai(AB)-conai(B)-conai(A)
+ //parte chiave della riga
+ csv.set(0, rdoc.get(RDOC_CODNUM));
+ csv.set(1, rdoc.get(RDOC_ANNO));
+ csv.set(2, rdoc.get(RDOC_NDOC));
+ csv.set(3, datadoc);
+ csv.set(4, clifo.codice());
+ csv.set(5, clifo_paiv);
+ csv.set(6, rdoc.get(RDOC_CODART));
+ csv.set(7, rdoc.get(RDOC_NRIGA));
+
+ //codici conai
+ csv.set(8, sottocat.left(2)); //codice materiale conai (es. carta, legno...)
+ csv.set(9, sottocat); //sottocodice materiale (es. carta imballo, busta...)
+
+ //prezzo
+ const real prezzo = riga_generata.get_real(RDOC_PREZZO); //va preso dalla riga generata
+ csv.set(10, prezzo);
+
+ //um conai
+ const TString4 umqta = cache().get("SPP", conai_codart, "S7"); //unita' di misura dalla tabella SPP
+ csv.set(11, umqta);
+
+ //quantita' totale conai (A + B) sul report (le NAC hanno segno rovesciato)
+ real qta_tot_conai = (const real&)qta_AB_conai[i];
+ if (is_nac)
+ qta_tot_conai = -qta_tot_conai;
+ csv.set(15, qta_tot_conai);
+
+ //quantita' assoggettata (B) sul report (le NAC hanno segno rovesciato)
+ real qta_assoggettata_conai = agip.get();
+
+ //se non trova un prezzo nella riga generata la % di esenzione CONAI e' 100
+ if (prezzo.is_zero())
+ {
+ //se trova la % di esenzione al 100 non puo' assoggettare conai!
+ qta_assoggettata_conai = ZERO;
+ }
+
+ if (is_nac)
+ qta_assoggettata_conai = -qta_assoggettata_conai;
+ csv.set(13, qta_assoggettata_conai);
+
+ //quantita' esente conai (A) sul report
+ const real qta_esente_conai = qta_tot_conai - qta_assoggettata_conai;
+ csv.set(12, qta_esente_conai);
+
+ //valore totale contributo (BxC) sul report
+ const real totale_contrib_conai = qta_assoggettata_conai * prezzo;
+ csv.set(14, TVariant(totale_contrib_conai));
+
+ //percentuale di esenzione conai
+ const TVariant rdoc_perc_conai = rdoc.get_real(conai_esenzione_name(conai_specie, LF_RIGHEDOC));
+ csv.set(16, rdoc_perc_conai);
+
+ //percentuale di esenzione conai in cfven
+ csv.set(17, TVariant(cfven_perc_conai));
+ csv.set(18, cache().get("&VESCC", sottocat, "S0"));
+ }
}
-
- if (is_nac)
- qta_assoggettata_conai = -qta_assoggettata_conai;
- csv.set(13, qta_assoggettata_conai);
-
- //quantita' esente conai (A) sul report
- const real qta_esente_conai = qta_tot_conai - qta_assoggettata_conai;
- csv.set(12, qta_esente_conai);
-
- //valore totale contributo (BxC) sul report
- const real totale_contrib_conai = qta_assoggettata_conai * prezzo;
- csv.set(14, TVariant(totale_contrib_conai));
-
- //percentuale di esenzione conai
- const TVariant rdoc_perc_conai = rdoc.get_real(conai_esenzione_name(conai_specie, LF_RIGHEDOC));
- csv.set(16, rdoc_perc_conai);
-
- //percentuale di esenzione conai in cfven
- csv.set(17, TVariant(cfven_perc_conai));
- }
+ }
}
//riempie recordset con le righe CONAI del documento che NON ha una riga generata CONAI; trattasi di documenti..
//..farlocchi costruiti ad arte per correggere le vaccate dei rompiscatolifici
void TDichiarazione_CONAI::scrivi_csv_doc_speciale(const TDocumento& doc, TDichiarazione_CONAI_csv_recordset& csv,
- const TCONAI_class conai_specie, const TString& conai_codart) const
+ const TCONAI_class conai_specie, const TString & sottoclass,
+ const TString& conai_codart) const
{
//scopre se il doc e' una NAC
const bool is_nac = doc.is_nota_credito();
@@ -256,7 +312,7 @@ void TDichiarazione_CONAI::scrivi_csv_doc_speciale(const TDocumento& doc, TDichi
const TCli_for& clifo = doc.clifor();
TString80 clifo_paiv;
//cerca la percentuale di esenzione conai sul cliente (controllo
- const real cfven_perc_conai = clifo_conai(clifo, conai_specie, clifo_paiv);
+ const real cfven_perc_conai = clifo_conai(clifo, conai_specie, clifo_paiv, doc);
const int nrighe = doc.rows();
@@ -265,82 +321,90 @@ void TDichiarazione_CONAI::scrivi_csv_doc_speciale(const TDocumento& doc, TDichi
{
const TRiga_documento& rdoc = doc[i];
- //se non e' stata definita la sottocategoria conai (maiali!!) va messa uguale a quella generica
- TString4 sottocat = rdoc.get(conai_sottocat_name(conai_specie));
- //puo' capitare che la sottocategoria sia stata troncata alla categoria
- if (sottocat.len() == 2)
- sottocat << "99";
+ for (int j = 1; j <= FR_CMAX; j++)
+ {
+ TString4 sottocat = rdoc.get(conai_sottocat_name(j));
- //creazione di un nuovo record da esportare
- csv.new_rec("");
+ if (sottocat == sottoclass)
+ {
+ //puo' capitare che la sottocategoria sia stata troncata alla categoria
+ if (sottocat.len() == 2)
+ sottocat << "99";
- //riempie i campi del record del csv
- //codnum-anno-ndoc-datadoc-codcli-cofi-nriga-codagg1-sottocat-prezzo-um-conai(AB)-conai(B)-conai(A)
- //parte chiave della riga
- csv.set(0, rdoc.get(RDOC_CODNUM));
- csv.set(1, TVariant(rdoc.get(RDOC_ANNO)));
- csv.set(2, TVariant(rdoc.get(RDOC_NDOC)));
- csv.set(3, TVariant(datadoc));
- csv.set(4, TVariant(clifo.codice()));
- csv.set(5, TVariant(clifo_paiv));
- csv.set(6, TVariant(rdoc.get(RDOC_CODART)));
- csv.set(7, TVariant(rdoc.get(RDOC_NRIGA)));
+ //creazione di un nuovo record da esportare
+ csv.new_rec("");
- //codici conai
- csv.set(8, TVariant(sottocat.left(2))); //codice materiale conai (es. carta, legno...)
- csv.set(9, TVariant(sottocat)); //sottocodice materiale (es. carta imballo, busta...)
+ //riempie i campi del record del csv
+ //codnum-anno-ndoc-datadoc-codcli-cofi-nriga-codagg1-sottocat-prezzo-um-conai(AB)-conai(B)-conai(A)
+ //parte chiave della riga
+ csv.set(0, rdoc.get(RDOC_CODNUM));
+ csv.set(1, TVariant(rdoc.get(RDOC_ANNO)));
+ csv.set(2, TVariant(rdoc.get(RDOC_NDOC)));
+ csv.set(3, TVariant(datadoc));
+ csv.set(4, TVariant(clifo.codice()));
+ csv.set(5, TVariant(clifo_paiv));
+ csv.set(6, TVariant(rdoc.get(RDOC_CODART)));
+ csv.set(7, TVariant(rdoc.get(RDOC_NRIGA)));
- const TRectype& spp = cache().get("SPP", conai_codart);
- //prezzo
- const real prezzo = spp.get("R10"); // rdoc.get_real(RDOC_PREZZO); //va preso dalla riga stessa
- csv.set(10, TVariant(prezzo));
+ //codici conai
+ csv.set(8, TVariant(sottocat.left(2))); //codice materiale conai (es. carta, legno...)
+ csv.set(9, TVariant(sottocat)); //sottocodice materiale (es. carta imballo, busta...)
- //um conai
- const TString4 umqta = spp.get("S7"); //unita' di misura dalla tabella SPP
- csv.set(11, TVariant(umqta));
+ const TRectype& spp = cache().get("SPP", conai_codart);
+ //prezzo
+ const real prezzo = spp.get("R10"); // rdoc.get_real(RDOC_PREZZO); //va preso dalla riga stessa
+ csv.set(10, TVariant(prezzo));
- //quantita' totale conai (A + B) sul report (le NAC hanno segno rovesciato)
- real qta_tot_conai = rdoc.get_real(RDOC_QTA);
- if (is_nac)
- qta_tot_conai = -qta_tot_conai;
- csv.set(15, TVariant(qta_tot_conai));
+ //um conai
+ const TString4 umqta = spp.get("S7"); //unita' di misura dalla tabella SPP
+ csv.set(11, TVariant(umqta));
- //percentuale di esenzione conai al 100%?
- const real rdoc_perc_conai = rdoc.get_real(conai_esenzione_name(conai_specie, LF_RIGHEDOC)); // ex QTAGG2
+ //quantita' totale conai (A + B) sul report (le NAC hanno segno rovesciato)
+ real qta_tot_conai = rdoc.get_real(RDOC_QTA);
+ if (is_nac)
+ qta_tot_conai = -qta_tot_conai;
+ csv.set(15, TVariant(qta_tot_conai));
- //quantita' assoggettata (B) sul report (le NAC hanno segno rovesciato, ma avendolo gia' gia' rovesciato..
- //..in precedenza non deve fare nulla!)
- real qta_assoggettata_conai = qta_tot_conai;
+ //percentuale di esenzione conai al 100%?
+ const real rdoc_perc_conai = rdoc.get_real(conai_esenzione_name(conai_specie, LF_RIGHEDOC)); // ex QTAGG2
- //segnalazione Sirio 1767: nelle righe fatte a mano, se la % di esenzione sul cliente è 100% -> la qta_assoggettata_conai..
- //..viene azzerata; questo perchè la rdoc_perc_conai può non essere modificabile a mano (ponendola = 100) se il verig non..
- //..è personalizzato
- if (rdoc_perc_conai >= CENTO || cfven_perc_conai >= CENTO) // Guy: Mi pare strano gestire solo il caso 100%
- qta_assoggettata_conai = ZERO;
+ //quantita' assoggettata (B) sul report (le NAC hanno segno rovesciato, ma avendolo gia' gia' rovesciato..
+ //..in precedenza non deve fare nulla!)
+ real qta_assoggettata_conai = qta_tot_conai;
- csv.set(13, TVariant(qta_assoggettata_conai));
+ //segnalazione Sirio 1767: nelle righe fatte a mano, se la % di esenzione sul cliente è 100% -> la qta_assoggettata_conai..
+ //..viene azzerata; questo perchè la rdoc_perc_conai può non essere modificabile a mano (ponendola = 100) se il verig non..
+ //..è personalizzato
+ if (rdoc_perc_conai >= CENTO || cfven_perc_conai >= CENTO) // Guy: Mi pare strano gestire solo il caso 100%
+ qta_assoggettata_conai = ZERO;
- //quantita' esente conai (A) sul report
- const real qta_esente_conai = qta_tot_conai - qta_assoggettata_conai; //deve essere sempre ZERO!
- csv.set(12, TVariant(qta_esente_conai));
+ csv.set(13, TVariant(qta_assoggettata_conai));
- //valore totale contributo (BxC) sul report
- const real totale_contrib_conai = qta_assoggettata_conai * prezzo;
- csv.set(14, TVariant(totale_contrib_conai));
+ //quantita' esente conai (A) sul report
+ const real qta_esente_conai = qta_tot_conai - qta_assoggettata_conai; //deve essere sempre ZERO!
+ csv.set(12, TVariant(qta_esente_conai));
- //percentuale di esenzione conai
- csv.set(16, TVariant(rdoc_perc_conai));
+ //valore totale contributo (BxC) sul report
+ const real totale_contrib_conai = qta_assoggettata_conai * prezzo;
+ csv.set(14, TVariant(totale_contrib_conai));
- //percentuale di esenzione conai in cfven
- csv.set(17, TVariant(cfven_perc_conai));
- }
+ //percentuale di esenzione conai
+ csv.set(16, TVariant(rdoc_perc_conai));
+
+ //percentuale di esenzione conai in cfven
+ csv.set(17, TVariant(cfven_perc_conai));
+ csv.set(18, cache().get("&VESCC", sottocat, "S0"));
+ }
+ }
+ }
}
//crea il documento che contiene la riga che gli viene passata,cerca la riga generata ed in base al risultato della ricerca chiama..
//..il metodo adatto
bool TDichiarazione_CONAI::scrivi_csv(const TRectype& prima_riga, TDichiarazione_CONAI_csv_recordset& csv,
- const TCONAI_class conai_specie, const TString& conai_codart) const
+ const TCONAI_class conai_specie, const TString & sottoclass,
+ const TString& conai_codart) const
{
//crea la testata delle righedoc per poter fare vari calcoli (e intanto il tempo se ne va...)
const int anno = prima_riga.get_int(RDOC_ANNO);
@@ -380,10 +444,11 @@ bool TDichiarazione_CONAI::scrivi_csv(const TRectype& prima_riga, TDichiarazione
}
if (n_riga_generata > 0)
- scrivi_csv_doc_con_riga_generata(doc, n_riga_generata, csv, conai_specie);
+ scrivi_csv_doc_con_riga_generata(doc, n_riga_generata, csv, conai_specie, sottoclass);
else
- scrivi_csv_doc_speciale(doc, csv, conai_specie, conai_codart);
- return true;
+ scrivi_csv_doc_speciale(doc, csv, conai_specie, sottoclass, conai_codart);
+
+ return true;
}
@@ -393,8 +458,8 @@ static int compare_csv_rows_specie(const TObject** o1, const TObject** o2)
TToken_string& s2 = *(TToken_string*)*o2;
//deve ordinare sul campo sottocat = codice specie conai (campo 8)
- const TFixed_string c1 = s1.get(8);
- const TFixed_string c2 = s2.get(8);
+ const TFixed_string c1 = s1.get(9);
+ const TFixed_string c2 = s2.get(9);
int cmp = c1.compare(c2, -1, true);
@@ -513,33 +578,33 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
const TCONAI_class conai_specie = (TCONAI_class)mask.get_int(F_SPECIECONAI);
TConfig ditta_ini(CONFIG_DITTA, "ve");
- TVariant codart;
+// TString codart;
const char* nome_report = ""; //report di tipo 6.1 scelto in base alla specie conai
switch (conai_specie)
{
case CONAI_ACC:
- codart = ditta_ini.get("CODACC"); //acciaio
+ // codart = ditta_ini.get("CODACC"); //acciaio
nome_report = "tp0900ac.rep";
break;
case CONAI_ALL:
- codart = ditta_ini.get("CODALL"); //alluminio
+ // codart = ditta_ini.get("CODALL"); //alluminio
nome_report = "tp0900al.rep";
break;
case CONAI_CAR:
- codart = ditta_ini.get("CODCAR"); //carta
+ // codart = ditta_ini.get("CODCAR"); //carta
nome_report = "tp0900ca.rep";
break;
case CONAI_PLA:
- codart = ditta_ini.get("CODPLA"); //plastica
+ // codart = ditta_ini.get("CODPLA"); //plastica
nome_report = "tp0900pl.rep";
break;
case CONAI_LEG:
- codart = ditta_ini.get("CODLEG"); //legno
+ // codart = ditta_ini.get("CODLEG"); //legno
nome_report = "tp0900le.rep";
break;
case CONAI_VET:
- codart = ditta_ini.get("CODVET"); //vetro
+ // codart = ditta_ini.get("CODVET"); //vetro
nome_report = "tp0900ve.rep";
break;
default:
@@ -562,7 +627,7 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
//cerca le righe con numerazione e tipo indicate nello sheet;prende sia le righe che generano CONAI (per avere il codice conai,..
//..le quantita' etc) e le righe generate da CONAI (per avere i prezzi)
- TString16 scat_fieldname = conai_sottocat_name(conai_specie);
+/* TString16 scat_fieldname = conai_sottocat_name(conai_specie);
if (scat_fieldname.blank())
return;
@@ -571,12 +636,13 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
if (peso_fieldname.blank())
return;
- peso_fieldname.insert("RG1:");
+ peso_fieldname.insert("RG1:"); */
TString query;
query << "USE RDOC";
- query << "\nSELECT BETWEEN(33.DATADOC,#DADATA,#ADATA)&&BETWEEN(33.TIPODOC,#TIPODOC,#TIPODOC)&&((" << scat_fieldname <<"!=\"\")||(" << peso_fieldname << "!=0.00))";
- query << "\nJOIN DOC INTO PROVV==PROVV ANNO==ANNO CODNUM==CODNUM NDOC==NDOC";
+// query << "\nSELECT BETWEEN(33.DATADOC,#DADATA,#ADATA)&&BETWEEN(33.TIPODOC,#TIPODOC,#TIPODOC)&&((" << scat_fieldname << "!=\"\")||(" << peso_fieldname << "!=0.00))";
+ query << "\nSELECT BETWEEN(33.DATADOC,#DADATA,#ADATA)&&BETWEEN(33.TIPODOC,#TIPODOC,#TIPODOC)";
+ query << "\nJOIN DOC INTO PROVV==PROVV ANNO==ANNO CODNUM==CODNUM NDOC==NDOC";
query << "\nFROM PROVV=D ANNO=#ANNO CODNUM=#CODNUM";
query << "\nTO PROVV=D ANNO=#ANNO CODNUM=#CODNUM";
@@ -605,30 +671,46 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
rdoc.set_var("#CODNUM", cod);
rdoc.set_var("#TIPODOC", tip);
- TString msg;
- msg << TR("Generazione righe ") << cod;
- if (tip.full()) msg << " (" << tip << ')';
+ TString str;
+ str << TR("Generazione righe ") << cod;
+ if (tip.full()) str << " (" << tip;
- TProgress_monitor pi(1, msg); // Prima progresso indeterminato (1) ...
- pi.set_max(rdoc.items()); // ... poi conteggio esatto (rdoc.items)
+ TString query_scc = "USE &VESCC SELECT CODTAB[1,2]=="; query_scc << '"' << conai_class2str(conai_specie) << '"';
+ TISAM_recordset scc(query_scc);
+ for (bool ok_scc = scc.move_first(); ok_scc; ok_scc = scc.move_next())
+ {
+ TString sottoclass(scc.get("CODTAB").as_string());
+ TString codart(scc.get("S1").as_string());
+ TString msg(str);
- long last_ndoc = 0;
+ msg << " - Sottocategoria " << sottoclass << ')';
+ TProgress_monitor pi(1, msg); // Prima progresso indeterminato (1) ...
+ pi.set_max(rdoc.items()); // ... poi conteggio esatto (rdoc.items)
- //Scansione del recordset trovato
- for (bool ok = rdoc.move_first(); ok; ok = rdoc.move_next())
- {
- if (!pi.add_status())
- break;
+ long last_ndoc = 0;
- const long ndoc = rdoc.get(RDOC_NDOC).as_int();
- if (ndoc != last_ndoc)
- {
- scrivi_csv(rdoc.cursor()->curr(), *csv, conai_specie, codart.as_string());
- last_ndoc = ndoc;
- }
- } //for(bool ok = rdoc.move_first(..
+ //Scansione del recordset trovato
+ for (bool ok = rdoc.move_first(); ok; ok = rdoc.move_next())
+ {
+ if (!pi.add_status())
+ break;
+ const long ndoc = rdoc.get(RDOC_NDOC).as_int();
+ if (ndoc != last_ndoc)
+ {
+ scrivi_csv(rdoc.cursor()->curr(), *csv, conai_specie, sottoclass, codart);
+ last_ndoc = ndoc;
+ }
+ } //for(bool ok = rdoc.move_first(..
+ } //for(bool ok = scc.move_first(..
} //FOR_EACH...
+ if (_log->errors() != 0)
+ {
+ _log->print_or_preview();
+ if (!yesno_box("Ci sono errori. Vuoi continuare ugualmente ?"))
+ return;
+ }
+
if (!csv->empty())
{
@@ -695,6 +777,8 @@ bool TDichiarazione_CONAI::create()
if (!has_module(DCAUT))
return cantaccess_box(title());
+ _log = new TLog_report("Errori Dichiarazione CONAI");
+
return TSkeleton_application::create();
}
diff --git a/src/tp/tp0900ac.png b/src/tp/tp0900ac.png
index 13f06ef43..a746026e4 100755
Binary files a/src/tp/tp0900ac.png and b/src/tp/tp0900ac.png differ
diff --git a/src/tp/tp0900ac.rep b/src/tp/tp0900ac.rep
index f9f3a3528..355d6f002 100755
--- a/src/tp/tp0900ac.rep
+++ b/src/tp/tp0900ac.rep
@@ -2,7 +2,7 @@
Dichiarazione CONAI acciaio 6.1
-
+
#PERIODO
@@ -12,7 +12,7 @@
MESSAGE HIDE,2@|SHOW,3@
-
+
IF(#PERIODO="1","X","")
@@ -20,7 +20,7 @@
#ANNO
-
+
IF(#PERIODO="2","X","")
@@ -44,7 +44,7 @@
2
IF(#TRIMESTRE="12","X","")
-
+
IF(#PERIODO="3","X","")
@@ -111,11 +111,11 @@
#SOCIO
-
+
IF(#PRODUT="1","X","")
-
+
IF(#PRODUT="2","X","")
@@ -142,441 +142,171 @@
#EMAIL
-
-
+
+
+ J
+ 0
+#F2.101 !
+0
+#F2.102 !
+0
+#F2.103 !
+0
+#F2.104 !
+
+
-
-
- NUM(J[3,4])
+
+
+ CODNUM
-
- "#F0."
-#10 @
-100
-+
-+
-#THIS !
-
+
+ ANNO
-
- "#F0."
-#10 @
-200
-+
-+
-#THIS !
-
+
+ NDOC
-
- "#F0."
-#10 @
-300
-+
-+
-#THIS !
-
+
+ DATADOC
-
- "#F0."
-#10 @
-500
+
+ CODCLI
+
+
+ NUM(SOTTOCL)
+ #THIS @
+#F2.100 !
+
+
+ CONAIA
+ #THIS @
+#F2.101 @
+
+#F2.101 !
+
+
+ CONAIB
+ #THIS @
+#F2.102 @
+
-#THIS !
-
+#F2.102 !
-
- M
- #THIS @
-#20 @
-+!
-
-
- N
- #THIS @
-#30 @
-+!
-
-
- O
- #THIS @
-#40 @
-+!
+
+ CONAIBxC
+ #THIS @
+#F2.103 @
++
+#F2.103 !
- P
- #THIS @
-#50 @
-+!
+ #101 @
+#102 @
++
+DUP
+#THIS !
+#F2.104
++!
-
+
-
+
#SYSTEM.DATE
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
-
-
-
-
-
-
-
-
-
-
- #310 @
-#210 @
-F;
-#THIS !
-
-
- #320 @
-#220 @
-F;
-#THIS !
-
-
- #330 @
-#230 @
-F;
-#THIS !
-
-
- #340 @
-#240 @
-F;
-#THIS !
-
-
- #350 @
-#250 @
-F;
-#THIS !
-
-
- #360 @
-#260 @
-F;
-#THIS !
-
-
- #370 @
-#270 @
-F;
-#THIS !
-
-
- #380 @
-#280 @
-F;
-#THIS !
-
-
- #390 @
-#290 @
-F;
-#THIS !
-
-
- #399 @
-#299 @
-F;
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #210 @
-#410 @
-*
-#THIS !
-
-
- #220 @
-#420 @
-*
-#THIS !
-
-
- #230 @
-#430 @
-*
-#THIS !
-
-
- #240 @
-#440 @
-*
-#THIS !
-
-
- #250 @
-#450 @
-*
-#THIS !
-
-
- #260 @
-#460 @
-*
-#THIS !
-
-
- #270 @
-#470 @
-*
-#THIS !
-
-
- #280 @
-#480 @
-*
-#THIS !
-
-
- #290 @
-#490 @
-*
-#THIS !
-
-
- #299 @
-#499 @
-*
-#THIS !
-
-
+
- #110+#120+#130+#140+#150+#160+#170+#180+#190+#199
- #THIS @
-1000 F;
-
-#THIS !
-
+
- #210+#220+#230+#240+#250+#260+#270+#280+#290+#299
- #THIS @
-1000 F;
-
-#THIS !
-
+
- #310+#320+#330+#340+#350+#360+#370+#380+#390+#399
-
+
- #3000 @
-#2000 @
+ #103 @
+#102 @
F;
#THIS !
-
+
- #510+#520+#530+#540+#550+#560+#570+#580+#590+#599
- #THIS @
-1000 F;
-
+ #101 @
+#102 @
++
#THIS !
-
+
- #2000 @
-#4000 @
+ #102 @
+#104 @
*
-#THIS !
-
-
- #6000 @
-2
-ROUND
#THIS !
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+ #THIS @
+1000 F;
+
+#THIS !
+ #THIS @
+#F0.101 @
++
+#F0.101 !
+
+
+
+ #THIS @
+1000 F;
+
+#THIS !
+ #THIS @
+#F0.102 @
++
+#F0.102 !
+
+
+
+ #THIS @
+#F0.103 @
++
+#F0.103 !
+
+
+
+ #103 @
+#102 @
+F;
+#THIS !
+
+
+
+ #101 @
+#102 @
++
+#THIS !
+
+
+
+ #102 @
+#104 @
+*
+#THIS !
+
+
+
+ MESSAGE ISAMREAD,163,MOD='VE'!COD='SCC'!CODTAB=#100,S0
+
+
+
+
diff --git a/src/tp/tp0900al.png b/src/tp/tp0900al.png
index f387ec38f..27c476d9b 100755
Binary files a/src/tp/tp0900al.png and b/src/tp/tp0900al.png differ
diff --git a/src/tp/tp0900al.rep b/src/tp/tp0900al.rep
index b73544261..1f08e50e2 100755
--- a/src/tp/tp0900al.rep
+++ b/src/tp/tp0900al.rep
@@ -2,7 +2,7 @@
Dichiarazione CONAI alluminio 6.1
-
+
#PERIODO
@@ -12,7 +12,7 @@
MESSAGE HIDE,2@|SHOW,3@
-
+
IF(#PERIODO="1","X","")
@@ -20,7 +20,7 @@
#ANNO
-
+
IF(#PERIODO="2","X","")
@@ -44,7 +44,7 @@
2
IF(#TRIMESTRE="12","X","")
-
+
IF(#PERIODO="3","X","")
@@ -111,11 +111,11 @@
#SOCIO
-
+
IF(#PRODUT="1","X","")
-
+
IF(#PRODUT="2","X","")
@@ -142,441 +142,171 @@
#EMAIL
-
-
+
+
+ J
+ 0
+#F2.101 !
+0
+#F2.102 !
+0
+#F2.103 !
+0
+#F2.104 !
+
+
-
-
- NUM(J[3,4])
+
+
+ CODNUM
-
- "#F0."
-#10 @
-100
-+
-+
-#THIS !
-
+
+ ANNO
-
- "#F0."
-#10 @
-200
-+
-+
-#THIS !
-
+
+ NDOC
-
- "#F0."
-#10 @
-300
-+
-+
-#THIS !
-
+
+ DATADOC
-
- "#F0."
-#10 @
-500
+
+ CODCLI
+
+
+ NUM(SOTTOCL)
+ #THIS @
+#F2.100 !
+
+
+ CONAIA
+ #THIS @
+#F2.101 @
+
+#F2.101 !
+
+
+ CONAIB
+ #THIS @
+#F2.102 @
+
-#THIS !
-
+#F2.102 !
-
- M
- #THIS @
-#20 @
-+!
-
-
- N
- #THIS @
-#30 @
-+!
-
-
- O
- #THIS @
-#40 @
-+!
+
+ CONAIBxC
+ #THIS @
+#F2.103 @
++
+#F2.103 !
- P
- #THIS @
-#50 @
-+!
+ #101 @
+#102 @
++
+DUP
+#THIS !
+#F2.104
++!
-
+
-
+
#SYSTEM.DATE
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
-
-
-
-
-
-
-
-
-
-
- #310 @
-#210 @
-F;
-#THIS !
-
-
- #320 @
-#220 @
-F;
-#THIS !
-
-
- #330 @
-#230 @
-F;
-#THIS !
-
-
- #340 @
-#240 @
-F;
-#THIS !
-
-
- #350 @
-#250 @
-F;
-#THIS !
-
-
- #360 @
-#260 @
-F;
-#THIS !
-
-
- #370 @
-#270 @
-F;
-#THIS !
-
-
- #380 @
-#280 @
-F;
-#THIS !
-
-
- #390 @
-#290 @
-F;
-#THIS !
-
-
- #399 @
-#299 @
-F;
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #210 @
-#410 @
-*
-#THIS !
-
-
- #220 @
-#420 @
-*
-#THIS !
-
-
- #230 @
-#430 @
-*
-#THIS !
-
-
- #240 @
-#440 @
-*
-#THIS !
-
-
- #250 @
-#450 @
-*
-#THIS !
-
-
- #260 @
-#460 @
-*
-#THIS !
-
-
- #270 @
-#470 @
-*
-#THIS !
-
-
- #280 @
-#480 @
-*
-#THIS !
-
-
- #290 @
-#490 @
-*
-#THIS !
-
-
- #299 @
-#499 @
-*
-#THIS !
-
-
+
- #110+#120+#130+#140+#150+#160+#170+#180+#190+#199
- #THIS @
-1000 F;
-
-#THIS !
-
+
- #210+#220+#230+#240+#250+#260+#270+#280+#290+#299
- #THIS @
-1000 F;
-
-#THIS !
-
+
- #310+#320+#330+#340+#350+#360+#370+#380+#390+#399
-
+
- #3000 @
-#2000 @
+ #103 @
+#102 @
F;
#THIS !
-
+
- #510+#520+#530+#540+#550+#560+#570+#580+#590+#599
- #THIS @
-1000 F;
-
+ #101 @
+#102 @
++
#THIS !
-
+
- #2000 @
-#4000 @
+ #102 @
+#104 @
*
-#THIS !
-
-
- #6000 @
-2
-ROUND
#THIS !
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+ #THIS @
+1000 F;
+
+#THIS !
+ #THIS @
+#F0.101 @
++
+#F0.101 !
+
+
+
+ #THIS @
+1000 F;
+
+#THIS !
+ #THIS @
+#F0.102 @
++
+#F0.102 !
+
+
+
+ #THIS @
+#F0.103 @
++
+#F0.103 !
+
+
+
+ #103 @
+#102 @
+F;
+#THIS !
+
+
+
+ #101 @
+#102 @
++
+#THIS !
+
+
+
+ #102 @
+#104 @
+*
+#THIS !
+
+
+
+ MESSAGE ISAMREAD,163,MOD='VE'!COD='SCC'!CODTAB=#100,S0
+
+
+
+
diff --git a/src/tp/tp0900ca.png b/src/tp/tp0900ca.png
index 0050e0fe6..3d874fc19 100755
Binary files a/src/tp/tp0900ca.png and b/src/tp/tp0900ca.png differ
diff --git a/src/tp/tp0900ca.rep b/src/tp/tp0900ca.rep
index fd29533e8..9cd667638 100755
--- a/src/tp/tp0900ca.rep
+++ b/src/tp/tp0900ca.rep
@@ -2,7 +2,7 @@
Dichiarazione CONAI carta 6.1
-
+
#PERIODO
@@ -12,7 +12,7 @@
MESSAGE HIDE,2@|SHOW,3@
-
+
IF(#PERIODO="1","X","")
@@ -20,7 +20,7 @@
#ANNO
-
+
IF(#PERIODO="2","X","")
@@ -44,7 +44,7 @@
2
IF(#TRIMESTRE="12","X","")
-
+
IF(#PERIODO="3","X","")
@@ -111,11 +111,11 @@
#SOCIO
-
+
IF(#PRODUT="1","X","")
-
+
IF(#PRODUT="2","X","")
@@ -142,442 +142,171 @@
#EMAIL
-
-
+
+
+ J
+ 0
+#F2.101 !
+0
+#F2.102 !
+0
+#F2.103 !
+0
+#F2.104 !
+
+
-
-
- NUM(J[3,4])
+
+
+ CODNUM
-
- "#F0."
-#10 @
-100
-+
-+
-#THIS !
-
+
+ ANNO
-
- "#F0."
-#10 @
-200
-+
-+
-#THIS !
-
+
+ NDOC
-
- "#F0."
-#10 @
-300
-+
-+
-#THIS !
-
+
+ DATADOC
-
- "#F0."
-#10 @
-500
+
+ CODCLI
+
+
+ NUM(SOTTOCL)
+ #THIS @
+#F2.100 !
+
+
+ CONAIA
+ #THIS @
+#F2.101 @
+
+#F2.101 !
+
+
+ CONAIB
+ #THIS @
+#F2.102 @
+
-#THIS !
-
+#F2.102 !
-
- M
- #THIS @
-#20 @
-+!
-
-
- N
- #THIS @
-#30 @
-+!
-
-
- O
- #THIS @
-#40 @
-+!
+
+ CONAIBxC
+ #THIS @
+#F2.103 @
++
+#F2.103 !
- P
- #THIS @
-#50 @
-+!
+ #101 @
+#102 @
++
+DUP
+#THIS !
+#F2.104
++!
-
+
-
+
#SYSTEM.DATE
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
-
-
-
-
-
-
-
-
-
-
- #310 @
-#210 @
-F;
-#THIS !
-
-
- #320 @
-#220 @
-F;
-#THIS !
-
-
- #330 @
-#230 @
-F;
-#THIS !
-
-
- #340 @
-#240 @
-F;
-#THIS !
-
-
- #350 @
-#250 @
-F;
-#THIS !
-
-
- #360 @
-#260 @
-F;
-#THIS !
-
-
- #370 @
-#270 @
-F;
-#THIS !
-
-
- #380 @
-#280 @
-F;
-#THIS !
-
-
- #390 @
-#290 @
-F;
-#THIS !
-
-
- #399 @
-#299 @
-F;
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #210 @
-#410 @
-*
-#THIS !
-
-
- #220 @
-#420 @
-*
-#THIS !
-
-
- #230 @
-#430 @
-*
-#THIS !
-
-
- #240 @
-#440 @
-*
-#THIS !
-
-
- #250 @
-#450 @
-*
-#THIS !
-
-
- #260 @
-#460 @
-*
-#THIS !
-
-
- #270 @
-#470 @
-*
-#THIS !
-
-
- #280 @
-#480 @
-*
-#THIS !
-
-
- #290 @
-#490 @
-*
-#THIS !
-
-
- #299 @
-#499 @
-*
-#THIS !
-
-
+
- #110+#120+#130+#140+#150+#160+#170+#180+#190+#199
- #THIS @
-1000 F;
-
-#THIS !
-
+
- #210+#220+#230+#240+#250+#260+#270+#280+#290+#299
- #THIS @
-1000 F;
-
-#THIS !
-
+
- #310+#320+#330+#340+#350+#360+#370+#380+#390+#399
-
+
- #3000 @
-#2000 @
+ #103 @
+#102 @
F;
#THIS !
-
+
- #510+#520+#530+#540+#550+#560+#570+#580+#590+#599
- #THIS @
-1000 F;
-
+ #101 @
+#102 @
++
#THIS !
-
+
- #610+#620+#630+#640+#650+#660+#670+#680+#690+#699
- #2000 @
-#4000 @
+ #102 @
+#104 @
*
-#THIS !
-
-
- #6000 @
-2
-ROUND
#THIS !
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+ #THIS @
+1000 F;
+
+#THIS !
+ #THIS @
+#F0.101 @
++
+#F0.101 !
+
+
+
+ #THIS @
+1000 F;
+
+#THIS !
+ #THIS @
+#F0.102 @
++
+#F0.102 !
+
+
+
+ #THIS @
+#F0.103 @
++
+#F0.103 !
+
+
+
+ #103 @
+#102 @
+F;
+#THIS !
+
+
+
+ #101 @
+#102 @
++
+#THIS !
+
+
+
+ #102 @
+#104 @
+*
+#THIS !
+
+
+
+ MESSAGE ISAMREAD,163,MOD='VE'!COD='SCC'!CODTAB=#100,S0
+
+
+
+
diff --git a/src/tp/tp0900le.png b/src/tp/tp0900le.png
index 6d77e0588..bef556ada 100755
Binary files a/src/tp/tp0900le.png and b/src/tp/tp0900le.png differ
diff --git a/src/tp/tp0900le.rep b/src/tp/tp0900le.rep
index 023a4ecd2..e286cbbac 100755
--- a/src/tp/tp0900le.rep
+++ b/src/tp/tp0900le.rep
@@ -2,7 +2,7 @@
Dichiarazione CONAI legno 6.1
-
+
#PERIODO
@@ -12,7 +12,7 @@
MESSAGE HIDE,2@|SHOW,3@
-
+
IF(#PERIODO="1","X","")
@@ -20,7 +20,7 @@
#ANNO
-
+
IF(#PERIODO="2","X","")
@@ -44,7 +44,7 @@
2
IF(#TRIMESTRE="12","X","")
-
+
IF(#PERIODO="3","X","")
@@ -111,11 +111,11 @@
#SOCIO
-
+
IF(#PRODUT="1","X","")
-
+
IF(#PRODUT="2","X","")
@@ -142,379 +142,171 @@
#EMAIL
-
-
+
+
+ J
+ 0
+#F2.101 !
+0
+#F2.102 !
+0
+#F2.103 !
+0
+#F2.104 !
+
+
-
-
- NUM(J[3,4])
+
+
+ CODNUM
-
- "#F0."
-#10 @
-100
-+
-+
-#THIS !
-
+
+ ANNO
-
- "#F0."
-#10 @
-200
-+
-+
-#THIS !
-
+
+ NDOC
-
- "#F0."
-#10 @
-300
-+
-+
-#THIS !
-
+
+ DATADOC
-
- "#F0."
-#10 @
-500
+
+ CODCLI
+
+
+ NUM(SOTTOCL)
+ #THIS @
+#F2.100 !
+
+
+ CONAIA
+ #THIS @
+#F2.101 @
+
+#F2.101 !
+
+
+ CONAIB
+ #THIS @
+#F2.102 @
+
-#THIS !
-
+#F2.102 !
-
- M
- #THIS @
-#20 @
-+!
-
-
- N
- #THIS @
-#30 @
-+!
-
-
- O
- #THIS @
-#40 @
-+!
+
+ CONAIBxC
+ #THIS @
+#F2.103 @
++
+#F2.103 !
- P
- #THIS @
-#50 @
-+!
+ #101 @
+#102 @
++
+DUP
+#THIS !
+#F2.104
++!
-
+
-
+
#SYSTEM.DATE
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
-
-
-
-
-
-
-
-
- #310 @
-#210 @
-F;
-#THIS !
-
-
- #320 @
-#220 @
-F;
-#THIS !
-
-
- #330 @
-#230 @
-F;
-#THIS !
-
-
- #340 @
-#240 @
-F;
-#THIS !
-
-
- #350 @
-#250 @
-F;
-#THIS !
-
-
- #360 @
-#260 @
-F;
-#THIS !
-
-
- #370 @
-#270 @
-F;
-#THIS !
-
-
- #399 @
-#299 @
-F;
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #210 @
-#410 @
-*
-#THIS !
-
-
- #220 @
-#420 @
-*
-#THIS !
-
-
- #230 @
-#430 @
-*
-#THIS !
-
-
- #240 @
-#440 @
-*
-#THIS !
-
-
- #250 @
-#450 @
-*
-#THIS !
-
-
- #260 @
-#460 @
-*
-#THIS !
-
-
- #270 @
-#470 @
-*
-#THIS !
-
-
- #299 @
-#499 @
-*
-#THIS !
-
-
+
- #110+#120+#130+#140+#150+#160+#170+#199
- #THIS @
-1000 F;
-
-#THIS !
-
+
- #210+#220+#230+#240+#250+#260+#270+#299
- #THIS @
-1000 F;
-
-#THIS !
-
+
- #310+#320+#330+#340+#350+#360+#370+#399
-
+
- #3000 @
-#2000 @
+ #103 @
+#102 @
F;
#THIS !
-
+
- #510+#520+#530+#540+#550+#560+#570+#599
- #THIS @
-1000 F;
-
+ #101 @
+#102 @
++
#THIS !
-
+
- #2000 @
-#4000 @
+ #102 @
+#104 @
*
-#THIS !
-
-
- #6000 @
-2
-ROUND
#THIS !
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+ #THIS @
+1000 F;
+
+#THIS !
+ #THIS @
+#F0.101 @
++
+#F0.101 !
+
+
+
+ #THIS @
+1000 F;
+
+#THIS !
+ #THIS @
+#F0.102 @
++
+#F0.102 !
+
+
+
+ #THIS @
+#F0.103 @
++
+#F0.103 !
+
+
+
+ #103 @
+#102 @
+F;
+#THIS !
+
+
+
+ #101 @
+#102 @
++
+#THIS !
+
+
+
+ #102 @
+#104 @
+*
+#THIS !
+
+
+
+ MESSAGE ISAMREAD,163,MOD='VE'!COD='SCC'!CODTAB=#100,S0
+
+
+
+
diff --git a/src/tp/tp0900pl.png b/src/tp/tp0900pl.png
index 389d80922..c41e44e50 100755
Binary files a/src/tp/tp0900pl.png and b/src/tp/tp0900pl.png differ
diff --git a/src/tp/tp0900pl.rep b/src/tp/tp0900pl.rep
index 11afa9230..f8dfecb48 100755
--- a/src/tp/tp0900pl.rep
+++ b/src/tp/tp0900pl.rep
@@ -2,7 +2,7 @@
Dichiarazione CONAI plastica 6.1
-
+
#PERIODO
@@ -142,565 +142,171 @@
#EMAIL
-
-
+
+
+ J
+ 0
+#F2.101 !
+0
+#F2.102 !
+0
+#F2.103 !
+0
+#F2.104 !
+
+
-
-
- NUM(J[3,4])
+
+
+ CODNUM
-
- "#F0."
-#10 @
-100
-+
-+
-#THIS !
-
+
+ ANNO
-
- "#F0."
-#10 @
-200
-+
-+
-#THIS !
-
+
+ NDOC
-
- "#F0."
-#10 @
-300
-+
-+
-#THIS !
-
+
+ DATADOC
-
- "#F0."
-#10 @
-500
+
+ CODCLI
+
+
+ NUM(SOTTOCL)
+ #THIS @
+#F2.100 !
+
+
+ CONAIA
+ #THIS @
+#F2.101 @
+
+#F2.101 !
+
+
+ CONAIB
+ #THIS @
+#F2.102 @
+
-#THIS !
-
+#F2.102 !
-
- M
- #THIS @
-#20 @
-+!
-
-
- N
- #THIS @
-#30 @
-+!
-
-
- O
- #THIS @
-#40 @
-+!
+
+ CONAIBxC
+ #THIS @
+#F2.103 @
++
+#F2.103 !
- P
- #THIS @
-#50 @
-+!
+ #101 @
+#102 @
++
+DUP
+#THIS !
+#F2.104
++!
-
+
-
+
#SYSTEM.DATE
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #310 @
-#210 @
-F;
-#THIS !
-
-
- #312 @
-#212 @
-F;
-#THIS !
-
-
- #313 @
-#213 @
-F;
-#THIS !
-
-
- #314 @
-#214 @
-F;
-#THIS !
-
-
- #315 @
-#215 @
-F;
-#THIS !
-
-
- #316 @
-#216 @
-F;
-#THIS !
-
-
- #317 @
-#217 @
-F;
-#THIS !
-
-
- #320 @
-#220 @
-F;
-#THIS !
-
-
- #322 @
-#222 @
-F;
-#THIS !
-
-
- #323 @
-#223 @
-F;
-#THIS !
-
-
- #330 @
-#230 @
-F;
-#THIS !
-
-
- #340 @
-#240 @
-F;
-#THIS !
-
-
- #350 @
-#250 @
-F;
-#THIS !
-
-
- #399 @
-#299 @
-F;
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #210 @
-#410 @
-*
-#THIS !
-
-
- #212 @
-#412 @
-*
-#THIS !
-
-
- #213 @
-#413 @
-*
-#THIS !
-
-
- #214 @
-#414 @
-*
-#THIS !
-
-
- #215 @
-#415 @
-*
-#THIS !
-
-
- #216 @
-#416 @
-*
-#THIS !
-
-
- #217 @
-#417 @
-*
-#THIS !
-
-
- #220 @
-#420 @
-*
-#THIS !
-
-
- #222 @
-#422 @
-*
-#THIS !
-
-
- #223 @
-#423 @
-*
-#THIS !
-
-
- #230 @
-#430 @
-*
-#THIS !
-
-
- #240 @
-#440 @
-*
-#THIS !
-
-
- #250 @
-#450 @
-*
-#THIS !
-
-
- #299 @
-#499 @
-*
-#THIS !
-
-
+
- #120+#112+#113+#114+#115+#130+#116+#110+#150+#117+#140+#122+#123+#199
- #THIS @
-1000 F;
-
-#THIS !
-
+
- #220+#212+#213+#214+#215+#230+#216+#210+#250+#217+#240+#222+#223+#299
- #THIS @
-1000 F;
-
-#THIS !
-
+
- #320+#312+#313+#314+#315+#330+#316+#310+#350+#317+#340+#322+#323+#399
-
+
- #3000 @
-#2000 @
+ #103 @
+#102 @
F;
#THIS !
-
+
- #520+#512+#513+#514+#515+#530+#516+#510+#550+#517+#540+#522+#523+#599
- #THIS @
-1000 F;
-
+ #101 @
+#102 @
++
#THIS !
-
+
- #2000 @
-#4000 @
+ #102 @
+#104 @
*
-#THIS !
-
-
- #6000 @
-2
-ROUND
#THIS !
-
+
+
+
+
+
+
+
+ #THIS @
+1000 F;
+
+#THIS !
+ #THIS @
+#F0.101 @
++
+#F0.101 !
+
+
+
+ #THIS @
+1000 F;
+
+#THIS !
+ #THIS @
+#F0.102 @
++
+#F0.102 !
+
+
+
+ #THIS @
+#F0.103 @
++
+#F0.103 !
+
+
+
+ #103 @
+#102 @
+F;
+#THIS !
+
+
+
+ #101 @
+#102 @
++
+#THIS !
+
+
+
+ #102 @
+#104 @
+*
+#THIS !
+
+
+
+ MESSAGE ISAMREAD,163,MOD='VE'!COD='SCC'!CODTAB=#100,S0
+
+
+
\ No newline at end of file
diff --git a/src/tp/tp0900ve.png b/src/tp/tp0900ve.png
index 9518cc22d..c1cbd36cc 100755
Binary files a/src/tp/tp0900ve.png and b/src/tp/tp0900ve.png differ
diff --git a/src/tp/tp0900ve.rep b/src/tp/tp0900ve.rep
index 3534729bf..a8246951e 100755
--- a/src/tp/tp0900ve.rep
+++ b/src/tp/tp0900ve.rep
@@ -2,7 +2,7 @@
Dichiarazione CONAI vetro 6.1
-
+
#PERIODO
@@ -12,7 +12,7 @@
MESSAGE HIDE,2@|SHOW,3@
-
+
IF(#PERIODO="1","X","")
@@ -20,7 +20,7 @@
#ANNO
-
+
IF(#PERIODO="2","X","")
@@ -44,7 +44,7 @@
2
IF(#TRIMESTRE="12","X","")
-
+
IF(#PERIODO="3","X","")
@@ -111,11 +111,11 @@
#SOCIO
-
+
IF(#PRODUT="1","X","")
-
+
IF(#PRODUT="2","X","")
@@ -142,348 +142,171 @@
#EMAIL
-
-
+
+
+ J
+ 0
+#F2.101 !
+0
+#F2.102 !
+0
+#F2.103 !
+0
+#F2.104 !
+
+
-
-
- NUM(J[3,4])
+
+
+ CODNUM
-
- "#F0."
-#10 @
-100
-+
-+
-#THIS !
-
+
+ ANNO
-
- "#F0."
-#10 @
-200
-+
-+
-#THIS !
-
+
+ NDOC
-
- "#F0."
-#10 @
-300
-+
-+
-#THIS !
-
+
+ DATADOC
-
- "#F0."
-#10 @
-500
+
+ CODCLI
+
+
+ NUM(SOTTOCL)
+ #THIS @
+#F2.100 !
+
+
+ CONAIA
+ #THIS @
+#F2.101 @
+
+#F2.101 !
+
+
+ CONAIB
+ #THIS @
+#F2.102 @
+
-#THIS !
-
+#F2.102 !
-
- M
- #THIS @
-#20 @
-+!
-
-
- N
- #THIS @
-#30 @
-+!
-
-
- O
- #THIS @
-#40 @
-+!
+
+ CONAIBxC
+ #THIS @
+#F2.103 @
++
+#F2.103 !
- P
- #THIS @
-#50 @
-+!
+ #101 @
+#102 @
++
+DUP
+#THIS !
+#F2.104
++!
-
+
-
+
#SYSTEM.DATE
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
-
-
-
-
-
-
-
- #310 @
-#210 @
-F;
-#THIS !
-
-
- #320 @
-#220 @
-F;
-#THIS !
-
-
- #330 @
-#230 @
-F;
-#THIS !
-
-
- #340 @
-#240 @
-F;
-#THIS !
-
-
- #350 @
-#250 @
-F;
-#THIS !
-
-
- #360 @
-#260 @
-F;
-#THIS !
-
-
- #399 @
-#299 @
-F;
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #THIS @
-1000 F;
-
-#THIS !
-
-
- #210 @
-#410 @
-*
-#THIS !
-
-
- #220 @
-#420 @
-*
-#THIS !
-
-
- #230 @
-#430 @
-*
-#THIS !
-
-
- #240 @
-#440 @
-*
-#THIS !
-
-
- #250 @
-#450 @
-*
-#THIS !
-
-
- #260 @
-#460 @
-*
-#THIS !
-
-
- #299 @
-#499 @
-*
-#THIS !
-
-
+
- #110+#120+#130+#140+#150+#160+#199
- #THIS @
-1000 F;
-
-#THIS !
-
+
- #210+#220+#230+#240+#250+#260+#299
- #THIS @
-1000 F;
-
-#THIS !
-
+
- #310+#320+#330+#340+#350+#360+#399
-
+
- #3000 @
-#2000 @
+ #103 @
+#102 @
F;
#THIS !
-
+
- #510+#520+#530+#540+#550+#560+#599
- #THIS @
-1000 F;
-
+ #101 @
+#102 @
++
#THIS !
-
+
- #2000 @
-#4000 @
+ #102 @
+#104 @
*
-#THIS !
-
-
- #6000 @
-2
-ROUND
#THIS !
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+ #THIS @
+1000 F;
+
+#THIS !
+ #THIS @
+#F0.101 @
++
+#F0.101 !
+
+
+
+ #THIS @
+1000 F;
+
+#THIS !
+ #THIS @
+#F0.102 @
++
+#F0.102 !
+
+
+
+ #THIS @
+#F0.103 @
++
+#F0.103 !
+
+
+
+ #103 @
+#102 @
+F;
+#THIS !
+
+
+
+ #101 @
+#102 @
++
+#THIS !
+
+
+
+ #102 @
+#104 @
+*
+#THIS !
+
+
+
+ MESSAGE ISAMREAD,163,MOD='VE'!COD='SCC'!CODTAB=#100,S0
+
+
+
+
diff --git a/src/tp/tpmenu.men b/src/tp/tpmenu.men
index 337b400c8..b4c36b7c4 100755
--- a/src/tp/tpmenu.men
+++ b/src/tp/tpmenu.men
@@ -8,7 +8,8 @@ Item_02 = "Dichiarazione CONAI", "tp0 -8", ""
Item_03 = "Lista produttori CONAI", "ba8 -4 tp0900pr", ""
Item_04 = "Lista esenzioni CONAI", "ba8 -4 tp0900el", ""
Item_05 = "Sottocategorie CONAI", "ve0 -6 &SCC", "F"
-Item_06 = "Tabelle di conversione", [TPMENU_002]
+Item_06 = "Conversione sottocategorie CONAI", "ve0 -6 &CSC", "F"
+Item_07 = "Tabelle di conversione", [TPMENU_002]
[TPMENU_002]
Caption = "Tabelle di conversione"