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()
: _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)
{
memset(_msk, 0, sizeof(_msk));
@ -250,10 +250,12 @@ void TPrimanota_application::check_f1_ini()
for (int i = 0; i < argc(); i++)
{
TString arg(argv(i));
if (arg.find("-f1") != -1)
/* if (arg.find("-f1") != -1)
{
_f1_ini = true;
}
*/
if (arg.find("-liq") != -1)
{
_f1_liq = true;
@ -287,7 +289,7 @@ bool TPrimanota_application::user_create()
load_mask(0);
load_colors();
check_f1_ini();
check_f1_ini();
return true;
}
@ -1263,7 +1265,10 @@ int TPrimanota_application::read(TMask& m)
real imponibile(r.get(RMI_IMPONIBILE));
if (to_swap) imponibile = -imponibile;
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
real imposta(r.get(RMI_IMPOSTA));
@ -1278,8 +1283,13 @@ int TPrimanota_application::read(TMask& m)
TBill c; c.get(r);
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_REVCHARGE), cid2index(IVA_REVCHARGE));
riga.add(r.get(RMI_REVCHARGE), cid2index(IVA_REVCHARGE));
}
calcola_imp(); // Calcola totale imponibile ed imposte
ivas().update_original_rows();
@ -2348,11 +2358,10 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query)
TBill c; ini2bill(ini, c, false);
if (c.gruppo() > 0)
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
if (ini.exist("NATURA"))
add_not_empty(riga, 11, ini, "NATURA"); // Natura IVA 112
}
iva_notify(is, i, K_ENTER);
}
@ -2496,23 +2505,20 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query)
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);
if (scad_from_ini)
{
msk.set(FS_RECALC, "");
set_scad_f1(msk);
}
if (msk.find_by_id(FS_RECALC) != nullptr && scad_from_ini)
{
msk.set(FS_RECALC, "");
set_scad_f1(msk);
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 datareg(msk.get(F_DATAREG)); datareg.set_day(1);
if(datadoc < datareg && (double)datadoc.year() == real(msk.get(F_ANNOIVA)))
msk.set(F_DIFFERITA, "X");
msk.set(F_DIFFERITA, datadoc < datareg && (double)datadoc.year() == real(msk.get(F_ANNOIVA)));
}
}

View File

@ -1368,6 +1368,8 @@ bool TPrimanota_application::codiva_handler(TMask_field& f, KEY key)
im.set_dirty();
im.on_hit();
m.set(IVA_PERCIVA, iva.percentuale());
m.set(IVA_NATURIVA, iva.natura());
}
else
{
@ -1765,7 +1767,7 @@ bool TPrimanota_application::iva_notify(TSheet_field& s, int r, KEY k)
real pimponibile(pag.imponibile(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
}
}
@ -3151,6 +3153,8 @@ bool TPrimanota_application::main_codiva_handler(TMask_field& f, KEY key)
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(codiva.percentuale(), cid2index(IVA_PERCIVA));
row.add(codiva.natura(), cid2index(IVA_NATURIVA));
TBill bill(row, cid2index(IVA_TIPO), 0x1);

View File

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

View File

@ -329,7 +329,7 @@ bool TPrimanota_application::codpag_handler(TMask_field& f, KEY key)
TMask& m = f.mask();
TPrimanota_application& a = app();
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())
{
@ -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);
return ok;

View File

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