2Patch level : 12.0 972
Files correlati : tp0.exe Commento : Modificata la gestione degli addebiti a accrediti di solo CONAI per la dichiarazione. Bisogna utilizzare righe di spesa a quantità e przzo con codice crispondente al codice spesa CONAI cirrispondente emettere il codice della sottocategoria nel primo camp CONAI. Il peso unitario non serve e NON viene utilizzato.
This commit is contained in:
parent
3931306edf
commit
ea05729cc3
@ -98,13 +98,13 @@ protected:
|
|||||||
void elabora(const TMask& mask) const;
|
void elabora(const TMask& mask) const;
|
||||||
bool scrivi_csv(const TRectype& prima_riga, TDichiarazione_CONAI_csv_recordset& csv,
|
bool scrivi_csv(const TRectype& prima_riga, TDichiarazione_CONAI_csv_recordset& csv,
|
||||||
const TCONAI_class conai_specie, const TString & sottoclass,
|
const TCONAI_class conai_specie, const TString & sottoclass,
|
||||||
const TString& conai_codart, TLog_report &log) const;
|
const TString& conai_codsp, TLog_report &log) const;
|
||||||
void scrivi_csv_doc_con_riga_generata(const TDocumento& doc, const int n_riga_generata,
|
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,
|
TDichiarazione_CONAI_csv_recordset& csv, const TCONAI_class conai_specie,
|
||||||
const TString & sottoclass, TLog_report &log) const;
|
const TString & sottoclass, const TString& conai_codsp, TLog_report &log) const;
|
||||||
void scrivi_csv_doc_speciale(const TDocumento& doc, TDichiarazione_CONAI_csv_recordset& csv,
|
void scrivi_csv_doc_rettifiche(const TDocumento& doc, TDichiarazione_CONAI_csv_recordset& csv,
|
||||||
const TCONAI_class conai_specie, const TString & sottoclass,
|
const TCONAI_class conai_specie, const TString & sottoclass,
|
||||||
const TString& conai_codart) const;
|
const TString& conai_codsp) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual bool create();
|
virtual bool create();
|
||||||
@ -150,7 +150,7 @@ real TDichiarazione_CONAI::clifo_conai(const TCli_for& clifo, const TCONAI_class
|
|||||||
void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(const TDocumento& doc, const int n_riga_generata,
|
void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(const TDocumento& doc, const int n_riga_generata,
|
||||||
TDichiarazione_CONAI_csv_recordset& csv,
|
TDichiarazione_CONAI_csv_recordset& csv,
|
||||||
const TCONAI_class conai_specie, const TString & sottoclass,
|
const TCONAI_class conai_specie, const TString & sottoclass,
|
||||||
TLog_report &log) const
|
const TString& conai_codsp, TLog_report &log) const
|
||||||
{
|
{
|
||||||
//prende dalla riga i dati che gli servono per fare vari calcoli
|
//prende dalla riga i dati che gli servono per fare vari calcoli
|
||||||
const TRiga_documento& riga_generata = doc[n_riga_generata];
|
const TRiga_documento& riga_generata = doc[n_riga_generata];
|
||||||
@ -181,14 +181,20 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(const TDocumento& do
|
|||||||
FOR_EACH_PHYSICAL_RDOC(doc, j, rdoc)
|
FOR_EACH_PHYSICAL_RDOC(doc, j, rdoc)
|
||||||
{
|
{
|
||||||
//quantita' totale conai (A + B) sul report
|
//quantita' totale conai (A + B) sul report
|
||||||
|
|
||||||
for (int k = 1; k <= FR_CMAX; k++)
|
for (int k = 1; k <= FR_CMAX; k++)
|
||||||
{
|
{
|
||||||
const TString4 sottocat = rdoc->get(conai_sottocat_name(k));
|
const TString4 sottocat = rdoc->get(conai_sottocat_name(k));
|
||||||
|
|
||||||
if (sottocat == sottoclass)
|
if (sottocat == sottoclass)
|
||||||
{
|
{
|
||||||
const real n = rdoc->calc_conai_qta(k);
|
real n;
|
||||||
|
|
||||||
|
if (rdoc->is_merce())
|
||||||
|
n = rdoc->calc_conai_qta(k);
|
||||||
|
else
|
||||||
|
if (rdoc->is_spese() && !rdoc->is_generata() && rdoc->get(RDOC_CODART) == conai_codsp)
|
||||||
|
n = rdoc->get_real(RDOC_QTA);
|
||||||
if (!n.is_zero())
|
if (!n.is_zero())
|
||||||
{
|
{
|
||||||
real * q = (real *)qta_AB_conai.objptr(j);
|
real * q = (real *)qta_AB_conai.objptr(j);
|
||||||
@ -287,6 +293,7 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(const TDocumento& do
|
|||||||
csv.set(12, qta_esente_conai);
|
csv.set(12, qta_esente_conai);
|
||||||
|
|
||||||
//valore totale contributo (BxC) sul report
|
//valore totale contributo (BxC) sul report
|
||||||
|
|
||||||
const real totale_contrib_conai = qta_assoggettata_conai * prezzo;
|
const real totale_contrib_conai = qta_assoggettata_conai * prezzo;
|
||||||
csv.set(14, TVariant(totale_contrib_conai));
|
csv.set(14, TVariant(totale_contrib_conai));
|
||||||
|
|
||||||
@ -309,9 +316,9 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(const TDocumento& do
|
|||||||
|
|
||||||
//riempie recordset con le righe CONAI del documento che NON ha una riga generata CONAI; trattasi di documenti..
|
//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
|
//..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,
|
void TDichiarazione_CONAI::scrivi_csv_doc_rettifiche(const TDocumento& doc, TDichiarazione_CONAI_csv_recordset& csv,
|
||||||
const TCONAI_class conai_specie, const TString & sottoclass,
|
const TCONAI_class conai_specie, const TString & sottoclass,
|
||||||
const TString& conai_codart) const
|
const TString& conai_codsp) const
|
||||||
{
|
{
|
||||||
//scopre se il doc e' una NAC
|
//scopre se il doc e' una NAC
|
||||||
const bool is_nac = doc.is_nota_credito();
|
const bool is_nac = doc.is_nota_credito();
|
||||||
@ -333,83 +340,99 @@ void TDichiarazione_CONAI::scrivi_csv_doc_speciale(const TDocumento& doc, TDichi
|
|||||||
for (int j = 1; j <= FR_CMAX; j++)
|
for (int j = 1; j <= FR_CMAX; j++)
|
||||||
{
|
{
|
||||||
TString4 sottocat = rdoc->get(conai_sottocat_name(j));
|
TString4 sottocat = rdoc->get(conai_sottocat_name(j));
|
||||||
const real peso = rdoc->get_real(conai_peso_name(j));
|
|
||||||
|
|
||||||
if (sottocat == sottoclass && (peso != ZERO))
|
if (sottocat == sottoclass)
|
||||||
{
|
{
|
||||||
//puo' capitare che la sottocategoria sia stata troncata alla categoria
|
real peso;
|
||||||
if (sottocat.len() == 2)
|
real prezzo;
|
||||||
sottocat << "99";
|
const TRectype& spp = cache().get("SPP", conai_codsp);
|
||||||
|
|
||||||
|
if (rdoc->is_merce())
|
||||||
|
{
|
||||||
|
prezzo = spp.get_real("R10");
|
||||||
|
|
||||||
//creazione di un nuovo record da esportare
|
peso = rdoc->get_real(conai_peso_name(j));
|
||||||
csv.new_rec("");
|
}
|
||||||
|
else
|
||||||
|
if (rdoc->is_spese() && !rdoc->is_generata() && rdoc->get(RDOC_CODART) == conai_codsp)
|
||||||
|
{
|
||||||
|
peso = rdoc->get_real(RDOC_QTA);
|
||||||
|
prezzo = rdoc->get_real(RDOC_PREZZO); //va preso dalla riga stessa
|
||||||
|
}
|
||||||
|
if (sottocat == sottoclass && (peso != ZERO))
|
||||||
|
{
|
||||||
|
//puo' capitare che la sottocategoria sia stata troncata alla categoria
|
||||||
|
if (sottocat.len() == 2)
|
||||||
|
sottocat << "99";
|
||||||
|
|
||||||
//riempie i campi del record del csv
|
//creazione di un nuovo record da esportare
|
||||||
//codnum-anno-ndoc-datadoc-codcli-cofi-nriga-codagg1-sottocat-prezzo-um-conai(AB)-conai(B)-conai(A)
|
csv.new_rec("");
|
||||||
//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)));
|
|
||||||
|
|
||||||
//codici conai
|
//riempie i campi del record del csv
|
||||||
csv.set(8, TVariant(sottocat.left(2))); //codice materiale conai (es. carta, legno...)
|
//codnum-anno-ndoc-datadoc-codcli-cofi-nriga-codagg1-sottocat-prezzo-um-conai(AB)-conai(B)-conai(A)
|
||||||
csv.set(9, TVariant(sottocat)); //sottocodice materiale (es. carta imballo, busta...)
|
//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);
|
//codici conai
|
||||||
//prezzo
|
csv.set(8, TVariant(sottocat.left(2))); //codice materiale conai (es. carta, legno...)
|
||||||
const real prezzo = spp.get("R10"); // rdoc.get_real(RDOC_PREZZO); //va preso dalla riga stessa
|
csv.set(9, TVariant(sottocat)); //sottocodice materiale (es. carta imballo, busta...)
|
||||||
csv.set(10, TVariant(prezzo));
|
|
||||||
|
|
||||||
//um conai
|
//prezzo
|
||||||
const TString4 umqta = spp.get("S7"); //unita' di misura dalla tabella SPP
|
csv.set(10, TVariant(prezzo));
|
||||||
csv.set(11, TVariant(umqta));
|
|
||||||
|
|
||||||
//quantita' totale conai (A + B) sul report (le NAC hanno segno rovesciato)
|
//um conai
|
||||||
real qta_tot_conai = rdoc->get_real(RDOC_QTA);
|
const TString4 umqta = spp.get("S7"); //unita' di misura dalla tabella SPP
|
||||||
|
csv.set(11, TVariant(umqta));
|
||||||
|
|
||||||
qta_tot_conai *= rdoc->get_real(conai_peso_name(j));
|
//quantita' totale conai (A + B) sul report (le NAC hanno segno rovesciato)
|
||||||
if (is_nac)
|
real qta_tot_conai = rdoc->get_real(RDOC_QTA);
|
||||||
qta_tot_conai = -qta_tot_conai;
|
|
||||||
csv.set(15, TVariant(qta_tot_conai));
|
|
||||||
|
|
||||||
//percentuale di esenzione conai al 100%?
|
qta_tot_conai *= rdoc->get_real(conai_peso_name(j));
|
||||||
const real rdoc_perc_conai = rdoc->get_real(conai_esenzione_name(conai_specie, LF_RIGHEDOC)); // ex QTAGG2
|
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..
|
//percentuale di esenzione conai al 100%?
|
||||||
//..in precedenza non deve fare nulla!)
|
const real rdoc_perc_conai = rdoc->get_real(conai_esenzione_name(conai_specie, LF_RIGHEDOC)); // ex QTAGG2
|
||||||
real qta_assoggettata_conai = qta_tot_conai;
|
|
||||||
|
|
||||||
//segnalazione Sirio 1767: nelle righe fatte a mano, se la % di esenzione sul cliente è 100% -> la qta_assoggettata_conai..
|
//quantita' assoggettata (B) sul report (le NAC hanno segno rovesciato, ma avendolo gia' gia' rovesciato..
|
||||||
//..viene azzerata; questo perchè la rdoc_perc_conai può non essere modificabile a mano (ponendola = 100) se il verig non..
|
//..in precedenza non deve fare nulla!)
|
||||||
//..è personalizzato
|
real qta_assoggettata_conai = qta_tot_conai;
|
||||||
if (rdoc_perc_conai >= CENTO || cfven_perc_conai >= CENTO) // Guy: Mi pare strano gestire solo il caso 100%
|
|
||||||
qta_assoggettata_conai = ZERO;
|
|
||||||
|
|
||||||
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
|
csv.set(13, TVariant(qta_assoggettata_conai));
|
||||||
const real qta_esente_conai = qta_tot_conai - qta_assoggettata_conai; //deve essere sempre ZERO!
|
|
||||||
csv.set(12, TVariant(qta_esente_conai));
|
|
||||||
|
|
||||||
//valore totale contributo (BxC) sul report
|
//quantita' esente conai (A) sul report
|
||||||
const real totale_contrib_conai = qta_assoggettata_conai * prezzo;
|
const real qta_esente_conai = qta_tot_conai - qta_assoggettata_conai; //deve essere sempre ZERO!
|
||||||
csv.set(14, TVariant(totale_contrib_conai));
|
csv.set(12, TVariant(qta_esente_conai));
|
||||||
|
|
||||||
//percentuale di esenzione conai
|
//valore totale contributo (BxC) sul report
|
||||||
csv.set(16, TVariant(rdoc_perc_conai));
|
const real totale_contrib_conai = qta_assoggettata_conai * prezzo;
|
||||||
|
csv.set(14, TVariant(totale_contrib_conai));
|
||||||
|
|
||||||
//percentuale di esenzione conai in cfven
|
//percentuale di esenzione conai
|
||||||
csv.set(17, TVariant(cfven_perc_conai));
|
csv.set(16, TVariant(rdoc_perc_conai));
|
||||||
TString descr = cache().get("&VESCC", sottocat, "S2");
|
|
||||||
|
|
||||||
if (descr.blank())
|
//percentuale di esenzione conai in cfven
|
||||||
descr = cache().get("&VESCC", sottocat, "S0");
|
csv.set(17, TVariant(cfven_perc_conai));
|
||||||
csv.set(18, descr);
|
TString descr = cache().get("&VESCC", sottocat, "S2");
|
||||||
|
|
||||||
|
if (descr.blank())
|
||||||
|
descr = cache().get("&VESCC", sottocat, "S0");
|
||||||
|
csv.set(18, descr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -420,26 +443,27 @@ void TDichiarazione_CONAI::scrivi_csv_doc_speciale(const TDocumento& doc, TDichi
|
|||||||
//..il metodo adatto
|
//..il metodo adatto
|
||||||
bool TDichiarazione_CONAI::scrivi_csv(const TRectype& prima_riga, TDichiarazione_CONAI_csv_recordset& csv,
|
bool TDichiarazione_CONAI::scrivi_csv(const TRectype& prima_riga, TDichiarazione_CONAI_csv_recordset& csv,
|
||||||
const TCONAI_class conai_specie, const TString & sottoclass,
|
const TCONAI_class conai_specie, const TString & sottoclass,
|
||||||
const TString& conai_codart, TLog_report &log) const
|
const TString& conai_codsp, TLog_report &log) const
|
||||||
{
|
{
|
||||||
//crea la testata delle righedoc per poter fare vari calcoli (e intanto il tempo se ne va...)
|
//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);
|
const int anno = prima_riga.get_int(RDOC_ANNO);
|
||||||
const TString4 codnum = prima_riga.get(RDOC_CODNUM);
|
const TString4 codnum = prima_riga.get(RDOC_CODNUM);
|
||||||
const long numdoc = prima_riga.get_long(RDOC_NDOC);
|
const long numdoc = prima_riga.get_long(RDOC_NDOC);
|
||||||
|
|
||||||
//documento della prima riga e quindi anche di tutte le altre righe conai
|
#ifdef DBG
|
||||||
|
//check di debug
|
||||||
|
if (numdoc == 1451)
|
||||||
|
const int cazzone = 1;
|
||||||
|
if (numdoc == 81L)
|
||||||
|
int i = 1;
|
||||||
|
#endif
|
||||||
|
//documento della prima riga e quindi anche di tutte le altre righe conai
|
||||||
TDocumento doc('D', anno, codnum, numdoc);
|
TDocumento doc('D', anno, codnum, numdoc);
|
||||||
|
|
||||||
//controlli sul cliente
|
//controlli sul cliente
|
||||||
const TCli_for& clifo = doc.clifor();
|
const TCli_for& clifo = doc.clifor();
|
||||||
const bool addconai = clifo.vendite().get_bool(CFV_ADDCONAI);
|
const bool addconai = clifo.vendite().get_bool(CFV_ADDCONAI);
|
||||||
|
|
||||||
#ifdef DBG
|
|
||||||
//check di debug
|
|
||||||
if (numdoc == 1451)
|
|
||||||
const int cazzone = 1;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//se il cliente non c'entra con il conai e' inutile perdere tempo!
|
//se il cliente non c'entra con il conai e' inutile perdere tempo!
|
||||||
if (!addconai)
|
if (!addconai)
|
||||||
return false;
|
return false;
|
||||||
@ -449,13 +473,13 @@ bool TDichiarazione_CONAI::scrivi_csv(const TRectype& prima_riga, TDichiarazione
|
|||||||
|
|
||||||
int n_riga_generata = 0;
|
int n_riga_generata = 0;
|
||||||
bool has_conai_row = false;
|
bool has_conai_row = false;
|
||||||
|
|
||||||
FOR_EACH_PHYSICAL_RDOC_BACK(doc, j, rdoc)
|
FOR_EACH_PHYSICAL_RDOC_BACK(doc, j, rdoc)
|
||||||
{
|
{
|
||||||
if (rdoc->is_generata() && rdoc->get(RDOC_GENTIPO) == "C")
|
if (rdoc->is_generata() && rdoc->get(RDOC_GENTIPO) == "C")
|
||||||
has_conai_row = true;
|
has_conai_row = true;
|
||||||
//c'è la riga generata con codart di tipo conai (sia automatica che manuale)?
|
//c'è la riga generata con codsp di tipo conai (sia automatica che manuale)?
|
||||||
if (rdoc->get(RDOC_CODART) == conai_codart && (rdoc->is_spese() || rdoc->is_generata()))
|
if (rdoc->get(RDOC_CODART) == conai_codsp && (rdoc->is_spese() && rdoc->is_generata()))
|
||||||
{
|
{
|
||||||
n_riga_generata = j;
|
n_riga_generata = j;
|
||||||
break;
|
break;
|
||||||
@ -482,7 +506,7 @@ bool TDichiarazione_CONAI::scrivi_csv(const TRectype& prima_riga, TDichiarazione
|
|||||||
FOR_EACH_PHYSICAL_RDOC_BACK(doc, j, rdoc)
|
FOR_EACH_PHYSICAL_RDOC_BACK(doc, j, rdoc)
|
||||||
{
|
{
|
||||||
//c'è la riga generata con codart di tipo conai (sia automatica che manuale)?
|
//c'è la riga generata con codart di tipo conai (sia automatica che manuale)?
|
||||||
if (rdoc->get(RDOC_CODART) == conai_codart && (rdoc->is_spese() || rdoc->is_generata()))
|
if (rdoc->get(RDOC_CODART) == conai_codsp && (rdoc->is_spese() || rdoc->is_generata()))
|
||||||
{
|
{
|
||||||
n_riga_generata = j;
|
n_riga_generata = j;
|
||||||
break;
|
break;
|
||||||
@ -490,11 +514,24 @@ bool TDichiarazione_CONAI::scrivi_csv(const TRectype& prima_riga, TDichiarazione
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (n_riga_generata > 0)
|
if (n_riga_generata > 0)
|
||||||
scrivi_csv_doc_con_riga_generata(doc, n_riga_generata, csv, conai_specie, sottoclass, log);
|
scrivi_csv_doc_con_riga_generata(doc, n_riga_generata, csv, conai_specie, sottoclass, conai_codsp, log);
|
||||||
else
|
else
|
||||||
scrivi_csv_doc_speciale(doc, csv, conai_specie, sottoclass, conai_codart);
|
{
|
||||||
|
bool has_rettifica = false;
|
||||||
|
|
||||||
|
FOR_EACH_PHYSICAL_RDOC(doc, j, rdoc)
|
||||||
|
{
|
||||||
|
//c'è la riga generata con codart di tipo conai (sia automatica che manuale)?
|
||||||
|
if (rdoc->get(RDOC_CODART) == conai_codsp && !rdoc->is_generata())
|
||||||
|
{
|
||||||
|
has_rettifica = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (has_rettifica)
|
||||||
|
scrivi_csv_doc_rettifiche(doc, csv, conai_specie, sottoclass, conai_codsp);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -728,7 +765,7 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
|
|||||||
for (bool ok_scc = scc.move_first(); ok_scc; ok_scc = scc.move_next())
|
for (bool ok_scc = scc.move_first(); ok_scc; ok_scc = scc.move_next())
|
||||||
{
|
{
|
||||||
TString sottoclass(scc.get("CODTAB").as_string());
|
TString sottoclass(scc.get("CODTAB").as_string());
|
||||||
TString codart(scc.get("S1").as_string());
|
TString codsp(scc.get("S1").as_string());
|
||||||
TString msg(str);
|
TString msg(str);
|
||||||
|
|
||||||
msg << " - Sottocategoria " << sottoclass << ')';
|
msg << " - Sottocategoria " << sottoclass << ')';
|
||||||
@ -746,7 +783,7 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
|
|||||||
const long ndoc = rdoc.get(RDOC_NDOC).as_int();
|
const long ndoc = rdoc.get(RDOC_NDOC).as_int();
|
||||||
if (ndoc != last_ndoc)
|
if (ndoc != last_ndoc)
|
||||||
{
|
{
|
||||||
scrivi_csv(rdoc.cursor()->curr(), *csv, conai_specie, sottoclass, codart, log);
|
scrivi_csv(rdoc.cursor()->curr(), *csv, conai_specie, sottoclass, codsp, log);
|
||||||
last_ndoc = ndoc;
|
last_ndoc = ndoc;
|
||||||
}
|
}
|
||||||
} //for(bool ok = rdoc.move_first(..
|
} //for(bool ok = rdoc.move_first(..
|
||||||
|
Loading…
x
Reference in New Issue
Block a user