Patch level : 12.0 nopatch

Files correlati     :
Commento:
sistemazione progetti e programmi che non si compilavano
This commit is contained in:
Alessandro Bonazzi 2023-03-05 16:09:02 +01:00
parent bf9fc8bb42
commit 89eec902ae

View File

@ -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;}