Patch level :10.0 / 4.0
Files correlati : Ricompilazione Demo : [ ] Commento :dichiarazione conai in transito git-svn-id: svn://10.65.10.50/trunk@16267 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
4353afaf10
commit
2bd01e238a
@ -10,6 +10,7 @@
|
|||||||
#include <reputils.h>
|
#include <reputils.h>
|
||||||
#include <textset.h>
|
#include <textset.h>
|
||||||
|
|
||||||
|
#include <cfven.h>
|
||||||
#include <clifo.h>
|
#include <clifo.h>
|
||||||
#include <doc.h>
|
#include <doc.h>
|
||||||
#include <rdoc.h>
|
#include <rdoc.h>
|
||||||
@ -99,6 +100,7 @@ class TDichiarazione_CONAI : public TSkeleton_application
|
|||||||
{
|
{
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
real clifo_conai(const long clifo_cod, const int conai_specie) const;
|
||||||
void elabora(const TMask& mask) const;
|
void elabora(const TMask& mask) const;
|
||||||
void scrivi_csv(const TRectype& prima_riga, TDichiarazione_CONAI_csv_recordset& csv,
|
void scrivi_csv(const TRectype& prima_riga, TDichiarazione_CONAI_csv_recordset& csv,
|
||||||
const int conai_specie, const TString& conai_codart) const;
|
const int conai_specie, const TString& conai_codart) const;
|
||||||
@ -114,6 +116,40 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
real TDichiarazione_CONAI::clifo_conai(const long clifo_cod, const int conai_specie) const
|
||||||
|
{
|
||||||
|
TToken_string cfven_key;
|
||||||
|
cfven_key.add("C");
|
||||||
|
cfven_key.add(clifo_cod);
|
||||||
|
const TRectype& cfven_rec = cache().get(LF_CFVEN, cfven_key);
|
||||||
|
real cfven_perc_conai = ZERO;
|
||||||
|
|
||||||
|
switch (conai_specie)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
cfven_perc_conai = cfven_rec.get_real(CFV_ESACC);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
cfven_perc_conai = cfven_rec.get_real(CFV_ESALL);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
cfven_perc_conai = cfven_rec.get_real(CFV_ESCAR);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
cfven_perc_conai = cfven_rec.get_real(CFV_ESPLA);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
cfven_perc_conai = cfven_rec.get_real(CFV_ESLEG);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
cfven_perc_conai = cfven_rec.get_real(CFV_ESVET);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return cfven_perc_conai;
|
||||||
|
}
|
||||||
|
|
||||||
//riempie recordset con le righe CONAI del documento che contiene una riga generata CONAI
|
//riempie recordset con le righe CONAI del documento che contiene una riga generata CONAI
|
||||||
void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(TDocumento& doc, const int n_riga_generata, TDichiarazione_CONAI_csv_recordset& csv,
|
void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(TDocumento& doc, const int n_riga_generata, TDichiarazione_CONAI_csv_recordset& csv,
|
||||||
const int conai_specie) const
|
const int conai_specie) const
|
||||||
@ -138,6 +174,8 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(TDocumento& doc, con
|
|||||||
TString16 clifo_cofi = clifo.get(CLI_COFI);
|
TString16 clifo_cofi = clifo.get(CLI_COFI);
|
||||||
if (clifo_cofi.empty())
|
if (clifo_cofi.empty())
|
||||||
clifo_cofi = clifo.get(CLI_PAIV);
|
clifo_cofi = clifo.get(CLI_PAIV);
|
||||||
|
//cerca la percentuale di esenzione conai sul cliente (controllo)
|
||||||
|
const real cfven_perc_conai = clifo_conai(clifo_cod, conai_specie);
|
||||||
|
|
||||||
const int nrighe = doc.rows();
|
const int nrighe = doc.rows();
|
||||||
|
|
||||||
@ -231,6 +269,12 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(TDocumento& doc, con
|
|||||||
//valore totale contributo (BxC) sul report
|
//valore totale contributo (BxC) sul report
|
||||||
const TCurrency totale_contrib_conai = qta_assoggettata_conai * prezzo;
|
const TCurrency totale_contrib_conai = qta_assoggettata_conai * prezzo;
|
||||||
csv.set(14, TVariant(totale_contrib_conai.get_num()));
|
csv.set(14, TVariant(totale_contrib_conai.get_num()));
|
||||||
|
|
||||||
|
//percentuale di esenzione conai in qtagg2
|
||||||
|
csv.set(16, TVariant(perc));
|
||||||
|
|
||||||
|
//percentuale di esenzione conai in cfven
|
||||||
|
csv.set(17, TVariant(cfven_perc_conai));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -252,6 +296,8 @@ void TDichiarazione_CONAI::scrivi_csv_doc_speciale(TDocumento& doc, TDichiarazio
|
|||||||
TString16 clifo_cofi = clifo.get(CLI_COFI);
|
TString16 clifo_cofi = clifo.get(CLI_COFI);
|
||||||
if (clifo_cofi.empty())
|
if (clifo_cofi.empty())
|
||||||
clifo_cofi = clifo.get(CLI_PAIV);
|
clifo_cofi = clifo.get(CLI_PAIV);
|
||||||
|
//cerca la percentuale di esenzione conai sul cliente (controllo)
|
||||||
|
const real cfven_perc_conai = clifo_conai(clifo_cod, conai_specie);
|
||||||
|
|
||||||
const int nrighe = doc.rows();
|
const int nrighe = doc.rows();
|
||||||
|
|
||||||
@ -326,6 +372,12 @@ void TDichiarazione_CONAI::scrivi_csv_doc_speciale(TDocumento& doc, TDichiarazio
|
|||||||
//valore totale contributo (BxC) sul report
|
//valore totale contributo (BxC) sul report
|
||||||
const TCurrency totale_contrib_conai = qta_assoggettata_conai * prezzo;
|
const TCurrency totale_contrib_conai = qta_assoggettata_conai * prezzo;
|
||||||
csv.set(14, TVariant(totale_contrib_conai.get_num()));
|
csv.set(14, TVariant(totale_contrib_conai.get_num()));
|
||||||
|
|
||||||
|
//percentuale di esenzione conai in qtagg2
|
||||||
|
csv.set(16, TVariant(perc));
|
||||||
|
|
||||||
|
//percentuale di esenzione conai in cfven
|
||||||
|
csv.set(17, TVariant(cfven_perc_conai));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -445,13 +497,13 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Adesso tocca al codice articolo in base alla specie CONAI
|
//Adesso tocca al codice articolo in base alla specie CONAI
|
||||||
const int specie_conai = mask.get_int(F_SPECIECONAI);
|
const int conai_specie = mask.get_int(F_SPECIECONAI);
|
||||||
TConfig ditta_ini(CONFIG_DITTA, "ve");
|
TConfig ditta_ini(CONFIG_DITTA, "ve");
|
||||||
|
|
||||||
TVariant codart;
|
TVariant codart;
|
||||||
TString nome_report; //report di tipo 6.1 scelto in base alla specie conai
|
TString nome_report; //report di tipo 6.1 scelto in base alla specie conai
|
||||||
|
|
||||||
switch (specie_conai)
|
switch (conai_specie)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
codart = ditta_ini.get("CODACC"); //acciaio
|
codart = ditta_ini.get("CODACC"); //acciaio
|
||||||
@ -493,11 +545,6 @@ 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,..
|
//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)
|
//..le quantita' etc) e le righe generate da CONAI (per avere i prezzi)
|
||||||
TString query;
|
TString query;
|
||||||
/* query << "USE RDOC KEY 5\n";
|
|
||||||
query << "SELECT (NUM(ANSI(33.DATADOC))>=NUM(ANSI(#DADATA)))&&(NUM(ANSI(33.DATADOC))<=NUM(ANSI(#ADATA)))&&(33.TIPODOC=#TIPODOC)&&(GENERATA=\"X\")\n";
|
|
||||||
query << "JOIN DOC INTO PROVV==PROVV ANNO==ANNO CODNUM==CODNUM NDOC==NDOC\n";
|
|
||||||
query << "FROM CODART=#CODART ANNO=#ANNO CODNUM=#CODNUM PROVV=\"D\"\n";
|
|
||||||
query << "TO CODART=#CODART ANNO=#ANNO CODNUM=#CODNUM PROVV=\"D\"\n";*/
|
|
||||||
|
|
||||||
query << "USE RDOC KEY 1\n";
|
query << "USE RDOC KEY 1\n";
|
||||||
query << "SELECT (NUM(ANSI(33.DATADOC))>=NUM(ANSI(#DADATA)))&&(NUM(ANSI(33.DATADOC))<=NUM(ANSI(#ADATA)))&&(33.TIPODOC=#TIPODOC)&&(CODAGG1=#CODART)\n";
|
query << "SELECT (NUM(ANSI(33.DATADOC))>=NUM(ANSI(#DADATA)))&&(NUM(ANSI(33.DATADOC))<=NUM(ANSI(#ADATA)))&&(33.TIPODOC=#TIPODOC)&&(CODAGG1=#CODART)\n";
|
||||||
@ -547,7 +594,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, specie_conai, codart.as_string());
|
scrivi_csv(rdoc.cursor()->curr(), *csv, conai_specie, codart.as_string());
|
||||||
last_ndoc = ndoc;
|
last_ndoc = ndoc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -586,6 +633,8 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
|
|||||||
csv->set(13, "CONAI B");
|
csv->set(13, "CONAI B");
|
||||||
csv->set(14, "CONAI BxC");
|
csv->set(14, "CONAI BxC");
|
||||||
csv->set(15, "CONAI A+B");
|
csv->set(15, "CONAI A+B");
|
||||||
|
csv->set(16, "INDETDOC");
|
||||||
|
csv->set(17, "INDETCLI");
|
||||||
|
|
||||||
const TString path = mask.get(F_PATH);
|
const TString path = mask.get(F_PATH);
|
||||||
csv->save_as(path, fmt_text);
|
csv->save_as(path, fmt_text);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user