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 <textset.h>
|
||||
|
||||
#include <cfven.h>
|
||||
#include <clifo.h>
|
||||
#include <doc.h>
|
||||
#include <rdoc.h>
|
||||
@ -99,6 +100,7 @@ class TDichiarazione_CONAI : public TSkeleton_application
|
||||
{
|
||||
|
||||
protected:
|
||||
real clifo_conai(const long clifo_cod, const int conai_specie) const;
|
||||
void elabora(const TMask& mask) const;
|
||||
void scrivi_csv(const TRectype& prima_riga, TDichiarazione_CONAI_csv_recordset& csv,
|
||||
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
|
||||
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
|
||||
@ -138,6 +174,8 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(TDocumento& doc, con
|
||||
TString16 clifo_cofi = clifo.get(CLI_COFI);
|
||||
if (clifo_cofi.empty())
|
||||
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();
|
||||
|
||||
@ -231,6 +269,12 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(TDocumento& doc, con
|
||||
//valore totale contributo (BxC) sul report
|
||||
const TCurrency totale_contrib_conai = qta_assoggettata_conai * prezzo;
|
||||
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);
|
||||
if (clifo_cofi.empty())
|
||||
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();
|
||||
|
||||
@ -326,6 +372,12 @@ void TDichiarazione_CONAI::scrivi_csv_doc_speciale(TDocumento& doc, TDichiarazio
|
||||
//valore totale contributo (BxC) sul report
|
||||
const TCurrency totale_contrib_conai = qta_assoggettata_conai * prezzo;
|
||||
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
|
||||
const int specie_conai = mask.get_int(F_SPECIECONAI);
|
||||
const int conai_specie = mask.get_int(F_SPECIECONAI);
|
||||
TConfig ditta_ini(CONFIG_DITTA, "ve");
|
||||
|
||||
TVariant codart;
|
||||
TString nome_report; //report di tipo 6.1 scelto in base alla specie conai
|
||||
|
||||
switch (specie_conai)
|
||||
switch (conai_specie)
|
||||
{
|
||||
case 0:
|
||||
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,..
|
||||
//..le quantita' etc) e le righe generate da CONAI (per avere i prezzi)
|
||||
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 << "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();
|
||||
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;
|
||||
}
|
||||
|
||||
@ -586,6 +633,8 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
|
||||
csv->set(13, "CONAI B");
|
||||
csv->set(14, "CONAI BxC");
|
||||
csv->set(15, "CONAI A+B");
|
||||
csv->set(16, "INDETDOC");
|
||||
csv->set(17, "INDETCLI");
|
||||
|
||||
const TString path = mask.get(F_PATH);
|
||||
csv->save_as(path, fmt_text);
|
||||
|
Loading…
x
Reference in New Issue
Block a user