Patch level : 12.0 844

Files correlati     : fp0.exe
Commento            : Aggiunta esportazione percentuale e natura iva per f1
This commit is contained in:
Simone Palacino 2019-06-25 14:49:58 +02:00
parent 50940896e4
commit c313825816

View File

@ -37,8 +37,10 @@ class TPassive_mask : public TAutomask
{
struct iva
{
real imponibile;
real imposta;
real imponibile;
real imposta;
real aliquota;
TString4 natura;
};
TLog_report* _log;
@ -67,7 +69,7 @@ protected:
void run_cg0(const TString& filename) const;
void elenco_prots_sel(TString& string) const;
vector<iva>& get_righe_iva(TToken_string& keys) const;
static vector<iva>& get_righe_iva(TToken_string& keys);
real calcola_importo(vector<iva> riva) const;
// Gestione F1
int prepara_contab() const;
@ -204,21 +206,22 @@ void TPassive_mask::elenco_prots_sel(TString& string) const
string = "";
}
vector<TPassive_mask::iva>& TPassive_mask::get_righe_iva(TToken_string& keys) const
vector<TPassive_mask::iva>& TPassive_mask::get_righe_iva(TToken_string& keys)
{
static vector<iva> riva;
riva.clear();
TString where_q; where_q << "WHERE PL_KEYPRGINVIO = '" << keys.get(0);
where_q << "' AND PL_KEYHEADERFATT = '" << keys.get();
where_q << "' AND PL_KEYBODYFATT = '" << keys.get() << "'";
TString query; query << "SELECT PL_IMPONIBILE AS IMPONIBILE, PL_IMPOSTA AS IMPOSTA \nFROM PAA2200F \n" << where_q;
TString query; query << "SELECT PL_IMPONIBILE AS IMPONIBILE, PL_IMPOSTA AS IMPOSTA, PL_ALIQUOTAIVA AS ALIQUOTA, PL_NATURA AS NATURA\n" <<
"FROM PAA2200F \n" << where_q;
fp_db().sq_set_exec(query, false);
for (bool ok = fp_db().sq_next(); ok; ok = fp_db().sq_next())
{
TString imponibile = fp_db().sq_get("IMPONIBILE");
TString imposta = fp_db().sq_get("IMPOSTA");
if (imponibile.full() || imposta.full())
riva.insert(riva.end(), { real(imponibile), real(imposta) });
riva.insert(riva.end(), { real(imponibile), real(imposta), real(fp_db().sq_get("ALIQUOTA")), fp_db().sq_get("NATURA") });
}
return riva;
}
@ -613,6 +616,8 @@ int TPassive_mask::prepara_contab() const
contab_ini.set_paragraph(LF_RMOVIVA, i);
contab_ini.set("IMPONIBILE", it->imponibile.string());
contab_ini.set("IMPOSTA", it->imposta.string());
contab_ini.set("PERCIVA", it->aliquota.string());
contab_ini.set("NATURA", it->natura);
contab_ini.set("NRIGA", i);
i++;
}