Patch level : 12.0

Files correlati     : fp, cg
Commento:
recupero dati fattura collegata da FPPRO per le integrazioni
This commit is contained in:
Alessandro Bonazzi 2022-06-13 09:51:12 +02:00
parent 3310f48568
commit c2ad527782
5 changed files with 33 additions and 23 deletions

View File

@ -60,7 +60,7 @@ public:
TPrimanota_application::TPrimanota_application() TPrimanota_application::TPrimanota_application()
: _rel(nullptr), _mode(0), _iva(nessuna_iva), _causale(nullptr), _giornale(nullptr), : _rel(nullptr), _mode(0), _iva(nessuna_iva), _causale(nullptr), _giornale(nullptr),
_lastreg(0), _last_dreg(TODAY), _last_dcom(TODAY), _automatico(nullptr), _swap_mask(false), _is_set_fpcheck(false), _f1_ini(false), _f1_liq(false), _lastreg(0), _last_dreg(TODAY), _last_dcom(TODAY), _automatico(nullptr), _swap_mask(false), _is_set_fpcheck(false), _f1_liq(false), // _f1_ini(false),
_skip_giornale_check(false), _skip_bollato_check(false), _pro_mask(nullptr) _skip_giornale_check(false), _skip_bollato_check(false), _pro_mask(nullptr)
{ {
memset(_msk, 0, sizeof(_msk)); memset(_msk, 0, sizeof(_msk));
@ -250,10 +250,12 @@ void TPrimanota_application::check_f1_ini()
for (int i = 0; i < argc(); i++) for (int i = 0; i < argc(); i++)
{ {
TString arg(argv(i)); TString arg(argv(i));
if (arg.find("-f1") != -1)
/* if (arg.find("-f1") != -1)
{ {
_f1_ini = true; _f1_ini = true;
} }
*/
if (arg.find("-liq") != -1) if (arg.find("-liq") != -1)
{ {
_f1_liq = true; _f1_liq = true;
@ -287,7 +289,7 @@ bool TPrimanota_application::user_create()
load_mask(0); load_mask(0);
load_colors(); load_colors();
check_f1_ini(); check_f1_ini();
return true; return true;
} }
@ -1263,7 +1265,10 @@ int TPrimanota_application::read(TMask& m)
real imponibile(r.get(RMI_IMPONIBILE)); real imponibile(r.get(RMI_IMPONIBILE));
if (to_swap) imponibile = -imponibile; if (to_swap) imponibile = -imponibile;
riga.add(imponibile.string()); // Imponibile 101 riga.add(imponibile.string()); // Imponibile 101
riga.add(r.get(RMI_CODIVA)); // IVA 102
const TString8 codiva = r.get(RMI_CODIVA);
riga.add(codiva); // IVA 102
riga.add(r.get(RMI_TIPODET)); // Detrazione 103 riga.add(r.get(RMI_TIPODET)); // Detrazione 103
real imposta(r.get(RMI_IMPOSTA)); real imposta(r.get(RMI_IMPOSTA));
@ -1278,8 +1283,13 @@ int TPrimanota_application::read(TMask& m)
TBill c; c.get(r); TBill c; c.get(r);
c.add_to(riga, 4, 0x7); // Conto 105-110 c.add_to(riga, 4, 0x7); // Conto 105-110
const TCodiceIVA & iva = cached_codIVA(codiva);
riga.add(iva.percentuale(), cid2index(IVA_PERCIVA));
riga.add(iva.natura(), cid2index(IVA_NATURIVA));
riga.add(r.get(RMI_NAVP), cid2index(IVA_NOTAVARECF)); riga.add(r.get(RMI_NAVP), cid2index(IVA_NOTAVARECF));
riga.add(r.get(RMI_REVCHARGE), cid2index(IVA_REVCHARGE)); riga.add(r.get(RMI_REVCHARGE), cid2index(IVA_REVCHARGE));
} }
calcola_imp(); // Calcola totale imponibile ed imposte calcola_imp(); // Calcola totale imponibile ed imposte
ivas().update_original_rows(); ivas().update_original_rows();
@ -2348,11 +2358,10 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query)
TBill c; ini2bill(ini, c, false); TBill c; ini2bill(ini, c, false);
if (c.gruppo() > 0) if (c.gruppo() > 0)
c.add_to(riga, 4, 0x7); // Conto 105-110 c.add_to(riga, 4, 0x7); // Conto 105-110
if (_f1_ini) if (ini.exist("PERCIVA"))
{
add_not_empty(riga, 10, ini, "PERCIVA"); // Perc. IVA 111 add_not_empty(riga, 10, ini, "PERCIVA"); // Perc. IVA 111
if (ini.exist("NATURA"))
add_not_empty(riga, 11, ini, "NATURA"); // Natura IVA 112 add_not_empty(riga, 11, ini, "NATURA"); // Natura IVA 112
}
iva_notify(is, i, K_ENTER); iva_notify(is, i, K_ENTER);
} }
@ -2496,23 +2505,20 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query)
pagamento().set_sheet(pag); pagamento().set_sheet(pag);
} }
} }
if (_f1_ini && msk.find_by_id(FS_RECALC) != nullptr) if (msk.find_by_id(F_COLFPPRO) != nullptr)
{
msk.set(F_COLFPPRO, "X", 0x3); msk.set(F_COLFPPRO, "X", 0x3);
if (scad_from_ini) if (msk.find_by_id(FS_RECALC) != nullptr && scad_from_ini)
{ {
msk.set(FS_RECALC, ""); msk.set(FS_RECALC, "");
set_scad_f1(msk); set_scad_f1(msk);
}
insert_part_scad(ini); insert_part_scad(ini);
} }
if (_f1_liq && msk.find_by_id(F_DIFFERITA) != nullptr) if (_f1_liq && msk.find_by_id(F_DIFFERITA) != nullptr)
{ {
TDate datadoc(msk.get(F_DATADOC)); datadoc.set_day(1); TDate datadoc(msk.get(F_DATADOC)); datadoc.set_day(1);
TDate datareg(msk.get(F_DATAREG)); datareg.set_day(1); TDate datareg(msk.get(F_DATAREG)); datareg.set_day(1);
if(datadoc < datareg && (double)datadoc.year() == real(msk.get(F_ANNOIVA))) msk.set(F_DIFFERITA, datadoc < datareg && (double)datadoc.year() == real(msk.get(F_ANNOIVA)));
msk.set(F_DIFFERITA, "X");
} }
} }

View File

@ -1368,6 +1368,8 @@ bool TPrimanota_application::codiva_handler(TMask_field& f, KEY key)
im.set_dirty(); im.set_dirty();
im.on_hit(); im.on_hit();
m.set(IVA_PERCIVA, iva.percentuale());
m.set(IVA_NATURIVA, iva.natura());
} }
else else
{ {
@ -1765,7 +1767,7 @@ bool TPrimanota_application::iva_notify(TSheet_field& s, int r, KEY k)
real pimponibile(pag.imponibile(inv)); real pimponibile(pag.imponibile(inv));
pimponibile.round(pag.round(inv)); pimponibile.round(pag.round(inv));
if ((pimposta != imposta || pimponibile != imponibile) && (!a._f1_ini && (a._pro_mask == nullptr || !a._pro_mask->da_riportare()))) if ((pimposta != imposta || pimponibile != imponibile) && (/*!a._f1_ini && */ (a._pro_mask == nullptr || !a._pro_mask->da_riportare())))
a.set_scadenze(m); // Ricalcola rate a.set_scadenze(m); // Ricalcola rate
} }
} }
@ -3151,6 +3153,8 @@ bool TPrimanota_application::main_codiva_handler(TMask_field& f, KEY key)
row.add(codiva.indetraibilita(), cid2index(IVA_INDETRAIBILE)); row.add(codiva.indetraibilita(), cid2index(IVA_INDETRAIBILE));
row.add(a.causale().iva() == iva_acquisti && a.causale().reverse_charge_pubb() && reverse_charge_attivo ? "X" : "", cid2index(IVA_REVCHARGE)); row.add(a.causale().iva() == iva_acquisti && a.causale().reverse_charge_pubb() && reverse_charge_attivo ? "X" : "", cid2index(IVA_REVCHARGE));
} }
row.add(codiva.percentuale(), cid2index(IVA_PERCIVA));
row.add(codiva.natura(), cid2index(IVA_NATURIVA));
TBill bill(row, cid2index(IVA_TIPO), 0x1); TBill bill(row, cid2index(IVA_TIPO), 0x1);

View File

@ -161,7 +161,7 @@ class TPrimanota_application : public TRelation_application
TPro_msk * _pro_mask; TPro_msk * _pro_mask;
bool _is_set_fpcheck; bool _is_set_fpcheck;
int _last_date; int _last_date;
bool _f1_ini; // bool _f1_ini;
bool _f1_liq; bool _f1_liq;
TString _num_doc_rif_partite; TString _num_doc_rif_partite;
friend class TPro_msk; friend class TPro_msk;

View File

@ -329,7 +329,7 @@ bool TPrimanota_application::codpag_handler(TMask_field& f, KEY key)
TMask& m = f.mask(); TMask& m = f.mask();
TPrimanota_application& a = app(); TPrimanota_application& a = app();
const bool set_scad = a.is_fattura() && m.page_enabled(2); // E' attiva pagina 3 const bool set_scad = a.is_fattura() && m.page_enabled(2); // E' attiva pagina 3
if (key == K_ENTER && (!a._f1_ini && (a._pro_mask == nullptr || !a._pro_mask->da_riportare()))) if (key == K_ENTER && (/*!a._f1_ini && */ (a._pro_mask == nullptr || !a._pro_mask->da_riportare())))
{ {
if (set_scad && f.empty()) if (set_scad && f.empty())
{ {
@ -356,7 +356,7 @@ bool TPrimanota_application::codpag_handler(TMask_field& f, KEY key)
} }
} }
if (key == K_TAB && f.focusdirty() && m.insert_mode() && set_scad && (!a._f1_ini && (a._pro_mask == nullptr || !a._pro_mask->da_riportare()))) if (key == K_TAB && f.focusdirty() && m.insert_mode() && set_scad && (/*!a._f1_ini && */ (a._pro_mask == nullptr || !a._pro_mask->da_riportare())))
a.set_scadenze(m); a.set_scadenze(m);
return ok; return ok;

View File

@ -57,7 +57,7 @@ END
STRING IVA_PERCIVA 3 STRING IVA_PERCIVA 3
BEGIN BEGIN
PROMPT 20 4 "Perc." PROMPT 36 4 "Perc."
FLAGS "D" FLAGS "D"
END END