Patch level : 12.0
Files correlati : fp, cg Commento: recupero dati fattura collegata da FPPRO per le integrazioni
This commit is contained in:
parent
3310f48568
commit
c2ad527782
@ -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)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -57,7 +57,7 @@ END
|
||||
|
||||
STRING IVA_PERCIVA 3
|
||||
BEGIN
|
||||
PROMPT 20 4 "Perc."
|
||||
PROMPT 36 4 "Perc."
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user