Patch level : 12.0 744
Files correlati : tf Commento : - Aggiunto nel calcolo liquidazione trimestrale anche i movimenti con flag di liquidazione precedente - Aggiunto nel calcolo del credito precendente vincolo mese a gennaio
This commit is contained in:
parent
711ecf527b
commit
1ca5cf6804
@ -197,11 +197,10 @@ void calcola_credito_prec(real& creprec, real& creaprec, bool mensile, int anno,
|
||||
|
||||
trovato = trovato || row_liq.get_real("CREAPREC") > ZERO;
|
||||
creprec = row_liq.get_real("IVAVERC");
|
||||
|
||||
}
|
||||
/* Se non ho trovato nessun valore positivo (i negativi senza nessun positivo prima non sono validi)
|
||||
* vado a leggere la liquidazione di quest'anno */
|
||||
if(!trovato)
|
||||
if(!trovato && mese == 1)
|
||||
{
|
||||
creaprec = row_lia.get_real("R0");
|
||||
}
|
||||
@ -219,7 +218,7 @@ protected:
|
||||
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
void extractinator();
|
||||
void check_old_value(int field, real val);
|
||||
void check_old_value(int field, const real& val);
|
||||
public:
|
||||
TCom_liq_per_iva_msk() : TAutomask("tf0200a"), _true_data(LF_IVALIQ), _init_liq(false) { first_focus(F_ANNO); }
|
||||
void save_gen();
|
||||
@ -421,7 +420,7 @@ void TCom_liq_per_iva_msk::extractinator() // Per gli amici GTFO
|
||||
for(; start <= end; start++)
|
||||
{
|
||||
TDate data_da(1, start, anno);
|
||||
TDate data_a(1, start, anno); data_a.set_end_month();
|
||||
TDate data_a(1, start + 1, anno); data_a.set_end_month();
|
||||
bool has_ixc = gestione_IVAxCassa(data_da);
|
||||
|
||||
/****************************************************************************************************************
|
||||
@ -433,7 +432,7 @@ void TCom_liq_per_iva_msk::extractinator() // Per gli amici GTFO
|
||||
const TRectype row_lim = getLIM(anno, start);
|
||||
|
||||
// Controllo che la liquidazione è stata effettuata, controllo da fare solo nella 12
|
||||
if (dongle().year_assist() > 2121 && (row_lim.empty() || row_lim.get_bool("B0")) && !yesno_box("Attenzione non <EFBFBD> stata calcolata la liquidazione del periodo corrente, si desidera proseguire ugualmente?"))
|
||||
if (dongle().year_assist() > 2121 && (row_lim.empty() || row_lim.get_bool("B0")) && !yesno_box("Attenzione non e' stata calcolata la liquidazione del periodo corrente, si desidera proseguire ugualmente?"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -455,46 +454,49 @@ void TCom_liq_per_iva_msk::extractinator() // Per gli amici GTFO
|
||||
// Controllo che sia un movimento con codice non "non soggetto"
|
||||
TCodiceIVA codiva(cur_iva.get(FIELD_NAME(LF_RMOVIVA, RMI_CODIVA)).as_string());
|
||||
if(codiva.tipo() == "NS") continue;
|
||||
|
||||
// Prendo il tipo di registro
|
||||
TRegistro reg(cur_iva.get(FIELD_NAME(LF_MOV, MOV_REG)).as_string(), anno);
|
||||
int tiporeg = reg.tipo();
|
||||
bool is_corrispettivo = reg.corrispettivi();
|
||||
|
||||
// Prendiamo l'imponibile
|
||||
real imp = cur_iva.get("25.IMPONIBILE").as_real();
|
||||
real imposta = cur_iva.get("25.IMPOSTA").as_real();
|
||||
|
||||
// Se è un movimento IvaXCassa o LiqDiff
|
||||
if(has_ixc && (cur_iva.get("23.IVAXCASSA").as_bool() || cur_iva.get("23.LIQDIFF").as_bool()))
|
||||
// Controllo che la registrazione sia di del mese che mi interessa o con flag "liquidazione periodo precedente"
|
||||
if (cur_iva.get("23." MOV_DATAREG).as_date().month() == start || start == cur_iva.get("23." MOV_MESELIQ).as_int())
|
||||
{
|
||||
if(tiporeg == iva_vendite)
|
||||
totopattxc += imp;
|
||||
else
|
||||
totoppasxc += imp;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(tiporeg == iva_vendite)
|
||||
// Prendo il tipo di registro
|
||||
TRegistro reg(cur_iva.get(FIELD_NAME(LF_MOV, MOV_REG)).as_string(), anno);
|
||||
int tiporeg = reg.tipo();
|
||||
bool is_corrispettivo = reg.corrispettivi();
|
||||
|
||||
// Prendiamo l'imponibile
|
||||
real imp = cur_iva.get("25.IMPONIBILE").as_real();
|
||||
real imposta = cur_iva.get("25.IMPOSTA").as_real();
|
||||
|
||||
// Se è un movimento IvaXCassa o LiqDiff
|
||||
if (has_ixc && (cur_iva.get("23.IVAXCASSA").as_bool() || cur_iva.get("23.LIQDIFF").as_bool()))
|
||||
{
|
||||
// Controllo il reverse charge, non va calcolato nel totale delle operazioni attive!
|
||||
// Se non ha una riga di movimento non lo sommo
|
||||
TString key_rc = cur_iva.get("23.NUMREG").as_string(); key_rc << "|1";
|
||||
if(!cache().get(LF_RMOV, key_rc).empty())
|
||||
{
|
||||
// Controllo se è un corrispettivo non scorporato (imponibile e iva assieme)
|
||||
if(is_corrispettivo && codiva.percentuale() > ZERO && imposta == ZERO)
|
||||
{
|
||||
// Nell'imponibile è presente il totale fattura, devo calcolare l'imposta e sottrarla
|
||||
// Es iva 22% => imp : 122 = x : 100
|
||||
codiva.scorpora(imp);
|
||||
}
|
||||
totopatt += imp;
|
||||
int i = 1;
|
||||
}
|
||||
if (tiporeg == iva_vendite)
|
||||
totopattxc += imp;
|
||||
else
|
||||
totoppasxc += imp;
|
||||
}
|
||||
else
|
||||
totoppas += imp;
|
||||
{
|
||||
if (tiporeg == iva_vendite)
|
||||
{
|
||||
// Controllo il reverse charge, non va calcolato nel totale delle operazioni attive!
|
||||
// Se non ha una riga di movimento non lo sommo
|
||||
TString key_rc = cur_iva.get("23.NUMREG").as_string(); key_rc << "|1";
|
||||
if (!cache().get(LF_RMOV, key_rc).empty())
|
||||
{
|
||||
// Controllo se è un corrispettivo non scorporato (imponibile e iva assieme)
|
||||
if (is_corrispettivo && codiva.percentuale() > ZERO && imposta == ZERO)
|
||||
{
|
||||
// Nell'imponibile è presente il totale fattura, devo calcolare l'imposta e sottrarla
|
||||
// Es iva 22% => imp : 122 = x : 100
|
||||
codiva.scorpora(imp);
|
||||
}
|
||||
totopatt += imp;
|
||||
}
|
||||
}
|
||||
else
|
||||
totoppas += imp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -514,12 +516,8 @@ void TCom_liq_per_iva_msk::extractinator() // Per gli amici GTFO
|
||||
|
||||
// IVA detraibile
|
||||
imposta_diff = imposta_xcas = ZERO;
|
||||
TString pippo = ivadetxc.stringa();
|
||||
TString pluto = imposta_xcas.stringa();
|
||||
// 2 = Acquisti
|
||||
calc_inc_diff(anno, start, iva_acquisti, imposta_diff, imposta_xcas);
|
||||
pippo = ivadetxc.stringa();
|
||||
pluto = imposta_xcas.stringa();
|
||||
ivadetxc = ivadetxc + imposta_xcas;
|
||||
ivadetdiff = ivadetdiff + imposta_diff;
|
||||
}
|
||||
@ -686,7 +684,7 @@ void TCom_liq_per_iva_msk::save_gen()
|
||||
_true_data.put("VEREFF", get(F_VEREFF));
|
||||
}
|
||||
|
||||
void TCom_liq_per_iva_msk::check_old_value(int field, real val)
|
||||
void TCom_liq_per_iva_msk::check_old_value(int field, const real& val)
|
||||
{
|
||||
if(_true_data.empty())
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user