Patch level : 12.0 436
Files correlati : tf Commento : - Aggiunta nuovo programma cambio stato TF0100: - Tolta detraibilità - Tolti campi inutili dalla maschera - Spostata funzione checkRecord in tfutility - Aggiunti (disabilitati) a menù i nuovi programmi git-svn-id: svn://10.65.10.50/branches/R_10_00@24053 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
b6fe090da8
commit
fe7c5f30df
@ -8,8 +8,8 @@ int main(int argc, char** argv)
|
|||||||
|
|
||||||
switch (r)
|
switch (r)
|
||||||
{
|
{
|
||||||
|
|
||||||
case 1 : rt = tf0200(argc, argv); break; // Comunicazione Liquidazioni Periodiche IVA
|
case 1 : rt = tf0200(argc, argv); break; // Comunicazione Liquidazioni Periodiche IVA
|
||||||
|
//case 2 : rt = tf0300(argc, argv); break; // Cambio stato invio
|
||||||
case 3 : rt = tf0400(argc, argv); break; // Controllo Spesometro
|
case 3 : rt = tf0400(argc, argv); break; // Controllo Spesometro
|
||||||
case 4 : rt = tf0500(argc, argv); break; // Invio IVA
|
case 4 : rt = tf0500(argc, argv); break; // Invio IVA
|
||||||
default: rt = tf0100(argc, argv); break; // Spesometro
|
default: rt = tf0100(argc, argv); break; // Spesometro
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
int tf0100(int argc, char* argv[]);
|
int tf0100(int argc, char* argv[]);
|
||||||
int tf0200(int argc, char* argv[]);
|
int tf0200(int argc, char* argv[]);
|
||||||
|
int tf0300(int argc, char* argv[]);
|
||||||
int tf0400(int argc, char* argv[]);
|
int tf0400(int argc, char* argv[]);
|
||||||
int tf0500(int argc, char* argv[]);
|
int tf0500(int argc, char* argv[]);
|
||||||
|
|
||||||
|
@ -1325,17 +1325,21 @@ bool TTrFa_app::tff2200(TToken_string* strarr, int nriga)
|
|||||||
TRectype thisMov = cache().get(LF_MOV, strarr->get(_numero));
|
TRectype thisMov = cache().get(LF_MOV, strarr->get(_numero));
|
||||||
tff2200f.set("PL_ESIGIVA", is_split_payment(thisMov) ? "S" : is_IVA_diff(thisMov) || is_IVAxCassa(thisMov) ? "D" : "I");
|
tff2200f.set("PL_ESIGIVA", is_split_payment(thisMov) ? "S" : is_IVA_diff(thisMov) || is_IVAxCassa(thisMov) ? "D" : "I");
|
||||||
tff2200f.set("PL_NATURA", strarr->get(_natura));
|
tff2200f.set("PL_NATURA", strarr->get(_natura));
|
||||||
|
|
||||||
|
/* Tutto disabilitato! *************************************
|
||||||
|
|
||||||
real det(strarr->get(_detraibile));
|
real det(strarr->get(_detraibile));
|
||||||
// Nella conversione la vigola viene persa e 100,00 diventa 10.000 quindi divido
|
// Nella conversione la vigola viene persa e 100,00 diventa 10.000 quindi divido
|
||||||
det /= CENTO;
|
det /= CENTO;
|
||||||
if(det > ZERO)
|
if(det > ZERO)
|
||||||
{
|
{
|
||||||
tff2200f.set("PL_DETRAIBILE", det);
|
tff2200f.set("PL_DETRAIBILE", CENTO - det);
|
||||||
}
|
}
|
||||||
else if(false) // Sempre disabilitato!
|
else if(false) // Sempre disabilitato!
|
||||||
{
|
{
|
||||||
tff2200f.set("PL_DEDUCIBILE", "SI");
|
tff2200f.set("PL_DEDUCIBILE", "SI");
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
tff2200f.set("PL_GESTIONE", "D");
|
tff2200f.set("PL_GESTIONE", "D");
|
||||||
return tff2200f.insert();
|
return tff2200f.insert();
|
||||||
|
@ -342,7 +342,6 @@ BEGIN
|
|||||||
ITEM "N5|N5 - IVA in regime del margine"
|
ITEM "N5|N5 - IVA in regime del margine"
|
||||||
ITEM "N6|N6 - IVA in reverse charge"
|
ITEM "N6|N6 - IVA in reverse charge"
|
||||||
ITEM "N7|N7 - IVA assolta in altro stato U3"
|
ITEM "N7|N7 - IVA assolta in altro stato U3"
|
||||||
FIELD S12
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING A_ALIQUOTA 4
|
STRING A_ALIQUOTA 4
|
||||||
@ -375,26 +374,22 @@ END
|
|||||||
NUMBER A_IMPONIBILE 12 2
|
NUMBER A_IMPONIBILE 12 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 42 8 "Imponibile"
|
PROMPT 42 8 "Imponibile"
|
||||||
FIELD IMPORTO
|
|
||||||
CHEKTYPE REQUIRED
|
CHEKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER A_IMPOSTA 12 2
|
NUMBER A_IMPOSTA 12 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 42 9 "Imposta "
|
PROMPT 42 9 "Imposta "
|
||||||
FIELD IMPOSTA
|
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN A_REVERSE
|
BOOLEAN A_REVERSE
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 9 "Reverse charge"
|
PROMPT 1 9 "Reverse charge"
|
||||||
FIELD REVERSE
|
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN A_AUTOFATT
|
BOOLEAN A_AUTOFATT
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 9 "Autofattura"
|
PROMPT 25 9 "Autofattura"
|
||||||
FIELD AUTOFATT
|
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -44,7 +44,6 @@ enum filter_fatt
|
|||||||
disabled // Disabilitate
|
disabled // Disabilitate
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MOV_CUSTOM 10000000
|
|
||||||
#define SHEET_GAP 101
|
#define SHEET_GAP 101
|
||||||
#define DTE_PROVV "DTE0000001"
|
#define DTE_PROVV "DTE0000001"
|
||||||
#define DTR_PROVV "DTR0000001"
|
#define DTR_PROVV "DTR0000001"
|
||||||
@ -172,7 +171,6 @@ class TTrFa_cursors : TObject
|
|||||||
|
|
||||||
TRectype _next(return_code& code, TString& tipocf, TString& codcf, TString& ocfpi); // Si sposta avanti di un elemento
|
TRectype _next(return_code& code, TString& tipocf, TString& codcf, TString& ocfpi); // Si sposta avanti di un elemento
|
||||||
TRectype _nextCust(return_code& code, TString& tipocf, TString& codcf, TString& ocfpi); // Si sposta avanti di un elemento tra quelli custom
|
TRectype _nextCust(return_code& code, TString& tipocf, TString& codcf, TString& ocfpi); // Si sposta avanti di un elemento tra quelli custom
|
||||||
bool checkRecord(TISAM_recordset* rec);
|
|
||||||
public:
|
public:
|
||||||
//TTrFa_cursors();
|
//TTrFa_cursors();
|
||||||
~TTrFa_cursors();
|
~TTrFa_cursors();
|
||||||
|
@ -152,29 +152,6 @@ TRectype TTrFa_cursors::_nextCust(return_code& code, TString& tipocf, TString& c
|
|||||||
return c_trasfatt->cursor()->curr();
|
return c_trasfatt->cursor()->curr();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Utilizzo questa funzione per filtrare al meglio i record, tutti i casi che devo omettere verranno rilevati e ritorneranno false
|
|
||||||
* Nota bene: viene sfruttato un puntatore di TISA_Recordset per non creare nuovi oggetti e velocizzare la chiamata
|
|
||||||
* a questo punto il programma non ha ancora creato un record di $trasfatt con i dati che mi interessano
|
|
||||||
*/
|
|
||||||
bool TTrFa_cursors::checkRecord(TISAM_recordset* rec)
|
|
||||||
{
|
|
||||||
|
|
||||||
TString keyClifo; keyClifo << rec->get("23.TIPO").as_string() << "|" << rec->get("23.CODCF").as_string();
|
|
||||||
// Salto le schede carburanti
|
|
||||||
if(cache().get(LF_CLIFO, keyClifo, "ALLEG") == "C")
|
|
||||||
return false;
|
|
||||||
|
|
||||||
// Clienti
|
|
||||||
if(rec->get("23.TIPO").as_string() == "C")
|
|
||||||
{
|
|
||||||
// Tolgo tutti i movimenti di sola IVA e in reverse charge o di tipo 3 (Acquisto di beni e servizi di soggetti non residenti)
|
|
||||||
TCausale caus(rec->get("23.CODCAUS").as_string());
|
|
||||||
if(caus.soloiva() && (caus.reverse_charge() || caus.regime_speciale() == 3))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
int TTrFa_cursors::updateFilters(const char tipocf, const long codcf, TDate dal, TDate al, int cod)
|
int TTrFa_cursors::updateFilters(const char tipocf, const long codcf, TDate dal, TDate al, int cod)
|
||||||
{
|
{
|
||||||
|
@ -3,7 +3,9 @@ Caption = "Trasferimento Fatture"
|
|||||||
Picture = <cg01>
|
Picture = <cg01>
|
||||||
Module = tf
|
Module = tf
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Trasferimento Fatture", "tf0 -0", ""
|
Item_01 = "Trasferimento Fatture", "tf0 -0", ""+
|
||||||
Item_02 = "Controllo Spesometro", "tf0 -3", ""
|
//Item_02 = "Cambio stato Spesometro", "tf0 -2", ""
|
||||||
Item_03 = "Liquidazione IVA Periodica", "tf0 -1", ""
|
//Item_03 = "Controllo Spesometro", "tf0 -3", ""
|
||||||
Item_04 = "Invio Liquidazione IVA Periodica", "tf0 -4", ""
|
Item_04 = "Report Spesometro", "ba8 -4 totiva_aliq.rep", ""
|
||||||
|
Item_05 = "Liquidazione IVA Periodica", "tf0 -1", ""
|
||||||
|
Item_06 = "Invio Liquidazione IVA Periodica", "tf0 -4", ""
|
||||||
|
@ -76,3 +76,32 @@ TString getRFSO(TString codrfso)
|
|||||||
TString key; key << codrfso[0] << "|" << codrfso.mid(1);
|
TString key; key << codrfso[0] << "|" << codrfso.mid(1);
|
||||||
return cache().get(LF_ANAG, key, "RAGSOC");
|
return cache().get(LF_ANAG, key, "RAGSOC");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Utilizzo questa funzione per filtrare al meglio i record, tutti i casi che devo omettere verranno rilevati e ritorneranno false
|
||||||
|
* Nota bene: viene sfruttato un puntatore di TISA_Recordset per non creare nuovi oggetti e velocizzare la chiamata
|
||||||
|
* a questo punto il programma non ha ancora creato un record di $trasfatt con i dati che mi interessano
|
||||||
|
*/
|
||||||
|
bool checkRecord(TISAM_recordset* rec)
|
||||||
|
{
|
||||||
|
|
||||||
|
TString keyClifo; keyClifo << rec->get("23.TIPO").as_string() << "|" << rec->get("23.CODCF").as_string();
|
||||||
|
TRectype rclifo = cache().get(LF_CLIFO, keyClifo);
|
||||||
|
// Salto le schede carburanti
|
||||||
|
if(rclifo.get("ALLEG") == "C")
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// Clienti
|
||||||
|
if(rec->get("23.TIPO").as_string() == "C")
|
||||||
|
{
|
||||||
|
// Tolgo tutti i movimenti di sola IVA e in reverse charge o di tipo 3 (Acquisto di beni e servizi di soggetti non residenti)
|
||||||
|
TCausale caus(rec->get("23.CODCAUS").as_string());
|
||||||
|
if(caus.soloiva() && (caus.reverse_charge() || caus.regime_speciale() == 3))
|
||||||
|
return false;
|
||||||
|
} else if(rclifo.get("PAIV")[0] != '0' && rclifo.get("PAIV")[0] != '1' && rclifo.get("COFI")[0] >= '8')
|
||||||
|
// Salto tutti i fornitori con cod cf che inizia per 8 o 9 e con p.iva non valida
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
@ -1,7 +1,9 @@
|
|||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
#include <recset.h>
|
#include <recset.h>
|
||||||
|
|
||||||
// Funzioni comode per più programmi
|
// Funzioni/Costanti comode per più programmi
|
||||||
|
|
||||||
|
#define MOV_CUSTOM 10000000
|
||||||
|
|
||||||
// Ritorna il record custom
|
// Ritorna il record custom
|
||||||
TRectype getTrasFatt(TString reg, TString codiva);
|
TRectype getTrasFatt(TString reg, TString codiva);
|
||||||
@ -19,3 +21,5 @@ TString findDetraib(TString tipodet);
|
|||||||
TString revCharge(TString numreg);
|
TString revCharge(TString numreg);
|
||||||
// Ritorna la ragione sociale del RFSO
|
// Ritorna la ragione sociale del RFSO
|
||||||
TString getRFSO(TString codrfso);
|
TString getRFSO(TString codrfso);
|
||||||
|
// Controllo che sia un record che mi interessa
|
||||||
|
bool checkRecord(TISAM_recordset* rec);
|
Loading…
x
Reference in New Issue
Block a user