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()
|
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");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user