Patch level : 12.0 502
Files correlati : tf Commento : - Aggiunta colonna per tipo documento TD e tipo documento normale - Corretta inizializzazione TCausale in tutti i punti del programma (non sapevo servisse l'anno quando è stato fatto tutto) git-svn-id: svn://10.65.10.50/branches/R_10_00@24288 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
8fdba33e3a
commit
388e9345fc
@ -246,6 +246,7 @@ bool saveRec(TToken_string row, bool esportato)
|
|||||||
rCust.put("CODCF", row.get(_codcf));
|
rCust.put("CODCF", row.get(_codcf));
|
||||||
rCust.put("OCCAS", row.get(_occas));
|
rCust.put("OCCAS", row.get(_occas));
|
||||||
rCust.put("TIPODOC", row.get(_codnum));
|
rCust.put("TIPODOC", row.get(_codnum));
|
||||||
|
rCust.put("TIPODOCAE", row.get(_codnumAE));
|
||||||
rCust.put("NUMDOC", row.get(_numdoc));
|
rCust.put("NUMDOC", row.get(_numdoc));
|
||||||
rCust.put("DATAREG", row.get(_datareg));
|
rCust.put("DATAREG", row.get(_datareg));
|
||||||
rCust.put("DATADOC", row.get(_datadoc));
|
rCust.put("DATADOC", row.get(_datadoc));
|
||||||
@ -1350,7 +1351,7 @@ bool TTrFa_app::tff0700(TSheet_field& sheet)
|
|||||||
|
|
||||||
TString natura = strarr->get(_natura);
|
TString natura = strarr->get(_natura);
|
||||||
|
|
||||||
tff0700f.set("P7_TIPODOC", strarr->get(_codnum));
|
tff0700f.set("P7_TIPODOC", strarr->get(_codnumAE));
|
||||||
|
|
||||||
// Controllo il tipo di esigilità
|
// Controllo il tipo di esigilità
|
||||||
tff0700f.set("P7_DATA", toDate(strarr->get(_datadoc)));
|
tff0700f.set("P7_DATA", toDate(strarr->get(_datadoc)));
|
||||||
|
@ -30,27 +30,28 @@
|
|||||||
|
|
||||||
#define A_DATAREG 101
|
#define A_DATAREG 101
|
||||||
#define A_TIPODOC 102
|
#define A_TIPODOC 102
|
||||||
#define A_NUMDOC 103
|
#define A_TIPODOCAE 103
|
||||||
#define A_DATADOC 104
|
#define A_NUMDOC 104
|
||||||
#define A_ALIQUOTA 105
|
#define A_DATADOC 105
|
||||||
#define A_IMPONIBILE 106
|
#define A_ALIQUOTA 106
|
||||||
#define A_IMPOSTA 107
|
#define A_IMPONIBILE 107
|
||||||
#define A_NATURA 108
|
#define A_IMPOSTA 108
|
||||||
#define A_DETRAIB 109
|
#define A_NATURA 109
|
||||||
#define A_TIPOCF 110
|
#define A_DETRAIB 110
|
||||||
#define A_CODCF 111
|
#define A_TIPOCF 111
|
||||||
#define A_OCFPI 112
|
#define A_CODCF 112
|
||||||
#define A_RAGSOC 113
|
#define A_OCFPI 113
|
||||||
#define A_RFSO 114
|
#define A_RAGSOC 114
|
||||||
#define A_RAGSOCRFSO 115
|
#define A_RFSO 115
|
||||||
#define A_PAIV 116
|
#define A_RAGSOCRFSO 116
|
||||||
#define A_COFI 117
|
#define A_PAIV 117
|
||||||
#define A_REVERSE 118
|
#define A_COFI 118
|
||||||
#define A_AUTOFATT 119
|
#define A_REVERSE 119
|
||||||
#define A_SPEDITA 120
|
#define A_AUTOFATT 120
|
||||||
#define A_INVIO 121
|
#define A_SPEDITA 121
|
||||||
#define A_FORZATA 122
|
#define A_INVIO 122
|
||||||
#define A_NUMERO 123
|
#define A_FORZATA 123
|
||||||
#define A_CODERR 124
|
#define A_NUMERO 124
|
||||||
|
#define A_CODERR 125
|
||||||
|
|
||||||
#define END_SHEET 124
|
#define END_SHEET 125
|
@ -173,7 +173,8 @@ SPREADSHEET F_RIGHE
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 0 "Righe movimenti"
|
PROMPT 0 0 "Righe movimenti"
|
||||||
ITEM "Data\n Reg.@8F"
|
ITEM "Data\n Reg.@8F"
|
||||||
ITEM "Tipo\nDocum.@5F"
|
ITEM "Tipo\nDocum.@2F"
|
||||||
|
ITEM "Tipo\nDoc. AE.@5F"
|
||||||
ITEM "Numero\nDocum.@5F"
|
ITEM "Numero\nDocum.@5F"
|
||||||
ITEM "Data\nDocum.@10"
|
ITEM "Data\nDocum.@10"
|
||||||
ITEM "Aliquota@4"
|
ITEM "Aliquota@4"
|
||||||
@ -313,7 +314,22 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST A_TIPODOC 6
|
STRING A_TIPODOC 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 23 6 "Tipo doc. "
|
||||||
|
FIELD TIPODOC
|
||||||
|
USE %TPD
|
||||||
|
INPUT CODTAB A_TIPODOC
|
||||||
|
DISPLAY "Tipo " CODTAB
|
||||||
|
DISPLAY "Descrizione @50" S0
|
||||||
|
OUTPUT A_TIPODOC CODTAB
|
||||||
|
WARNING "Tipo documento errato"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
FLAGS "HUD"
|
||||||
|
ADD NONE
|
||||||
|
END
|
||||||
|
|
||||||
|
LIST A_TIPODOCAE 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 23 6 "Tipo doc. "
|
PROMPT 23 6 "Tipo doc. "
|
||||||
ITEM "TD01|TD01"
|
ITEM "TD01|TD01"
|
||||||
|
@ -78,6 +78,7 @@ enum spesometroFields{
|
|||||||
_rfso = A_RFSO - SHEET_GAP,
|
_rfso = A_RFSO - SHEET_GAP,
|
||||||
_ragsocrfso = A_RAGSOCRFSO - SHEET_GAP,
|
_ragsocrfso = A_RAGSOCRFSO - SHEET_GAP,
|
||||||
_codnum = A_TIPODOC - SHEET_GAP,
|
_codnum = A_TIPODOC - SHEET_GAP,
|
||||||
|
_codnumAE = A_TIPODOCAE - SHEET_GAP,
|
||||||
_numdoc = A_NUMDOC - SHEET_GAP,
|
_numdoc = A_NUMDOC - SHEET_GAP,
|
||||||
_datadoc = A_DATADOC - SHEET_GAP,
|
_datadoc = A_DATADOC - SHEET_GAP,
|
||||||
_natura = A_NATURA - SHEET_GAP,
|
_natura = A_NATURA - SHEET_GAP,
|
||||||
|
@ -672,15 +672,16 @@ void TTrFa_mask::load_sheet()
|
|||||||
row.add(findDetraib(movimento.get("TIPODET")), _detraibile); // Detraibilità
|
row.add(findDetraib(movimento.get("TIPODET")), _detraibile); // Detraibilità
|
||||||
row.add(movimento.get_real("IMPONIBILE"), _imponibile); // Imponibile
|
row.add(movimento.get_real("IMPONIBILE"), _imponibile); // Imponibile
|
||||||
row.add(movimento.get_real("IMPOSTA"), _importoIVA); // Imposta
|
row.add(movimento.get_real("IMPOSTA"), _importoIVA); // Imposta
|
||||||
row.add(revCharge(movimento.get("NUMREG")), _reverse); // Rev.Charge
|
row.add(revCharge(movimento.get("NUMREG"), movimento.get_date("DATAREG").year()), _reverse); // Rev.Charge
|
||||||
|
|
||||||
// Calcolo il tipo documento alla fine per sicurezza
|
// Calcolo il tipo documento alla fine per sicurezza
|
||||||
static TString4 td;
|
static TString4 td;
|
||||||
td.cut(0) << movimento.get("TIPODOC");
|
td.cut(0) << movimento.get("TIPODOC");
|
||||||
if(isCust.full() && td.starts_with("TD"))
|
row.add(td, _codnum);
|
||||||
row.add(td, _codnum); // Tipo documento
|
if(isCust.full())
|
||||||
|
row.add(movimento.get("TIPODOCAE"), _codnumAE); // Tipo documento
|
||||||
else
|
else
|
||||||
row.add(decodTipo(&row, td), _codnum); // Tipo documento
|
row.add(decodTipo(&row, td), _codnumAE); // Tipo documento
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Possono esistere movimenti custom dove il cliente ha una partita IVA propria
|
* Possono esistere movimenti custom dove il cliente ha una partita IVA propria
|
||||||
@ -745,7 +746,7 @@ TTrFa_mask::TTrFa_mask(TString msk)
|
|||||||
loadConfig();
|
loadConfig();
|
||||||
|
|
||||||
// Controllo che abbia aggiornato le causali dopo l'ultima patch cg0500
|
// Controllo che abbia aggiornato le causali dopo l'ultima patch cg0500
|
||||||
bool ok = ini_get_int(CONFIG_INSTALL, "cg", "Patch") >= 500;
|
bool ok = ini_get_int(CONFIG_GENERAL, "cg", "Patch") >= 500;
|
||||||
if (!ok)
|
if (!ok)
|
||||||
{
|
{
|
||||||
if (is_debug_station())
|
if (is_debug_station())
|
||||||
|
@ -200,7 +200,7 @@ void TSpeCheck_msk::fillNoFilter()
|
|||||||
// RSOC RFSO
|
// RSOC RFSO
|
||||||
row.add(getRFSO(clifo.get("CODRFSO")), s.cid2index(A_RAGSOCRFSO));
|
row.add(getRFSO(clifo.get("CODRFSO")), s.cid2index(A_RAGSOCRFSO));
|
||||||
// RC
|
// RC
|
||||||
row.add((revCharge(rset.get("NUMREG").as_string())), s.cid2index(A_REVERSE));
|
row.add((revCharge(rset.get("NUMREG").as_string(), rset.get("23.DATAREG").as_date().year())), s.cid2index(A_REVERSE));
|
||||||
// AUTOFATT
|
// AUTOFATT
|
||||||
if(_ditta.partita_IVA() == clifo.get("PAIV"))
|
if(_ditta.partita_IVA() == clifo.get("PAIV"))
|
||||||
{
|
{
|
||||||
@ -277,6 +277,7 @@ void TSpeCheck_msk::fillDiff()
|
|||||||
|
|
||||||
row.add(rset.get("DATAREG").as_string(), s.cid2index(A_DATAREG));
|
row.add(rset.get("DATAREG").as_string(), s.cid2index(A_DATAREG));
|
||||||
row.add(rset.get("TIPODOC").as_string(), s.cid2index(A_TIPODOC));
|
row.add(rset.get("TIPODOC").as_string(), s.cid2index(A_TIPODOC));
|
||||||
|
row.add(rset.get("TIPODOCAE").as_string(), s.cid2index(A_TIPODOCAE));
|
||||||
row.add(rset.get("NUMDOC").as_string(), s.cid2index(A_NUMDOC));
|
row.add(rset.get("NUMDOC").as_string(), s.cid2index(A_NUMDOC));
|
||||||
row.add(rset.get("DATADOC").as_string(), s.cid2index(A_DATADOC));
|
row.add(rset.get("DATADOC").as_string(), s.cid2index(A_DATADOC));
|
||||||
row.add(rset.get("CODIVA").as_string(), s.cid2index(A_ALIQUOTA));
|
row.add(rset.get("CODIVA").as_string(), s.cid2index(A_ALIQUOTA));
|
||||||
@ -298,7 +299,7 @@ void TSpeCheck_msk::fillDiff()
|
|||||||
// RSOC RFSO
|
// RSOC RFSO
|
||||||
row.add(getRFSO(clifo.get("CODRFSO")), s.cid2index(A_RAGSOCRFSO));
|
row.add(getRFSO(clifo.get("CODRFSO")), s.cid2index(A_RAGSOCRFSO));
|
||||||
// RC
|
// RC
|
||||||
row.add((revCharge(rset.get("NUMREG").as_string())), s.cid2index(A_REVERSE));
|
row.add((revCharge(rset.get("NUMREG").as_string(), rset.get("DATAREG").as_date().year())), s.cid2index(A_REVERSE));
|
||||||
// AUTOFATT
|
// AUTOFATT
|
||||||
if(rset.get("AUTOFATT").as_string() == "X" || _ditta.partita_IVA() == clifo.get("PAIV"))
|
if(rset.get("AUTOFATT").as_string() == "X" || _ditta.partita_IVA() == clifo.get("PAIV"))
|
||||||
{
|
{
|
||||||
@ -380,7 +381,7 @@ void TSpeCheck_msk::foundHomeland(TToken_string& row, TString numreg, TString co
|
|||||||
// RSOC RFSO
|
// RSOC RFSO
|
||||||
row.add(getRFSO(clifo.get("CODRFSO")), s.cid2index(A_RAGSOCRFSO));
|
row.add(getRFSO(clifo.get("CODRFSO")), s.cid2index(A_RAGSOCRFSO));
|
||||||
// RC
|
// RC
|
||||||
row.add((revCharge(recMov.get("NUMREG"))), s.cid2index(A_REVERSE));
|
row.add((revCharge(recMov.get("NUMREG"), recMov.get_date("DATAREG").year())), s.cid2index(A_REVERSE));
|
||||||
// AUTOFATT
|
// AUTOFATT
|
||||||
if(_ditta.partita_IVA() == clifo.get("PAIV"))
|
if(_ditta.partita_IVA() == clifo.get("PAIV"))
|
||||||
{
|
{
|
||||||
@ -470,7 +471,7 @@ void TSpeCheck_msk::fillCust()
|
|||||||
// RSOC RFSO
|
// RSOC RFSO
|
||||||
row.add(getRFSO(clifo.get("CODRFSO")), s.cid2index(A_RAGSOCRFSO));
|
row.add(getRFSO(clifo.get("CODRFSO")), s.cid2index(A_RAGSOCRFSO));
|
||||||
// RC
|
// RC
|
||||||
row.add((revCharge(rset.get("NUMREG").as_string())), s.cid2index(A_REVERSE));
|
row.add((revCharge(rset.get("NUMREG").as_string(), rset.get("DATAREG").as_date().year())), s.cid2index(A_REVERSE));
|
||||||
// AUTOFATT
|
// AUTOFATT
|
||||||
if(rset.get("AUTOFATT").as_string() == "X" || _ditta.partita_IVA() == clifo.get("PAIV"))
|
if(rset.get("AUTOFATT").as_string() == "X" || _ditta.partita_IVA() == clifo.get("PAIV"))
|
||||||
{
|
{
|
||||||
@ -521,7 +522,6 @@ void TSpeCheck_msk::enableEdit(bool en)
|
|||||||
// Abilito/Disabilito le colonne
|
// Abilito/Disabilito le colonne
|
||||||
s.enable_column(s.cid2index(A_ELIMINA), en);
|
s.enable_column(s.cid2index(A_ELIMINA), en);
|
||||||
s.enable_column(s.cid2index(A_DATAREG),en);
|
s.enable_column(s.cid2index(A_DATAREG),en);
|
||||||
s.enable_column(s.cid2index(A_TIPODOC),en);
|
|
||||||
s.enable_column(s.cid2index(A_NUMDOC),en);
|
s.enable_column(s.cid2index(A_NUMDOC),en);
|
||||||
s.enable_column(s.cid2index(A_DATADOC),en);
|
s.enable_column(s.cid2index(A_DATADOC),en);
|
||||||
s.enable_column(s.cid2index(A_ALIQUOTA),en);
|
s.enable_column(s.cid2index(A_ALIQUOTA),en);
|
||||||
|
@ -11,22 +11,23 @@
|
|||||||
#define A_ELIMINA 101
|
#define A_ELIMINA 101
|
||||||
#define A_DATAREG 102
|
#define A_DATAREG 102
|
||||||
#define A_TIPODOC 103
|
#define A_TIPODOC 103
|
||||||
#define A_NUMDOC 104
|
#define A_TIPODOCAE 104
|
||||||
#define A_DATADOC 105
|
#define A_NUMDOC 105
|
||||||
#define A_ALIQUOTA 106
|
#define A_DATADOC 106
|
||||||
#define A_IMPONIBILE 107
|
#define A_ALIQUOTA 107
|
||||||
#define A_IMPOSTA 108
|
#define A_IMPONIBILE 108
|
||||||
#define A_NATURA 109
|
#define A_IMPOSTA 109
|
||||||
#define A_DETRAIB 110
|
#define A_NATURA 110
|
||||||
#define A_TIPOCF 111
|
#define A_DETRAIB 111
|
||||||
#define A_CODCF 112
|
#define A_TIPOCF 112
|
||||||
#define A_OCFPI 113
|
#define A_CODCF 113
|
||||||
#define A_RAGSOC 114
|
#define A_OCFPI 114
|
||||||
#define A_RFSO 115
|
#define A_RAGSOC 115
|
||||||
#define A_RAGSOCRFSO 116
|
#define A_RFSO 116
|
||||||
#define A_PAIV 117
|
#define A_RAGSOCRFSO 117
|
||||||
#define A_COFI 118
|
#define A_PAIV 118
|
||||||
#define A_REVERSE 119
|
#define A_COFI 119
|
||||||
#define A_AUTOFATT 120
|
#define A_REVERSE 120
|
||||||
#define A_SPEDITA 121
|
#define A_AUTOFATT 121
|
||||||
#define A_NUMERO 122
|
#define A_SPEDITA 122
|
||||||
|
#define A_NUMERO 123
|
@ -118,6 +118,7 @@ BEGIN
|
|||||||
ITEM "Elimina@1F"
|
ITEM "Elimina@1F"
|
||||||
ITEM "Data\n Reg.@8F"
|
ITEM "Data\n Reg.@8F"
|
||||||
ITEM "Tipo\nDocum.@2F"
|
ITEM "Tipo\nDocum.@2F"
|
||||||
|
ITEM "Tipo\nDoc. AE@5F"
|
||||||
ITEM "Numero\nDocum.@5F"
|
ITEM "Numero\nDocum.@5F"
|
||||||
ITEM "Data\nDocum.@10"
|
ITEM "Data\nDocum.@10"
|
||||||
ITEM "Aliquota@4"
|
ITEM "Aliquota@4"
|
||||||
@ -247,10 +248,24 @@ BEGIN
|
|||||||
OUTPUT A_TIPODOC CODTAB
|
OUTPUT A_TIPODOC CODTAB
|
||||||
WARNING "Tipo documento errato"
|
WARNING "Tipo documento errato"
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
FLAGS "U"
|
FLAGS "HUD"
|
||||||
ADD NONE
|
ADD NONE
|
||||||
END
|
END
|
||||||
|
|
||||||
|
LIST A_TIPODOCAE 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 23 6 "Tipo doc. "
|
||||||
|
ITEM "TD01|TD01"
|
||||||
|
ITEM "TD04|TD04"
|
||||||
|
ITEM "TD05|TD05"
|
||||||
|
ITEM "TD07|TD07"
|
||||||
|
ITEM "TD08|TD08"
|
||||||
|
ITEM "TD10|TD10"
|
||||||
|
ITEM "TD11|TD11"
|
||||||
|
ITEM "ERR0|Errore"
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
STRING A_NUMDOC 7
|
STRING A_NUMDOC 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 42 6 "Num. doc. "
|
PROMPT 42 6 "Num. doc. "
|
||||||
|
@ -61,11 +61,11 @@ real get_IVA(const TString& codiva)
|
|||||||
return ai.get_real("R0");
|
return ai.get_real("R0");
|
||||||
}
|
}
|
||||||
|
|
||||||
TString revCharge(TString numreg)
|
TString revCharge(TString numreg, int year)
|
||||||
{
|
{
|
||||||
// Controllo se la causale ha il reverse charge, se il cliente non l'ha impostata giusta sono ARAZZI suoi
|
// Controllo se la causale ha il reverse charge, se il cliente non l'ha impostata giusta sono ARAZZI suoi
|
||||||
TString key = numreg;
|
TString key = numreg;
|
||||||
TCausale caus(cache().get(LF_MOV, key, "CODCAUS"));
|
TCausale caus(cache().get(LF_MOV, key, "CODCAUS"), year);
|
||||||
if(caus.reverse_charge())
|
if(caus.reverse_charge())
|
||||||
bool tolla = true;
|
bool tolla = true;
|
||||||
return caus.reverse_charge() ? "X" : "";
|
return caus.reverse_charge() ? "X" : "";
|
||||||
@ -78,7 +78,7 @@ TString getRFSO(TString codrfso)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Utilizzo questa funzione per filtrare al meglio i record, tutti i casi che devo omettere verranno rilevati e ritorneranno false
|
/* 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
|
* Nota bene: viene sfruttato un puntatore di TISAM_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
|
* a questo punto il programma non ha ancora creato un record di $trasfatt con i dati che mi interessano
|
||||||
*/
|
*/
|
||||||
bool checkRecord(TISAM_recordset* rec)
|
bool checkRecord(TISAM_recordset* rec)
|
||||||
@ -99,7 +99,7 @@ bool checkRecord(TISAM_recordset* rec)
|
|||||||
if(rec->get("23.TIPO").as_string() == "C")
|
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)
|
// 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());
|
TCausale caus(rec->get("23.CODCAUS").as_string(), rec->get("23.DATAREG").as_date().year());
|
||||||
if(caus.soloiva() && (caus.reverse_charge() || caus.regime_speciale() == 3))
|
if(caus.soloiva() && (caus.reverse_charge() || caus.regime_speciale() == 3))
|
||||||
return false;
|
return false;
|
||||||
} else if(anaCli.italiano() && anaCli.partita_IVA()[0] != '0' && anaCli.partita_IVA()[0] != '1' && anaCli.codice_fiscale()[0] > '8')
|
} else if(anaCli.italiano() && anaCli.partita_IVA()[0] != '0' && anaCli.partita_IVA()[0] != '1' && anaCli.codice_fiscale()[0] > '8')
|
||||||
|
@ -18,7 +18,7 @@ real get_IVA(const TString& codiva);
|
|||||||
// Ritorna la % di detraibilità
|
// Ritorna la % di detraibilità
|
||||||
TString findDetraib(TString tipodet);
|
TString findDetraib(TString tipodet);
|
||||||
// Ritorna "X" se ha il reverse charge
|
// Ritorna "X" se ha il reverse charge
|
||||||
TString revCharge(TString numreg);
|
TString revCharge(TString numreg, int year);
|
||||||
// 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
|
// Controllo che sia un record che mi interessa
|
||||||
|
Loading…
x
Reference in New Issue
Block a user