Patch level : 12.0 384
Files correlati : tf Commento : TF0200: Sistemato programma di estrazione dati: - Aggiunta doppia gestione dei record: ogni volta che vengono estratti i dati si creerà un record con chiave GENERATA = 'G' e uno = 'U' così da poter rilevare sempre le modifiche dell'utente. - Adattata maschera per nuova chiave e aggiunti nomi VPXX. - aggiunte funzioni saveGen(), checkOldValue() e salvataggio del record per supportare il punto precedente. - I valori di corretti del prorata per l'IVA esigibile e detratta. - Aggiornato calcolo debito periodo precedente, adesso effettua dei controlli sui i record precedenti. - Aggiornato calcolo debito anno precedente con controlli sui record precedenti e il valore in LIA.R0. - Sistemati controlli campi maschera che causavano bug minori. TF 0500: - Sistemato programma per gestire nuova chiave. - Adattata maschera. git-svn-id: svn://10.65.10.50/branches/R_10_00@23769 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
05deed15ae
commit
ed5b4a6a72
@ -2,8 +2,8 @@
|
|||||||
#include <automask.h>
|
#include <automask.h>
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <recarray.h> // cache()
|
#include <recarray.h> // cache()
|
||||||
#include <recset.h> // TISAM_recordset
|
#include <recset.h> // TISAM_recordset
|
||||||
#include <rmoviva.h>
|
#include <rmoviva.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
|
|
||||||
@ -17,6 +17,7 @@
|
|||||||
// ComLiqPerIva: Comunicazione Liquidazioni Periodiche IVA
|
// ComLiqPerIva: Comunicazione Liquidazioni Periodiche IVA
|
||||||
|
|
||||||
/** Utilities **/
|
/** Utilities **/
|
||||||
|
|
||||||
// Ritorna un cursore di tab.PRM
|
// Ritorna un cursore di tab.PRM
|
||||||
const TCursor getPRM(int anno)
|
const TCursor getPRM(int anno)
|
||||||
{
|
{
|
||||||
@ -46,6 +47,17 @@ const TRectype getLIA(int anno)
|
|||||||
return cache().get("%LIA", key);
|
return cache().get("%LIA", key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Ritorna il record richiesto di tabcom.LIM
|
||||||
|
const TRectype getLAM(int anno, int mese)
|
||||||
|
{
|
||||||
|
TString key; key << anno;
|
||||||
|
if(mese < 10)
|
||||||
|
key << "0" << mese;
|
||||||
|
else
|
||||||
|
key << mese;
|
||||||
|
return cache().get("LAM", key);
|
||||||
|
}
|
||||||
|
|
||||||
// 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)
|
||||||
{
|
{
|
||||||
@ -155,30 +167,17 @@ int getTipoReg(int anno, TString codReg)
|
|||||||
return stoi(cache().get("REG", key, "I0"));
|
return stoi(cache().get("REG", key, "I0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Da errori in allocazione TArray
|
|
||||||
const TISAM_recordset getCurIvaXCassa(TDate data_da, TDate data_a, TString codreg_att)
|
|
||||||
{
|
|
||||||
TString query = "USE IVADIFF SELECT (BETWEEN(DATAREGP,#DAL,#AL))&&(MOV.REG=#REG)&&(STR((MESELIQ<13)&&(TIPOMOV>2)&&(MOV.TOTDOC!=0)&&(IMPOSTA!=0)&&NUM(INDETR!='X')))";
|
|
||||||
query << "\nBY DATAREGP DATAREG NUMPRO";
|
|
||||||
query << "\nJOIN MOV INTO NUMREG==NUMREG";
|
|
||||||
query << "\nJOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF";
|
|
||||||
TISAM_recordset id(query);
|
|
||||||
id.set_var("#DAL", data_da);
|
|
||||||
id.set_var("#AL", data_a);
|
|
||||||
id.set_var("#REG", codreg_att);
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
class ComLiqPerIva_mask : public TAutomask
|
class ComLiqPerIva_mask : public TAutomask
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
bool mensile;
|
bool mensile;
|
||||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
TRectype trueData;
|
||||||
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
void extractinator();
|
void extractinator();
|
||||||
|
void checkOldValue(int field, real val);
|
||||||
public:
|
public:
|
||||||
ComLiqPerIva_mask() : TAutomask("tf0200a") { first_focus(F_ANNO); }
|
ComLiqPerIva_mask() : TAutomask("tf0200a"), trueData(LF_IVALIQ) { first_focus(F_ANNO); }
|
||||||
|
void saveGen();
|
||||||
};
|
};
|
||||||
|
|
||||||
bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
@ -237,11 +236,11 @@ bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case F_MESE:
|
case F_MESE:
|
||||||
if(e == fe_modify)
|
if(e == fe_modify && mensile)
|
||||||
set(F_TRIMESTRE, (get_int(F_MESE) - 1) / 3 + 1);
|
set(F_TRIMESTRE, (get_int(F_MESE) - 1) / 3 + 1);
|
||||||
break;
|
break;
|
||||||
case F_TRIMESTRE:
|
case F_TRIMESTRE:
|
||||||
if(e == fe_modify)
|
if(e == fe_modify && !mensile)
|
||||||
set(F_MESE, get_int(F_TRIMESTRE) * 3);
|
set(F_MESE, get_int(F_TRIMESTRE) * 3);
|
||||||
break;
|
break;
|
||||||
case DLG_RECALC:
|
case DLG_RECALC:
|
||||||
@ -249,7 +248,7 @@ bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long
|
|||||||
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)).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;
|
||||||
@ -262,11 +261,14 @@ bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long
|
|||||||
// TExternal_application app;
|
// TExternal_application app;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
case DLG_SAVEREC:
|
||||||
|
if(e != fe_init && !trueData.empty())
|
||||||
|
trueData.write_rewrite(TLocalisamfile(LF_IVALIQ));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(o.dlg() >= CAMPI_CON_BOOLEAN && o.dlg() <= F_IMPNOVER && e == fe_modify) // Se l'utente modifica manualmente uno dei campi calcolati da Campo flaggo il DB
|
if(o.dlg() >= CAMPI_CON_BOOLEAN && o.dlg() <= F_IMPNOVER && e == fe_modify) // Se l'utente modifica manualmente uno dei campi calcolati da Campo flaggo il DB
|
||||||
{
|
{
|
||||||
set(o.dlg() + 50, "X");
|
checkOldValue(o.dlg(), get_real(o.dlg()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Controllo sull'aggiornamento di campi collegati ad altri
|
// Controllo sull'aggiornamento di campi collegati ad altri
|
||||||
@ -287,16 +289,16 @@ bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long
|
|||||||
if((ivaes - ivadet) >= ZERO)
|
if((ivaes - ivadet) >= ZERO)
|
||||||
{
|
{
|
||||||
set(F_IVADOV, ivaes - ivadet);
|
set(F_IVADOV, ivaes - ivadet);
|
||||||
set(B_IVADOV, "X");
|
|
||||||
set(F_IVADOVC, ZERO);
|
set(F_IVADOVC, ZERO);
|
||||||
set(B_IVADOVC, "");
|
checkOldValue(F_IVADOV, ivaes - ivadet);
|
||||||
|
checkOldValue(F_IVADOVC, "");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
set(F_IVADOV, ZERO);
|
set(F_IVADOV, ZERO);
|
||||||
set(B_IVADOV, "");
|
|
||||||
set(F_IVADOVC, (ivaes - ivadet) * -UNO);
|
set(F_IVADOVC, (ivaes - ivadet) * -UNO);
|
||||||
set(B_IVADOVC, "X");
|
checkOldValue(F_IVADOV, "");
|
||||||
|
checkOldValue(F_IVADOVC, (ivaes - ivadet) * -UNO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// IVA da versare VS a credito
|
// IVA da versare VS a credito
|
||||||
@ -316,16 +318,16 @@ bool ComLiqPerIva_mask::on_field_event(TOperable_field& o, TField_event e, long
|
|||||||
if(debito - credito >= ZERO)
|
if(debito - credito >= ZERO)
|
||||||
{
|
{
|
||||||
set(F_IVAVER, debito - credito);
|
set(F_IVAVER, debito - credito);
|
||||||
set(B_IVAVER, "X");
|
|
||||||
set(F_IVAVERC, ZERO);
|
set(F_IVAVERC, ZERO);
|
||||||
set(B_IVAVERC, "");
|
checkOldValue(F_IVAVER, debito - credito);
|
||||||
|
checkOldValue(F_IVAVERC, "");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
set(F_IVAVER, ZERO);
|
set(F_IVAVER, ZERO);
|
||||||
set(B_IVAVER, "");
|
|
||||||
set(F_IVAVERC, credito - debito);
|
set(F_IVAVERC, credito - debito);
|
||||||
set(B_IVAVERC, "X");
|
checkOldValue(F_IVAVER, "");
|
||||||
|
checkOldValue(F_IVAVERC, credito - debito);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -450,8 +452,10 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Resto *****************************************************************************************************/
|
/** Resto *****************************************************************************************************/
|
||||||
ivaes = ivaes + rowLim.get_real("R13");
|
|
||||||
ivadet = ivadet + rowLim.get_real("R12");
|
TRectype rowLam = getLAM(anno, start);
|
||||||
|
ivaes = ivaes + rowLam.get_real("R0");
|
||||||
|
ivadet = ivadet + rowLam.get_real("R1");
|
||||||
|
|
||||||
rettifiche = rettifiche + rowLim.get_real("R5");
|
rettifiche = rettifiche + rowLim.get_real("R5");
|
||||||
varimp = varimp + rowLim.get_real("R17");
|
varimp = varimp + rowLim.get_real("R17");
|
||||||
@ -465,15 +469,67 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO
|
|||||||
real appReal = ZERO;
|
real appReal = ZERO;
|
||||||
|
|
||||||
// Credito periodo precedente
|
// Credito periodo precedente
|
||||||
TToken_string tokenPrec = rowLim.get("S0");
|
if(start != 1) // A gennaio non lo calcolo
|
||||||
real app1 = ZERO, app2 = ZERO;
|
{
|
||||||
tokenPrec.get(0, app1);
|
/* Se siamo in una liquidazione trimestrale e stiamo calcolando il primo trimestre
|
||||||
tokenPrec.get(1, app2);
|
* andiamo a prendere i dati da LAM */
|
||||||
tokenPrec.get(2, appReal);
|
if(!mensile && start <= 3)
|
||||||
creprec = creprec + appReal;
|
{
|
||||||
|
// Recupero il record di LAM del mese precedente
|
||||||
|
TRectype tempLam = getLAM(anno, start - 1);
|
||||||
|
// Calcolo eventuale credito
|
||||||
|
real appCredito = tempLam.get_real("R0") - tempLam.get_real("R1");
|
||||||
|
// Se c'è un credito lo scrivo
|
||||||
|
if(appCredito > ZERO)
|
||||||
|
creprec = creprec + appCredito;
|
||||||
|
}
|
||||||
|
/* Se sono in una liquidazione mensile o nel primo mese di una trimestrale
|
||||||
|
* es. aprile ((4 - 1) % 3) = 0, maggio ((5 - 1) % 3) = 1 */
|
||||||
|
else if(mensile || (!mensile && ((start - 1) % 3) == 0))
|
||||||
|
{
|
||||||
|
TString key; key << anno << "|" << start - 1 << "|U";
|
||||||
|
real appCredito(cache().get(LF_IVALIQ, key, "IVADOVC"));
|
||||||
|
if(appCredito > ZERO)
|
||||||
|
creprec = creprec + appCredito;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Credito anno precedente
|
// Credito anno precedente
|
||||||
creaprec = creaprec + rowLia.get_real("R0");
|
/* Per calcolare il credito dell'anno precedente inizio a leggere i record precedenti su IVALIQ
|
||||||
|
* fino a quando ne trovo uno >= 0.
|
||||||
|
* Questi geni hanno messo la possibilità di mettere un valore <0 se voglio utilizzare del credito precedente */
|
||||||
|
if(start > 1 && (mensile || (!mensile && ((start - 1) % 3) == 0)))
|
||||||
|
{
|
||||||
|
TRelation ivaLiq(LF_IVALIQ);
|
||||||
|
TRectype filter(ivaLiq.curr()); filter.put("ANNO", anno);
|
||||||
|
TSorted_cursor curLiq(&ivaLiq, "MESE-", "GENERATA!=\"G\"", 1, &filter, &filter);
|
||||||
|
bool trovato = false;
|
||||||
|
for(curLiq = 0; curLiq.pos() < curLiq.items() && !trovato; ++curLiq)
|
||||||
|
{
|
||||||
|
TRectype rowLiq = curLiq.curr();
|
||||||
|
creaprec = creaprec + rowLiq.get_real("CREAPREC") - rowLiq.get_real("IVADOV");
|
||||||
|
|
||||||
|
// Se è > 0 Ho trovato il primo valore messo nella dichiarazione
|
||||||
|
if(rowLiq.get_real("CREAPREC") > ZERO)
|
||||||
|
{
|
||||||
|
trovato = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!trovato)
|
||||||
|
{
|
||||||
|
creaprec = rowLia.get_real("R0");
|
||||||
|
}
|
||||||
|
else if(creaprec < ZERO)
|
||||||
|
{
|
||||||
|
creaprec = ZERO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* Se siamo in una liquidazione trimestrale la scadenza della dichiarazione IVA è il 28 febbraio
|
||||||
|
* quindi so per certo che il valore calcolato in LIA.R0 è stato trasmesso */
|
||||||
|
else if(!mensile && start == 3)
|
||||||
|
{
|
||||||
|
creaprec = rowLia.get_real("R0");
|
||||||
|
}
|
||||||
|
|
||||||
intliqtri = intliqtri + rowLim.get_real("R14");
|
intliqtri = intliqtri + rowLim.get_real("R14");
|
||||||
accdov = accdov + rowLim.get_real("R11");
|
accdov = accdov + rowLim.get_real("R11");
|
||||||
@ -544,12 +600,146 @@ void ComLiqPerIva_mask::extractinator() // Per gli amici GTFO
|
|||||||
set(F_CRESPEC, crespec);
|
set(F_CRESPEC, crespec);
|
||||||
set(F_VEREFF, vereff);
|
set(F_VEREFF, vereff);
|
||||||
|
|
||||||
|
// Preparo il record
|
||||||
|
saveGen();
|
||||||
// Azzero i booleani
|
// Azzero i booleani
|
||||||
for(int i = B_TOTOPATT; i <= B_CRESPEC; i++)
|
for(int i = B_TOTOPATT; i <= B_CRESPEC; i++)
|
||||||
{
|
{
|
||||||
set(i, "");
|
set(i, "");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ComLiqPerIva_mask::saveGen()
|
||||||
|
{
|
||||||
|
// Assegno tutti i campi
|
||||||
|
trueData.put("ANNO", get(F_ANNO));
|
||||||
|
trueData.put("MESE", get(F_MESE));
|
||||||
|
trueData.put("TRIMESTRE", get(F_TRIMESTRE));
|
||||||
|
trueData.put("GENERATA", 'G'); // Segno che è generata da campo
|
||||||
|
trueData.put("TOTOPATT", get(F_TOTOPATT));
|
||||||
|
trueData.put("TOTOPATTXC", get(F_TOTOPATTXC));
|
||||||
|
trueData.put("TOTOPPAS", get(F_TOTOPPAS));
|
||||||
|
trueData.put("TOTOPPASXC", get(F_TOTOPPASXC));
|
||||||
|
trueData.put("IVAES", get(F_IVAES));
|
||||||
|
trueData.put("IVAESXC", get(F_IVAESXC));
|
||||||
|
trueData.put("IVAESDIFF", get(F_IVAESDIFF));
|
||||||
|
trueData.put("IVADET", get(F_IVADET));
|
||||||
|
trueData.put("IVADETXC", get(F_IVADETXC));
|
||||||
|
trueData.put("IVADETDIFF", get(F_IVADETDIFF));
|
||||||
|
trueData.put("IVADOV", get(F_IVADOV));
|
||||||
|
trueData.put("IVADOVC", get(F_IVADOVC));
|
||||||
|
trueData.put("DEBPREC", get(F_DEBPREC));
|
||||||
|
trueData.put("CREPREC", get(F_CREPREC));
|
||||||
|
trueData.put("CREAPREC", get(F_CREAPREC));
|
||||||
|
trueData.put("VEAUE", get(F_VEAUE));
|
||||||
|
trueData.put("CREIMP", get(F_CREIMP));
|
||||||
|
trueData.put("INTLIQTRI", get(F_INTLIQTRI));
|
||||||
|
trueData.put("ACCDOV", get(F_ACCDOV));
|
||||||
|
trueData.put("IVAVER", get(F_IVAVER));
|
||||||
|
trueData.put("IVAVERC", get(F_IVAVERC));
|
||||||
|
trueData.put("RETTIFICHE", get(F_RETTIFICHE));
|
||||||
|
trueData.put("VARIMP", get(F_VARIMP));
|
||||||
|
trueData.put("RIMBORSI", get(F_RIMBORSI));
|
||||||
|
trueData.put("CRESPEC", get(F_CRESPEC));
|
||||||
|
trueData.put("IMPNOVER", get(F_IMPNOVER));
|
||||||
|
trueData.put("VEREFF", get(F_VEREFF));
|
||||||
|
}
|
||||||
|
|
||||||
|
void ComLiqPerIva_mask::checkOldValue(int field, real val)
|
||||||
|
{
|
||||||
|
if(trueData.empty())
|
||||||
|
{
|
||||||
|
TString key; key << get(F_ANNO) << "|" << get(F_MESE) << "|G";
|
||||||
|
trueData = cache().get(LF_IVALIQ, key);
|
||||||
|
}
|
||||||
|
real trueVal = ZERO;
|
||||||
|
|
||||||
|
// Modo più intelligente di uno stupido switch case?
|
||||||
|
switch(field)
|
||||||
|
{
|
||||||
|
case F_TOTOPATT:
|
||||||
|
trueVal = trueData.get_real("TOTOPATT");
|
||||||
|
break;
|
||||||
|
case F_TOTOPATTXC:
|
||||||
|
trueVal = trueData.get_real("TOTOPATTXC");
|
||||||
|
break;
|
||||||
|
case F_TOTOPPAS:
|
||||||
|
trueVal = trueData.get_real("TOTOPPAS");
|
||||||
|
break;
|
||||||
|
case F_TOTOPPASXC:
|
||||||
|
trueVal = trueData.get_real("TOTOPPASXC");
|
||||||
|
break;
|
||||||
|
case F_IVAES:
|
||||||
|
trueVal = trueData.get_real("IVAES");
|
||||||
|
break;
|
||||||
|
case F_IVAESXC:
|
||||||
|
trueVal = trueData.get_real("IVAESXC");
|
||||||
|
break;
|
||||||
|
case F_IVAESDIFF:
|
||||||
|
trueVal = trueData.get_real("IVAESDIFF");
|
||||||
|
break;
|
||||||
|
case F_IVADET:
|
||||||
|
trueVal = trueData.get_real("IVADET");
|
||||||
|
break;
|
||||||
|
case F_IVADETXC:
|
||||||
|
trueVal = trueData.get_real("IVADETXC");
|
||||||
|
break;
|
||||||
|
case F_IVADETDIFF:
|
||||||
|
trueVal = trueData.get_real("IVADETDIF");
|
||||||
|
break;
|
||||||
|
case F_IVADOV:
|
||||||
|
trueVal = trueData.get_real("IVADOV");
|
||||||
|
break;
|
||||||
|
case F_IVADOVC:
|
||||||
|
trueVal = trueData.get_real("IVADOVC");
|
||||||
|
break;
|
||||||
|
case F_DEBPREC:
|
||||||
|
trueVal = trueData.get_real("DEBPREC");
|
||||||
|
break;
|
||||||
|
case F_CREPREC:
|
||||||
|
trueVal = trueData.get_real("CREPREC");
|
||||||
|
break;
|
||||||
|
case F_CREAPREC:
|
||||||
|
trueVal = trueData.get_real("CREAPREC");
|
||||||
|
break;
|
||||||
|
case F_VEAUE:
|
||||||
|
trueVal = trueData.get_real("VEAUE");
|
||||||
|
break;
|
||||||
|
case F_CREIMP:
|
||||||
|
trueVal = trueData.get_real("CREIMP");
|
||||||
|
break;
|
||||||
|
case F_INTLIQTRI:
|
||||||
|
trueVal = trueData.get_real("INTLIQTRI");
|
||||||
|
break;
|
||||||
|
case F_ACCDOV:
|
||||||
|
trueVal = trueData.get_real("ACCDOV");
|
||||||
|
break;
|
||||||
|
case F_IVAVER:
|
||||||
|
trueVal = trueData.get_real("IVAVER");
|
||||||
|
break;
|
||||||
|
case F_IVAVERC:
|
||||||
|
trueVal = trueData.get_real("IVAVERC");
|
||||||
|
break;
|
||||||
|
case F_RETTIFICHE:
|
||||||
|
trueVal = trueData.get_real("RETTIFICHE");
|
||||||
|
break;
|
||||||
|
case F_VARIMP:
|
||||||
|
trueVal = trueData.get_real("VARIMP");
|
||||||
|
break;
|
||||||
|
case F_RIMBORSI:
|
||||||
|
trueVal = trueData.get_real("RIMBORSI");
|
||||||
|
break;
|
||||||
|
case F_CRESPEC:
|
||||||
|
trueVal = trueData.get_real("CRESPEC");
|
||||||
|
break;
|
||||||
|
case F_IMPNOVER:
|
||||||
|
trueVal = trueData.get_real("IMPNOVER");
|
||||||
|
break;
|
||||||
|
case F_VEREFF:
|
||||||
|
trueVal = trueData.get_real("VEREFF");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
set(field + 50, trueVal != val ? "X" : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
class ComLiqPerIva_app : public TRelation_application
|
class ComLiqPerIva_app : public TRelation_application
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#define F_CRESPEC 132
|
#define F_CRESPEC 132
|
||||||
#define F_IMPNOVER 133
|
#define F_IMPNOVER 133
|
||||||
#define F_VEREFF 134
|
#define F_VEREFF 134
|
||||||
|
#define F_GENERATA 135
|
||||||
|
|
||||||
|
|
||||||
/* Booleani controllo modifiche (+50 rispetto al campo a cui si riferisce) */
|
/* Booleani controllo modifiche (+50 rispetto al campo a cui si riferisce) */
|
||||||
|
@ -54,6 +54,7 @@ BEGIN
|
|||||||
FIELD ANNO
|
FIELD ANNO
|
||||||
PROMPT 1 2 "Anno "
|
PROMPT 1 2 "Anno "
|
||||||
USE LF_IVALIQ
|
USE LF_IVALIQ
|
||||||
|
SELECT GENERATA=="U"
|
||||||
INPUT ANNO F_ANNO
|
INPUT ANNO F_ANNO
|
||||||
INPUT MESE F_MESE
|
INPUT MESE F_MESE
|
||||||
INPUT TRIMESTRE F_TRIMESTRE
|
INPUT TRIMESTRE F_TRIMESTRE
|
||||||
@ -96,6 +97,17 @@ BEGIN
|
|||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Parte di chiave nascosta */
|
||||||
|
LISTBOX F_GENERATA 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 75 2 ""
|
||||||
|
ITEM "U|U"
|
||||||
|
KEY 1
|
||||||
|
FIELD GENERATA
|
||||||
|
FLAGS "GD"
|
||||||
|
END
|
||||||
|
/* *********************** */
|
||||||
|
|
||||||
NUMBER F_TRIMESTRE 2
|
NUMBER F_TRIMESTRE 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 50 2 "Trimestre "
|
PROMPT 50 2 "Trimestre "
|
||||||
@ -129,7 +141,7 @@ ENDPAGE
|
|||||||
|
|
||||||
NUMBER F_TOTOPATT 16 2
|
NUMBER F_TOTOPATT 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 4 "Totale op. attive "
|
PROMPT 1 4 "Totale op. attive VP2 "
|
||||||
FIELD TOTOPATT
|
FIELD TOTOPATT
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -157,7 +169,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_TOTOPPAS 16 2
|
NUMBER F_TOTOPPAS 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 50 4 "Totale op. passive "
|
PROMPT 50 4 "Totale op. passive VP3 "
|
||||||
FIELD TOTOPPAS
|
FIELD TOTOPPAS
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -185,7 +197,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_IVAES 16 2
|
NUMBER F_IVAES 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 6 "IVA esigibile "
|
PROMPT 1 6 "IVA esigibile VP4 "
|
||||||
FIELD IVAES
|
FIELD IVAES
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -227,7 +239,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_IVADET 16 2
|
NUMBER F_IVADET 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 50 6 "IVA detratta "
|
PROMPT 50 6 "IVA detratta VP5 "
|
||||||
FIELD IVADET
|
FIELD IVADET
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -269,7 +281,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_IVADOV 16 2
|
NUMBER F_IVADOV 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 10 "IVA dovuta "
|
PROMPT 1 10 "IVA dovuta VP6.1 "
|
||||||
FIELD IVADOV
|
FIELD IVADOV
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -283,7 +295,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_IVADOVC 16 2
|
NUMBER F_IVADOVC 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 50 10 "o a credito "
|
PROMPT 50 10 "o a credito VP6.2 "
|
||||||
FIELD IVADOVC
|
FIELD IVADOVC
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -297,7 +309,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_DEBPREC 16 2
|
NUMBER F_DEBPREC 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 12 "Debito precedente "
|
PROMPT 1 12 "Debito precedente VP7 "
|
||||||
FIELD DEBPREC
|
FIELD DEBPREC
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -311,7 +323,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_CREPREC 16 2
|
NUMBER F_CREPREC 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 50 12 "Credito precedente "
|
PROMPT 50 12 "Credito precedente VP8 "
|
||||||
FIELD CREPREC
|
FIELD CREPREC
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -325,7 +337,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_INTLIQTRI 16 2
|
NUMBER F_INTLIQTRI 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 13 "Interessi liq. trim. "
|
PROMPT 1 13 "Int. liq. trim. VP12 "
|
||||||
FIELD INTLIQTRI
|
FIELD INTLIQTRI
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -339,7 +351,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_CREAPREC 16 2
|
NUMBER F_CREAPREC 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 50 13 "Credito anno precedente"
|
PROMPT 50 13 "Credito anno prec. VP9 "
|
||||||
FIELD CREAPREC
|
FIELD CREAPREC
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -353,7 +365,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_ACCDOV 16 2
|
NUMBER F_ACCDOV 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 14 "Acconto dovuto "
|
PROMPT 1 14 "Acconto dovuto VP13 "
|
||||||
FIELD ACCDOV
|
FIELD ACCDOV
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -367,7 +379,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_VEAUE 16 2
|
NUMBER F_VEAUE 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 50 14 "Versamenti auto UE "
|
PROMPT 50 14 "Versamenti auto UE VP10"
|
||||||
FIELD VEAUE
|
FIELD VEAUE
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -381,7 +393,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_CREIMP 16 2
|
NUMBER F_CREIMP 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 50 15 "Crediti di imposta "
|
PROMPT 50 15 "Crediti di imp. VP11 "
|
||||||
FIELD CREIMP
|
FIELD CREIMP
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -451,7 +463,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_IVAVER 16 2
|
NUMBER F_IVAVER 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 19 "IVA da versare "
|
PROMPT 1 19 "IVA da versare VP14.1 "
|
||||||
FIELD IVAVER
|
FIELD IVAVER
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -465,7 +477,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_IVAVERC 16 2
|
NUMBER F_IVAVERC 16 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 50 19 "o a credito "
|
PROMPT 50 19 "o a credito VP14.2 "
|
||||||
FIELD IVAVERC
|
FIELD IVAVERC
|
||||||
FLAGS ""
|
FLAGS ""
|
||||||
END
|
END
|
||||||
@ -479,19 +491,18 @@ END
|
|||||||
|
|
||||||
/* Campi non visualizzati ma che vengono salvati lo stesso! */
|
/* Campi non visualizzati ma che vengono salvati lo stesso! */
|
||||||
|
|
||||||
NUMBER F_IMPNOVER 1 1
|
NUMBER F_IMPNOVER 18 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 50 19 "Imposta non versata"
|
PROMPT 50 19 "Imposta non versata"
|
||||||
FIELD IMPNOVER
|
FIELD IMPNOVER
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_VEREFF 1 1
|
NUMBER F_VEREFF 18 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 50 19 "Versamenti effettuati"
|
PROMPT 50 19 "Versamenti effettuati"
|
||||||
FIELD VEREFF
|
FIELD VEREFF
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
@ -36,9 +36,8 @@ const TRectype getLiq(int anno, int mese)
|
|||||||
{
|
{
|
||||||
TString key; key << anno << "|";
|
TString key; key << anno << "|";
|
||||||
if(mese < 10)
|
if(mese < 10)
|
||||||
key << "0" << mese;
|
key << "0";
|
||||||
else
|
key << mese << "|U";
|
||||||
key << mese;
|
|
||||||
return cache().get(LF_IVALIQ, key);
|
return cache().get(LF_IVALIQ, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -272,6 +271,7 @@ TToken_string TIvaSend_app::getTestata(TIvaSend_msk& msk)
|
|||||||
testata.add(""); // Flag Firma Intermediario
|
testata.add(""); // Flag Firma Intermediario
|
||||||
testata.add(""); // Flag Conferma
|
testata.add(""); // Flag Conferma
|
||||||
testata.add(get_iva_sirio());
|
testata.add(get_iva_sirio());
|
||||||
|
// Ricorda! Il programma di Leo vuole true = 'S', false = '' !
|
||||||
return testata;
|
return testata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,6 +44,7 @@ NUMBER F_ANNO 4
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 3 "Anno "
|
PROMPT 1 3 "Anno "
|
||||||
USE LF_IVALIQ
|
USE LF_IVALIQ
|
||||||
|
SELECT GENERATA=="U"
|
||||||
INPUT ANNO F_ANNO
|
INPUT ANNO F_ANNO
|
||||||
DISPLAY "Anno Liquid.IVA" ANNO
|
DISPLAY "Anno Liquid.IVA" ANNO
|
||||||
DiSPLAY "Mese" MESE
|
DiSPLAY "Mese" MESE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user