Patch level : 12.0 nopatch
Files correlati : Commento: sistemazione progetti e programmi che non si compilavano
This commit is contained in:
parent
bf9fc8bb42
commit
89eec902ae
@ -1,4 +1,4 @@
|
|||||||
#include <relapp.h>
|
#include <relapp.h>
|
||||||
#include <automask.h>
|
#include <automask.h>
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <lffiles.h>
|
#include <lffiles.h>
|
||||||
@ -70,7 +70,7 @@ const TRectype getLAM(int anno, int mese)
|
|||||||
// Ritorna il record valido richiesto di tabcom.VER
|
// Ritorna il record valido richiesto di tabcom.VER
|
||||||
const TRectype getVER(int anno, int mese)
|
const TRectype getVER(int anno, int mese)
|
||||||
{
|
{
|
||||||
// Questa tabella ha come chiave l'inizio validità, creo un cursore e scorro finche non trovo l'ultimo periodo valido
|
// Questa tabella ha come chiave l'inizio validità, creo un cursore e scorro finche non trovo l'ultimo periodo valido
|
||||||
static TRelation rver(LF_TABCOM);
|
static TRelation rver(LF_TABCOM);
|
||||||
static TRectype from(rver.curr()); from.put("COD", "VER");
|
static TRectype from(rver.curr()); from.put("COD", "VER");
|
||||||
static TRectype to(rver.curr()); to.put("COD" , "VER");
|
static TRectype to(rver.curr()); to.put("COD" , "VER");
|
||||||
@ -100,7 +100,7 @@ const TRectype getVER(int anno, int mese)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Scopiazzata e divisa in due da cg4304.cpp
|
/* Scopiazzata e divisa in due da cg4304.cpp
|
||||||
* Calcola solo le imposte, aggiunto controllo indetraibilità, non devono essere presi in considerazione
|
* Calcola solo le imposte, aggiunto controllo indetraibilità, non devono essere presi in considerazione
|
||||||
* i movimenti se indetraibili
|
* i movimenti se indetraibili
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -198,7 +198,7 @@ void calcola_credito_prec(real& creprec, real& creaprec, bool mensile, int anno,
|
|||||||
for(cur_liq = 0; cur_liq.pos() < cur_liq.items(); ++cur_liq)
|
for(cur_liq = 0; cur_liq.pos() < cur_liq.items(); ++cur_liq)
|
||||||
{
|
{
|
||||||
TRectype row_liq = cur_liq.curr();
|
TRectype row_liq = cur_liq.curr();
|
||||||
if(row_liq.get_int("MESE") >= mese) break; // Perchè li prende lo stesso?
|
if(row_liq.get_int("MESE") >= mese) break; // Perchè li prende lo stesso?
|
||||||
|
|
||||||
trovato = trovato || row_liq.get_real("CREAPREC") > ZERO;
|
trovato = trovato || row_liq.get_real("CREAPREC") > ZERO;
|
||||||
creprec = row_liq.get_real("IVAVERC");
|
creprec = row_liq.get_real("IVAVERC");
|
||||||
@ -218,7 +218,7 @@ class TCom_liq_per_iva_msk : public TAutomask
|
|||||||
bool _last_elab_pas;
|
bool _last_elab_pas;
|
||||||
protected:
|
protected:
|
||||||
bool _mensile;
|
bool _mensile;
|
||||||
// Aggiunta questa variabile per specificare se è stato impostato un tipo di liquidazione.
|
// Aggiunta questa variabile per specificare se è stato impostato un tipo di liquidazione.
|
||||||
// In Release sembra che durante la ricerca salta l'inizializzazione e imposta prima gli altri campi
|
// In Release sembra che durante la ricerca salta l'inizializzazione e imposta prima gli altri campi
|
||||||
bool _init_liq;
|
bool _init_liq;
|
||||||
TRectype _true_data;
|
TRectype _true_data;
|
||||||
@ -316,10 +316,10 @@ bool TCom_liq_per_iva_msk::on_field_event(TOperable_field& o, TField_event e, lo
|
|||||||
// Vado a prendere i dati di quel mese dalla liquidazione IVA
|
// Vado a prendere i dati di quel mese dalla liquidazione IVA
|
||||||
if(e == fe_button)
|
if(e == fe_button)
|
||||||
{
|
{
|
||||||
// Controllo che non ci sia già
|
// Controllo che non ci sia già
|
||||||
if(!cache().get(LF_IVALIQ, TString(get(F_ANNO)) << "|" << get(F_MESE) << "|U").empty())
|
if(!cache().get(LF_IVALIQ, TString(get(F_ANNO)) << "|" << get(F_MESE) << "|U").empty())
|
||||||
{
|
{
|
||||||
if(!yesno_box("Sono già stati elaborati questi dati, si desidera ricalcolarli?"))
|
if(!yesno_box("Sono già stati elaborati questi dati, si desidera ricalcolarli?"))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
extractinator();
|
extractinator();
|
||||||
@ -339,13 +339,13 @@ bool TCom_liq_per_iva_msk::on_field_event(TOperable_field& o, TField_event e, lo
|
|||||||
if(e == fe_init)
|
if(e == fe_init)
|
||||||
set(F_ATT_COMP, _last_elab_att ? "X" : " ");
|
set(F_ATT_COMP, _last_elab_att ? "X" : " ");
|
||||||
else if(e == fe_modify)
|
else if(e == fe_modify)
|
||||||
warning_box("Attenzione la modifica di questo valore comporta un diverso calcolo dei rigo VP2. L'utente è pregato di controllarne la correttezza.\nSi consiglia di ricalcolare e rispedire tutti periodi dell'anno");
|
warning_box("Attenzione la modifica di questo valore comporta un diverso calcolo dei rigo VP2. L'utente è pregato di controllarne la correttezza.\nSi consiglia di ricalcolare e rispedire tutti periodi dell'anno");
|
||||||
break;
|
break;
|
||||||
case F_PAS_COMP:
|
case F_PAS_COMP:
|
||||||
if (e == fe_init)
|
if (e == fe_init)
|
||||||
set(F_PAS_COMP, _last_elab_pas ? "X" : " ");
|
set(F_PAS_COMP, _last_elab_pas ? "X" : " ");
|
||||||
else if (e == fe_modify)
|
else if (e == fe_modify)
|
||||||
warning_box("Attenzione la modifica di questo valore comporta un diverso calcolo dei rigo VP3. L'utente è pregato di controllarne la correttezza.\nSi consiglia di ricalcolare e rispedire tutti periodi dell'anno");
|
warning_box("Attenzione la modifica di questo valore comporta un diverso calcolo dei rigo VP3. L'utente è pregato di controllarne la correttezza.\nSi consiglia di ricalcolare e rispedire tutti periodi dell'anno");
|
||||||
break;
|
break;
|
||||||
case DLG_SAVEREC:
|
case DLG_SAVEREC:
|
||||||
if(e == fe_button)
|
if(e == fe_button)
|
||||||
@ -411,7 +411,7 @@ bool TCom_liq_per_iva_msk::on_field_event(TOperable_field& o, TField_event e, lo
|
|||||||
// Ricalcolo VP13 e VP14
|
// Ricalcolo VP13 e VP14
|
||||||
real debito = get_real(F_IVADOV) + get_real(F_DEBPREC) + get_real(F_INTLIQTRI);
|
real debito = get_real(F_IVADOV) + get_real(F_DEBPREC) + get_real(F_INTLIQTRI);
|
||||||
|
|
||||||
/* Se il credito anno precedente è negativo devo mantenerlo tale ma sottrarlo al credito dell'anno precedente delle dichiarazioni precedenti */
|
/* Se il credito anno precedente è negativo devo mantenerlo tale ma sottrarlo al credito dell'anno precedente delle dichiarazioni precedenti */
|
||||||
real creaprec = get_real(F_CREAPREC);
|
real creaprec = get_real(F_CREAPREC);
|
||||||
if(creaprec < ZERO)
|
if(creaprec < ZERO)
|
||||||
{
|
{
|
||||||
@ -445,9 +445,9 @@ bool TCom_liq_per_iva_msk::on_field_event(TOperable_field& o, TField_event e, lo
|
|||||||
// Funzione che effettivamente estrapola i dati necessari
|
// Funzione che effettivamente estrapola i dati necessari
|
||||||
void TCom_liq_per_iva_msk::extractinator() // Per gli amici GTFO
|
void TCom_liq_per_iva_msk::extractinator() // Per gli amici GTFO
|
||||||
{
|
{
|
||||||
/* Devo estrapolare più mesi, per farlo vado ciclo n volte (1 o 3) in base se stiamo parlando di trimestralità o meno
|
/* Devo estrapolare più mesi, per farlo vado ciclo n volte (1 o 3) in base se stiamo parlando di trimestralità o meno
|
||||||
* I dati da prelevare saranno in PRM, LIM e %LIA
|
* I dati da prelevare saranno in PRM, LIM e %LIA
|
||||||
* In PRM e LIM troverò le informazioni suddivise per mese, mentre in %LIA ho l'anno di liquidazione
|
* In PRM e LIM troverò le informazioni suddivise per mese, mentre in %LIA ho l'anno di liquidazione
|
||||||
*/
|
*/
|
||||||
int start = _mensile ? get_int(F_MESE) : (((get_int(F_TRIMESTRE) - 1) * 3) + 1);
|
int start = _mensile ? get_int(F_MESE) : (((get_int(F_TRIMESTRE) - 1) * 3) + 1);
|
||||||
int end = _mensile ? start : start + 2;
|
int end = _mensile ? start : start + 2;
|
||||||
@ -506,7 +506,7 @@ void TCom_liq_per_iva_msk::extractinator() // Per gli amici GTFO
|
|||||||
// Riga LIM
|
// Riga LIM
|
||||||
const TRectype row_lim = getLIM(anno, start);
|
const TRectype row_lim = getLIM(anno, start);
|
||||||
|
|
||||||
// Controllo che la liquidazione è stata effettuata, controllo da fare solo nella 12
|
// 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 e' 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;
|
return;
|
||||||
@ -533,7 +533,7 @@ void TCom_liq_per_iva_msk::extractinator() // Per gli amici GTFO
|
|||||||
// Controllo che la registrazione sia di del mese che mi interessa o con flag "liquidazione periodo precedente"
|
// Controllo che la registrazione sia di del mese che mi interessa o con flag "liquidazione periodo precedente"
|
||||||
const int month_reg = cur_iva.get("23." MOV_DATAREG).as_date().month();
|
const int month_reg = cur_iva.get("23." MOV_DATAREG).as_date().month();
|
||||||
const int month_liq = cur_iva.get("23." MOV_MESELIQ).as_int();
|
const int month_liq = cur_iva.get("23." MOV_MESELIQ).as_int();
|
||||||
// month_liq viene valorizzato solo se è del mese precedente o sempre? Nei record vecchi ovviamente sarà a zero ma adesso che ci mette?
|
// month_liq viene valorizzato solo se è del mese precedente o sempre? Nei record vecchi ovviamente sarà a zero ma adesso che ci mette?
|
||||||
// Prendo il tipo di registro
|
// Prendo il tipo di registro
|
||||||
TRegistro reg(cur_iva.get(FIELD_NAME(LF_MOV, MOV_REG)).as_string(), anno);
|
TRegistro reg(cur_iva.get(FIELD_NAME(LF_MOV, MOV_REG)).as_string(), anno);
|
||||||
int tiporeg = reg.tipo();
|
int tiporeg = reg.tipo();
|
||||||
@ -562,7 +562,7 @@ void TCom_liq_per_iva_msk::extractinator() // Per gli amici GTFO
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Se è un movimento IvaXCassa o LiqDiff
|
// Se è un movimento IvaXCassa o LiqDiff
|
||||||
if (has_ixc && (cur_iva.get("23.IVAXCASSA").as_bool() || cur_iva.get("23.LIQDIFF").as_bool()))
|
if (has_ixc && (cur_iva.get("23.IVAXCASSA").as_bool() || cur_iva.get("23.LIQDIFF").as_bool()))
|
||||||
{
|
{
|
||||||
if (tiporeg == iva_vendite)
|
if (tiporeg == iva_vendite)
|
||||||
@ -579,10 +579,10 @@ void TCom_liq_per_iva_msk::extractinator() // Per gli amici GTFO
|
|||||||
TString key_rc = cur_iva.get("23.NUMREG").as_string(); key_rc << "|1";
|
TString key_rc = cur_iva.get("23.NUMREG").as_string(); key_rc << "|1";
|
||||||
if (!cache().get(LF_RMOV, key_rc).empty())
|
if (!cache().get(LF_RMOV, key_rc).empty())
|
||||||
{
|
{
|
||||||
// Controllo se è un corrispettivo non scorporato (imponibile e iva assieme)
|
// Controllo se è un corrispettivo non scorporato (imponibile e iva assieme)
|
||||||
if (is_corrispettivo && codiva.percentuale() > ZERO && imposta == ZERO)
|
if (is_corrispettivo && codiva.percentuale() > ZERO && imposta == ZERO)
|
||||||
{
|
{
|
||||||
// Nell'imponibile è presente il totale fattura, devo calcolare l'imposta e sottrarla
|
// Nell'imponibile è presente il totale fattura, devo calcolare l'imposta e sottrarla
|
||||||
// Es iva 22% => imp : 122 = x : 100
|
// Es iva 22% => imp : 122 = x : 100
|
||||||
codiva.scorpora(imp);
|
codiva.scorpora(imp);
|
||||||
}
|
}
|
||||||
@ -597,7 +597,7 @@ void TCom_liq_per_iva_msk::extractinator() // Per gli amici GTFO
|
|||||||
// Sommiamo i corrispettivi al registro delle vendite
|
// Sommiamo i corrispettivi al registro delle vendite
|
||||||
|
|
||||||
|
|
||||||
// Se ha attiva l'IVA x cassa calcolo le imposte (imponibili per comodità già calcolati sopra)
|
// Se ha attiva l'IVA x cassa calcolo le imposte (imponibili per comodità già calcolati sopra)
|
||||||
if(has_ixc)
|
if(has_ixc)
|
||||||
{
|
{
|
||||||
// IVA esigibile
|
// IVA esigibile
|
||||||
@ -620,7 +620,7 @@ void TCom_liq_per_iva_msk::extractinator() // Per gli amici GTFO
|
|||||||
|
|
||||||
TRectype row_lam = getLAM(anno, start);
|
TRectype row_lam = getLAM(anno, start);
|
||||||
|
|
||||||
/* É saltato fuori che in caso di liquidazione trimestrale l'importo ivaes e ivadet
|
/* É saltato fuori che in caso di liquidazione trimestrale l'importo ivaes e ivadet
|
||||||
* viene scritto su ogni mese, quindi prendo solo quando
|
* viene scritto su ogni mese, quindi prendo solo quando
|
||||||
* start == end -> iva mensile o ultimo mese della trimestrale */
|
* start == end -> iva mensile o ultimo mese della trimestrale */
|
||||||
|
|
||||||
@ -883,7 +883,7 @@ private:
|
|||||||
protected:
|
protected:
|
||||||
bool user_create();
|
bool user_create();
|
||||||
bool user_destroy();
|
bool user_destroy();
|
||||||
virtual TMask* get_mask(int mode) { return _mask; }
|
virtual TMask* _get_mask(int mode) { return _mask; }
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual TRelation* get_relation() const {return (TRelation*)_rel;}
|
virtual TRelation* get_relation() const {return (TRelation*)_rel;}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user