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) 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(F_COLFPPRO, "X");
msk.set(FS_RECALC, ""); msk.set(FS_RECALC, "");
load_perc_nat(msk, ini); load_perc_nat(msk, ini);

View File

@ -222,12 +222,13 @@
#define F_DATAORARICS 103 #define F_DATAORARICS 103
#define F_DATAS 104 #define F_DATAS 104
#define F_IMPTOTDOCS 105 #define F_IMPTOTDOCS 105
#define F_NUMEROS 106 #define F_RITENUTE 106
#define F_FISCIVAPAESES 107 #define F_NUMEROS 107
#define F_FISCIVACODS 108 #define F_FISCIVAPAESES 108
#define F_CODFISCALES 109 #define F_FISCIVACODS 109
#define F_TIPOPROTS 110 #define F_CODFISCALES 110
#define F_PROGRESSS 111 #define F_TIPOPROTS 111
#define F_KEYFPPROS 112 #define F_PROGRESSS 112
#define F_KEYFPPROS 113
#endif #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) void TPrimanota_application::set_totale(TMask& cg_msk, const shared_ptr<TPro_msk>& msk)
{ {
real totale = msk->get_totdoc(); 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(); cg_msk.set(F_TOTALE, totale - rit);
for(auto it = righe.begin(); it != righe.end(); ++it) cg_msk.set(F_RITFIS, rit);
{
totale += it->imponibile;
totale += it->imposta;
}
} }
cg_msk.set(F_TOTALE, abs(totale)); 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("P1_DATAORARIC")));
row.add(TDate(fp_db().sq_get_date("PZ_DATA"))); row.add(TDate(fp_db().sq_get_date("PZ_DATA")));
row.add(fp_db().sq_get("PQ_IMPTOTDOC")); 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("PZ_NUMERO"));
row.add(fp_db().sq_get("P2_FISCIVAPAESE")); row.add(fp_db().sq_get("P2_FISCIVAPAESE"));
row.add(fp_db().sq_get("P2_FISCIVACOD")); 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)); //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)), 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))); row->get(cid2index(F_FISCIVACODS)));
loaded = true; loaded = true;
ok = 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; _numero = numero;
_datadoc = datadoc; _datadoc = datadoc;
_totdoc = totdoc; _totdoc = totdoc;
_ritenute = ritenute;
_protfppro.sset(protfppro); _protfppro.sset(protfppro);
_fpprokeys = fpprokeys; _fpprokeys = fpprokeys;
_piva = piva; _piva = piva;
@ -4232,7 +4233,7 @@ TString& TPro_msk::query_fppro(const TString& codforn, const TString& stato_piva
} }
static TString query; 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" << "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 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" << "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; TString _numero;
TDate _datadoc; TDate _datadoc;
real _totdoc; real _totdoc;
real _ritenute;
TProtocollo _protfppro; TProtocollo _protfppro;
TString _fpprokeys; TString _fpprokeys;
TString _piva; TString _piva;
@ -440,11 +441,12 @@ public:
void set_righeiva(const char* fpprokeys); void set_righeiva(const char* fpprokeys);
void set_scadenze(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; } TString get_numdoc() const { return _numero; }
TDate get_datadoc() const { return _datadoc; } TDate get_datadoc() const { return _datadoc; }
real get_totdoc() const { return _totdoc; } real get_totdoc() const { return _totdoc; }
real get_ritenute() { return _ritenute; }
TProtocollo& get_protocollo() { return _protfppro; } TProtocollo& get_protocollo() { return _protfppro; }
TString get_fpprokeys() const { return _fpprokeys; } TString get_fpprokeys() const { return _fpprokeys; }

View File

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