Patch level : 12.0 836

Files correlati     : cg2.exe cg2FPPRO.msk
Commento            :
- Aggiunta ritenuta da acconto da F1
- Corretto importo totale
This commit is contained in:
Simone Palacino 2019-06-24 18:10:50 +02:00
parent 82c61d5f93
commit fbca7b8365
5 changed files with 44 additions and 33 deletions

View File

@ -2268,7 +2268,7 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query)
}
if (_f1_ini && msk.find_by_id(FS_RECALC) != NULL)
{
msk.set(F_TOTALE, calcola_imp());
//msk.set(F_TOTALE, calcola_imp());
msk.set(F_COLFPPRO, "X");
msk.set(FS_RECALC, "");
load_perc_nat(msk, ini);

View File

@ -222,12 +222,13 @@
#define F_DATAORARICS 103
#define F_DATAS 104
#define F_IMPTOTDOCS 105
#define F_NUMEROS 106
#define F_FISCIVAPAESES 107
#define F_FISCIVACODS 108
#define F_CODFISCALES 109
#define F_TIPOPROTS 110
#define F_PROGRESSS 111
#define F_KEYFPPROS 112
#define F_RITENUTE 106
#define F_NUMEROS 107
#define F_FISCIVAPAESES 108
#define F_FISCIVACODS 109
#define F_CODFISCALES 110
#define F_TIPOPROTS 111
#define F_PROGRESSS 112
#define F_KEYFPPROS 113
#endif

View File

@ -3906,14 +3906,13 @@ void TPrimanota_application::set_clifo(TMask& cg_msk, const shared_ptr<TPro_msk>
void TPrimanota_application::set_totale(TMask& cg_msk, const shared_ptr<TPro_msk>& msk)
{
real totale = msk->get_totdoc();
if(totale == 0)
if(totale == ZERO)
totale = app().calcola_imp();
const real rit = msk->get_ritenute();
if(rit != ZERO)
{
const vector<TPro_msk::riga_iva_s>& righe = msk->get_righeiva();
for(auto it = righe.begin(); it != righe.end(); ++it)
{
totale += it->imponibile;
totale += it->imposta;
}
cg_msk.set(F_TOTALE, totale - rit);
cg_msk.set(F_RITFIS, rit);
}
cg_msk.set(F_TOTALE, abs(totale));
}
@ -4018,6 +4017,7 @@ bool TPro_msk::load_fppro_mask(TMask* msk, KEY k)
row.add(TDate(fp_db().sq_get_date("P1_DATAORARIC")));
row.add(TDate(fp_db().sq_get_date("PZ_DATA")));
row.add(fp_db().sq_get("PQ_IMPTOTDOC"));
row.add(fp_db().sq_get("P7_IMPORTORIT"));
row.add(fp_db().sq_get("PZ_NUMERO"));
row.add(fp_db().sq_get("P2_FISCIVAPAESE"));
row.add(fp_db().sq_get("P2_FISCIVACOD"));
@ -4057,7 +4057,7 @@ bool TPro_msk::fppro_ok_handler(TMask_field& f, KEY k)
{
//TProtocollo protocollo(TDate(row->get(2)).year(), row->get(9), row->get(10));
app()._pro_mask->set_doc(row->get(cid2index(F_NUMEROS)), row->get(cid2index(F_DATAS)),
row->get(cid2index(F_IMPTOTDOCS)), "", row->get(cid2index(F_KEYFPPROS)),
row->get(cid2index(F_IMPTOTDOCS)), row->get(cid2index(F_RITENUTE)), "", row->get(cid2index(F_KEYFPPROS)),
row->get(cid2index(F_FISCIVACODS)));
loaded = true;
ok = true;
@ -4170,11 +4170,12 @@ void TPro_msk::set_scadenze(const char* fpprokeys)
}
}
void TPro_msk::set_doc(const char* numero, const char* datadoc, const char* totdoc, const char* protfppro, const char* fpprokeys, const char* piva)
void TPro_msk::set_doc(const char* numero, const char* datadoc, const char* totdoc, const char* ritenute, const char* protfppro, const char* fpprokeys, const char* piva)
{
_numero = numero;
_datadoc = datadoc;
_totdoc = totdoc;
_ritenute = ritenute;
_protfppro.sset(protfppro);
_fpprokeys = fpprokeys;
_piva = piva;
@ -4232,7 +4233,7 @@ TString& TPro_msk::query_fppro(const TString& codforn, const TString& stato_piva
}
static TString query;
query.cut(0) << "SELECT PZ_CLIFOR, PZ_DATA, CAST(P1_DATAORARIC AS DATE) AS P1_DATAORARIC, P7_TIPODOC, PQ_IMPTOTDOC, PZ_NUMERO, PZ_NUMREGCONT, PZ_TIPOPROT, PZ_NUMPROT, P2_FISCIVAPAESE, P2_FISCIVACOD, P2_CODFISCALE, PZ_KEYPRGINVIO, PZ_KEYHEADERFATT, PZ_KEYBODYFATT\n" <<
query.cut(0) << "SELECT PZ_CLIFOR, PZ_DATA, CAST(P1_DATAORARIC AS DATE) AS P1_DATAORARIC, P7_TIPODOC, PQ_IMPTOTDOC, P7_IMPORTORIT, PZ_NUMERO, PZ_NUMREGCONT, PZ_TIPOPROT, PZ_NUMPROT, P2_FISCIVAPAESE, P2_FISCIVACOD, P2_CODFISCALE, PZ_KEYPRGINVIO, PZ_KEYHEADERFATT, PZ_KEYBODYFATT\n" <<
"FROM PAA0200F\n" << "JOIN FPPRO00F\n" << " ON P2_KEYPRGINVIO = PZ_KEYPRGINVIO AND P2_KEYHEADERFATT = PZ_KEYHEADERFATT AND P2_KEYBODYFATT = PZ_KEYBODYFATT\n" <<
"JOIN PAA0100F\n" << " ON P2_KEYPRGINVIO = P1_KEYPRGINVIO AND P2_KEYHEADERFATT = P1_KEYHEADERFATT AND P2_KEYBODYFATT = P1_KEYBODYFATT\n" <<
"JOIN PAA2700F\n" << "ON P2_KEYPRGINVIO = PQ_KEYPRGINVIO AND P2_KEYHEADERFATT = PQ_KEYHEADERFATT AND P2_KEYBODYFATT = PQ_KEYBODYFATT\n" <<

View File

@ -408,6 +408,7 @@ class TPro_msk : public TAutomask
TString _numero;
TDate _datadoc;
real _totdoc;
real _ritenute;
TProtocollo _protfppro;
TString _fpprokeys;
TString _piva;
@ -440,20 +441,21 @@ public:
void set_righeiva(const char* fpprokeys);
void set_scadenze(const char* fpprokeys);
void set_doc(const char* numero, const char* datadoc, const char* totdoc, const char* protfppro, const char* fpprokeys, const char* piva);
void set_doc(const char* numero, const char* datadoc, const char* totdoc, const char* ritenute, const char* protfppro, const char* fpprokeys, const char* piva);
TString get_numdoc() const { return _numero; }
TDate get_datadoc() const { return _datadoc; }
real get_totdoc() const { return _totdoc; }
TProtocollo& get_protocollo() { return _protfppro; }
TString get_fpprokeys() const { return _fpprokeys; }
TString get_numdoc() const { return _numero; }
TDate get_datadoc() const { return _datadoc; }
real get_totdoc() const { return _totdoc; }
real get_ritenute() { return _ritenute; }
TProtocollo& get_protocollo() { return _protfppro; }
TString get_fpprokeys() const { return _fpprokeys; }
TString get_piva() const { return _piva; }
const vector<riga_iva_s>& get_righeiva() { return _righe_iva; }
vector<scadenza_s>& get_scadenze() { return _scadenze; }
void add_rigaiva(const real& imponibile, const real& imposta, const real& aliquota, const TString4& natura);
void add_scad(const TDate& date, const real& importo);
static TString& query_fppro(const TString& keyprginvio, const TString& keyheaderfatt, const TString& keybodyfatt, const TString& where_str);
static TString& query_fppro(const TString& codforn, const TString& date);

View File

@ -4,7 +4,7 @@ TOOLBAR "topbar" 0 0 0 2
BUTTON DLG_CONFIG 2 2
BEGIN
PROMPT 3 1 "Ricarica Fatture"
PROMPT 1 1 "Ricarica Fatture"
PICTURE TOOL_ELABORA
END
@ -89,6 +89,7 @@ BEGIN
ITEM "Data Ricezione"
ITEM "Data Doc."
ITEM "Importo Totale"
ITEM "Ritenute d'acconto"
ITEM "Numero"
ITEM "Paese"
ITEM "P. IVA"
@ -165,45 +166,51 @@ BEGIN
FLAGS "D"
END
NUMBER F_RITENUTE 10 3
BEGIN
PROMPT 1 4 "Ritenute d'acconto"
FLAGS "D"
END
STRING F_NUMEROS 20
BEGIN
PROMPT 1 4 "NUMERO"
PROMPT 1 5 "NUMERO"
FLAGS "D"
END
STRING F_FISCIVAPAESES 2
BEGIN
PROMPT 1 5 "FISCIVAPAESE"
PROMPT 1 6 "FISCIVAPAESE"
FLAGS "D"
END
STRING F_FISCIVACODS 16
BEGIN
PROMPT 1 6 "FISCIVACOD"
PROMPT 1 7 "FISCIVACOD"
FLAGS "D"
END
STRING F_CODFISCALES 16
BEGIN
PROMPT 1 7 "CODFISCALE"
PROMPT 1 8 "CODFISCALE"
FLAGS "D"
END
STRING F_TIPOPROTS 2
BEGIN
PROMPT 1 8 "TIPOPROT"
PROMPT 1 9 "TIPOPROT"
FLAGS "D"
END
NUMBER F_PROGRESSS 10 0
BEGIN
PROMPT 1 9 "PROGRESS"
PROMPT 1 10 "PROGRESS"
FLAGS "D"
END
STRING F_KEYFPPROS 80
BEGIN
PROMPT 1 10 "CHIAVE FPPRO"
PROMPT 1 11 "CHIAVE FPPRO"
FLAGS "D"
END