da confermare
STDDTPTS = Stampa DDT da pulito con Touch Screen
STDICITURA = Stampa dicitura
diff --git a/exe/recdesc/d171.des b/exe/recdesc/d171.des
index cf3c1de1c..e2d8c9637 100644
--- a/exe/recdesc/d171.des
+++ b/exe/recdesc/d171.des
@@ -7,7 +7,6 @@ DATAREGP = Data pagamento
IMPONIBILE = Imponibile
IMPORTO = Importo
IMPOSTA = Imposta
-INDETR = Riga di IVA indetraibile
MESELIQ = Mese liquidazione
NUMPRO = Numero progressivo PAG o NC
NUMREG = Numero operazione Fattura
diff --git a/exe/recdesc/d20.des b/exe/recdesc/d20.des
index 23121fdc1..208976f43 100644
--- a/exe/recdesc/d20.des
+++ b/exe/recdesc/d20.des
@@ -42,7 +42,7 @@ NUMCC = Numero di conto corrente
OCCAS = Cliente / fornitore occasionale
OGGETTI = Link ad oggetti esterni
PAIV = Partita IVA
-PEC = Indirizzo di posta elettronica certificato
+PEC = Missing description
PFAX = Prefisso del numero di FAX
PTEL = Prefisso del numero di telefono
PTEL2 = Prefisso del 2 numero di telefono
diff --git a/exe/recdesc/d21.des b/exe/recdesc/d21.des
index 93cd6d741..c40ac4f10 100644
--- a/exe/recdesc/d21.des
+++ b/exe/recdesc/d21.des
@@ -9,12 +9,8 @@ GRUPPO = Gruppo
NUMULTMOV = Numero operazione dell'ultimo movimento
PAVERE = Progressivo avere
PAVEREPRO = Progressivo avere movimenti provvisori
-PAVEREPROB = Progressivo avere movimenti provvisori bilancio costi ricavi
-PAVEREPROC = Progressivo avere movimenti provvisori cespiti
PDARE = Progressivo dare
PDAREPRO = Progressivo dare movimenti provvisori
-PDAREPROB = Progressivo dare movimenti provvisori bilancio costi ricavi
-PDAREPROC = Progressivo dare movimenti provvisori cespiti
SALDO = Saldo iniziale
SALDOFIN = Saldo di chiusura
SOTTOCONTO = Sottoconto
diff --git a/exe/recdesc/d23.des b/exe/recdesc/d23.des
index c91ef9b5b..8b9c8b963 100644
--- a/exe/recdesc/d23.des
+++ b/exe/recdesc/d23.des
@@ -4,7 +4,6 @@ ANNOFE = Anno invio definitivo dati rilevanti
ANNOIVA = Anno IVA
CAMBIO = Cambio della valuta
CAMBIOI = Cambio della valuta intra-comunitaria
-CFBOLLADOG = Codice fornitore a cui riferita la bolla doganale
CODCAUS = Codice causale
CODCF = Codice
CODPAG = Codice pagamento
@@ -18,7 +17,6 @@ DANNO = Documento originale ANNO
DATA74TER = Data per art. 74 ter
DATACAM = Data del cambio
DATACOMP = Data competenza
-DATACOMPCR = Data competenza costi/ricavi
DATACOMPI = Data di competenza intra-comunitaria
DATADOC = Data documento
DATAINC = Data di incasso per liquidazione differita
@@ -31,13 +29,10 @@ DPROVV = Documento originale PROVV
INVIATO = Inviato ad altra contabilit
INVIOFE = Data invio definitivo dati rilevanti
INVIVA = Inviata la parte IVA ad altra contabilita'
-IVALIQ = Iva per cassa liquidata completamente
IVAXCASSA = Flag di movimento IVA per cassa
-KEYFPPRO = Chiave FpPro
LIQDIFF = Flag di movimento a liquidazione differita
MESELIQ = Mese per liquidazione differita
MODPAG = Modalit di pagamento 1=Non frazionato; 2=Frazionato; 3=Periodico
-MOVCOLL = Movimento collegato
NOLEGGIO = Tipo veicolo Auto, Camper, Altro, Diporto, aEreo
NUMDOC = Numero documento
NUMDOCEXT = Numero documento esteso
@@ -46,18 +41,15 @@ NUMREG = Numero di operazione
NUMRETT = Numero documento rettificato
OCFPI = Codice cliente / fornitore occasionale
PROTIVA = Numero di protocollo IVA
-PROVVIS = Tipo movimento (< > Normale, Provvisorio cancellabile, cespiti, bilancio costi/ricavi
+PROVVIS = Tipo movimento (" " Normale, "P" Provvisorio cancellabile, "C" Provvisorio cespiti)
REG = Codice registro IVA
REGST = Stampato su registro IVA
REVCHARGE = Reverse charge
-RITFATT = Fattura in ritardo
RITFIS = Ritenute fiscali
RITSOC = Ritenute sociali
SCARCON = Scaricata la contabilit
SPLITPAY = Flag di scissione pagamenti [_=Auto,S=Split,N=Normale]
STAMPATO = Stampato su giornale
-TFDATA = Data ultimo invio Trasferimento Fatture
-TFINVIO = Flag Invio Trasferimento Fatture
TIPO = Tipo liente o ornitore
TIPODOC = Tipo documento
TIPOMOV = Tipo movimento
diff --git a/exe/recdesc/d26.des b/exe/recdesc/d26.des
index bda3f4a97..995766ea8 100644
--- a/exe/recdesc/d26.des
+++ b/exe/recdesc/d26.des
@@ -7,7 +7,6 @@ CODCAUSIM = Codice causale incasso immediato
COLLCESP = Collegamnto ai cespiti
CONTIND = Causale per contabilit industriale
DATADOC = Data documento
-DATAREGPR = Data di registrazion nell'ereserciozio precedente per il caso del campo precedente
DESCR = Descrizione causale
INTRACOM = Movimento intra-comunitario
LIQDIFF = Fatture a liquidazione differita
@@ -21,8 +20,7 @@ NUMDOC = Numero documento
PROVV = Tipo movimento (" " Normale, "P" Provvisorio cancellabile, "C" Provvisorio da cepiti)
REG = Codice registro
REGSPIVA = Regimi speciali IVA
-RILFTEMRI = Causale di rilevazione fatture de emettere o ricevere
-RITFATT = Fattura in ritardo
+RITFATT =
SOLOIVA = Movimento di sola IVA
SOSPESO = Causale sospesa
TIPODOC = Tipo documento
diff --git a/exe/recdesc/d3.des b/exe/recdesc/d3.des
index 7c483afa4..136567b95 100644
--- a/exe/recdesc/d3.des
+++ b/exe/recdesc/d3.des
@@ -22,7 +22,6 @@ D1 =
D2 =
D3 =
D4 =
-DATAAGG =
FPC =
I0 =
I1 =
@@ -67,7 +66,6 @@ R30 =
R31 =
R32 =
R33 =
-R34 =
R4 =
R5 =
R6 =
@@ -78,9 +76,6 @@ S0 =
S1 =
S10 =
S11 =
-S12 =
-S13 =
-S14 =
S2 =
S3 =
S4 =
@@ -89,5 +84,4 @@ S6 =
S7 =
S8 =
S9 =
-UTENTE =
diff --git a/exe/recdesc/d33.des b/exe/recdesc/d33.des
index 1a7720cf2..1b0385af2 100644
--- a/exe/recdesc/d33.des
+++ b/exe/recdesc/d33.des
@@ -93,7 +93,6 @@ TARA = Tara
TIPOCF = Tipo liente ornitore
TIPOCFFATT = Tipo liente ornitore cui fatturare
TIPODOC = Tipo documento
-TIPODOCSDI = Tido documento secondo Agenzia delle Entrate
UMPNETTO = Unit di misura per il peso netto
UMTARA = Unit di misura per la tara
UTENTE = Utente ultimo aggiornamento
diff --git a/exe/recdesc/d4.des b/exe/recdesc/d4.des
index 7c483afa4..6286a4608 100644
--- a/exe/recdesc/d4.des
+++ b/exe/recdesc/d4.des
@@ -78,9 +78,6 @@ S0 =
S1 =
S10 =
S11 =
-S12 =
-S13 =
-S14 =
S2 =
S3 =
S4 =
diff --git a/exe/recdesc/d5.des b/exe/recdesc/d5.des
index 7c483afa4..6286a4608 100644
--- a/exe/recdesc/d5.des
+++ b/exe/recdesc/d5.des
@@ -78,9 +78,6 @@ S0 =
S1 =
S10 =
S11 =
-S12 =
-S13 =
-S14 =
S2 =
S3 =
S4 =
diff --git a/exe/recdesc/d6.des b/exe/recdesc/d6.des
index f8f92e731..58c212b66 100644
--- a/exe/recdesc/d6.des
+++ b/exe/recdesc/d6.des
@@ -45,7 +45,6 @@ STATOPAIV =
STATORES =
TELRF =
TIPOA =
-TIPORFSO = Definisce se la persona un appr. Fiscale, tabile Organizzazione o nessuno dei due
TIPOSTDEL =
TITCF =
TLEXRFX =
@@ -53,7 +52,6 @@ UFFCONC =
UFFIIDD =
UFFIVA =
UFFUUE =
-UTENTE =
VARDF =
VARSLORES =
diff --git a/exe/recdesc/d9.des b/exe/recdesc/d9.des
index 558225e7c..bf00652e7 100644
--- a/exe/recdesc/d9.des
+++ b/exe/recdesc/d9.des
@@ -10,7 +10,6 @@ CESSIVA = Cessata attivita' o variata partita IVA
CODANAGR =
CODATTPREV =
CODDITTA =
-CODRFSO = Codice Rappresentante Fiscale/Stabile Organizzazione
CODSOGDEL = Codice del soggetto delegato
CODSTAT1 =
CODSTAT2 =
@@ -19,7 +18,6 @@ COMAA =
CONDFAM =
CONTORD =
DATAISCRAA =
-DATARFSO = Data immissione valore
DATLAV =
DECCARINT =
DEDART13 =
diff --git a/exe/recdesc/f109.dir b/exe/recdesc/f109.dir
index 86ff32ae7..e6c0ca675 100644
--- a/exe/recdesc/f109.dir
+++ b/exe/recdesc/f109.dir
@@ -1,3 +1,3 @@
109
0
-$mag|38313|38313|692|0|Giacenze di magazzino|||
+$mag|0|0|692|0|Giacenze di magazzino|||
diff --git a/exe/recdesc/f109.trr b/exe/recdesc/f109.trr
index 0a172c4f4..a26ba4eb5 100644
--- a/exe/recdesc/f109.trr
+++ b/exe/recdesc/f109.trr
@@ -47,7 +47,6 @@ USER5|4|15|5|campo definito dall'utente
USERVAL5|4|18|3|valore
USER6|4|15|5|campo definito dall'utente
USERVAL6|4|18|3|valore
-3
+2
ANNOES+CODART+NRIGA|
ANNOES+CODMAG+CODART+LIVELLO|X
-ANNOES+CODMAG+LIVELLO|X
diff --git a/exe/recdesc/f120.dir b/exe/recdesc/f120.dir
index 6948f0058..ef5c7cd37 100644
--- a/exe/recdesc/f120.dir
+++ b/exe/recdesc/f120.dir
@@ -1,3 +1,3 @@
120
1
-m770/quadrodb|0|0|118|0|Quadro D bis 770|||
+m770/quadrodb|0|0|117|4|Quadro D bis 770|||
diff --git a/exe/recdesc/f120.trr b/exe/recdesc/f120.trr
index fdb310434..116e7ab0b 100644
--- a/exe/recdesc/f120.trr
+++ b/exe/recdesc/f120.trr
@@ -5,7 +5,7 @@ TIPOA|1|1|0|Tipo anagrafica (Sempre 'F')
CODANAGR|3|5|0|Codice anagrafica
NPROG|2|4|0|Numero progressivo di riga
CODCAUS|9|2|0|Codice causale
-CAUSALE|1|2|0|15 - Causale
+CAUSALE|1|1|0|15 - Causale
TOTALE|4|18|0|16 - Ammontare lordo corrisposto
SOMME|4|18|0|17 - Somme non soggette a ritenuta
IMPONIBILE|4|18|0|19 - Imponibile
diff --git a/exe/recdesc/f20.dir b/exe/recdesc/f20.dir
index 4e005c3b5..a6f8bd30d 100644
--- a/exe/recdesc/f20.dir
+++ b/exe/recdesc/f20.dir
@@ -1,3 +1,3 @@
20
0
-$clifo|||905|0|Clienti/Fornitori|||
+$clifo|774|774|875|0|Clienti/Fornitori|||
diff --git a/exe/recdesc/f20.trr b/exe/recdesc/f20.trr
index 64e8deec5..4b9c2a166 100644
--- a/exe/recdesc/f20.trr
+++ b/exe/recdesc/f20.trr
@@ -34,7 +34,7 @@ PTELEX|1|10|0|Prefisso del numero di TELEX
TELEX|1|30|0|Prefisso del numero di TELEX
MAIL|1|50|0|Indirizzo di posta elettronica generico
BYMAIL|8|1|0|Consenso all' invio dei documenti per posta elettronica
-PEC|1|80|0|Indirizzo di posta elettronica certificato
+PEC|1|50|0|Indirizzo di posta elettronica certificato
DOCMAIL|1|50|0|Indirizzo di posta elettronica per i documenti
DATANASC|5|8|0|Data di nascita
STATONASC|2|3|0|Codice stato di nascita
@@ -64,10 +64,10 @@ ENTE|1|4|0|Codice ente pubblico di appartenenza (Dipendente Pubblico)
SPLITPAY|8|1|0|Ente pubblico soggetto a split payment
UTENTE|1|32|0|Utente dell'ultima modifica
DATAAGG|5|8|0|Data ultima modifica
-CODRFSO|1|6|0|Missing description
-DATARFSO|5|8|0|Missing description
-INIFATTEL|5|8|0|Missing description
-INIREVCHG|5|8|0|Missing description
+CODRFSO|1|6|0|Codice Rappresentate Fisc/Stabile Org
+DATARFSO|5|8|0|Data Rappresentate Fisc/Stabile Org
+INIFATTEL|5|8|0|Data inizio fatturazione elettronica
+INIREVCHG|5|8|0|Data inizio reverse charge
6
TIPOCF+CODCF|
TIPOCF+UPPER(RAGSOC)|X
diff --git a/exe/recdesc/f21.dir b/exe/recdesc/f21.dir
index fff204ad0..954c6a0e2 100644
--- a/exe/recdesc/f21.dir
+++ b/exe/recdesc/f21.dir
@@ -1,3 +1,3 @@
21
0
-$saldi|||215|0|Saldi|||
+$saldi|||143|0|Saldi|||
diff --git a/exe/recdesc/f21.trr b/exe/recdesc/f21.trr
index c35355e5a..739382832 100644
--- a/exe/recdesc/f21.trr
+++ b/exe/recdesc/f21.trr
@@ -1,5 +1,5 @@
21
-19
+15
ANNOES|9|4|0|Codice esercizio
GRUPPO|2|3|0|Gruppo
CONTO|2|3|0|Conto
@@ -13,10 +13,6 @@ PDARE|4|18|3|Progressivo dare
PAVERE|4|18|3|Progressivo avere
PDAREPRO|4|18|3|Progressivo dare movimenti provvisori
PAVEREPRO|4|18|3|Progressivo avere movimenti provvisori
-PDAREPROB|4|18|3|Progressivo dare movimenti provvisori bilancio costi ricavi
-PAVEREPROB|4|18|3|Progressivo avere movimenti provvisori bilancio costi ricavi
-PDAREPROC|4|18|3|Progressivo dare movimenti provvisori cespiti
-PAVEREPROC|4|18|3|Progressivo avere movimenti provvisori cespiti
DATAULMOV|5|8|0|Data ultimo movimento
NUMULTMOV|3|7|0|Numero operazione dell'ultimo movimento
3
diff --git a/exe/recdesc/f3.dir b/exe/recdesc/f3.dir
index 21d77491f..bfa97a835 100644
--- a/exe/recdesc/f3.dir
+++ b/exe/recdesc/f3.dir
@@ -1,3 +1,3 @@
3
1
-%tabgen|0|0|1285|0|Tabelle di studio|50||
+%tabgen|0|0|1181|0|Tabelle di studio|50||
diff --git a/exe/recdesc/f3.trr b/exe/recdesc/f3.trr
index 886bb94db..631975380 100644
--- a/exe/recdesc/f3.trr
+++ b/exe/recdesc/f3.trr
@@ -1,5 +1,5 @@
3
-91
+86
COD|1|3|0|
CODTAB|1|25|0|
S0|1|70|0|
@@ -14,9 +14,6 @@ S8|1|5|0|
S9|1|5|0|
S10|1|5|0|
S11|1|5|0|
-S12|1|5|0|
-S13|1|70|0|
-S14|1|5|0|
I0|3|7|0|
I1|3|7|0|
I2|3|7|0|
@@ -62,11 +59,11 @@ R26|4|18|5|
R27|4|18|5|
R28|4|18|5|
R29|4|18|5|
+R29|4|18|5|
R30|4|18|5|
R31|4|18|5|
R32|4|18|5|
R33|4|18|5|
-R34|4|18|5|
D0|5|8|0|
D1|5|8|0|
D2|5|8|0|
@@ -88,8 +85,6 @@ B12|8|1|0|
B13|8|1|0|
B14|8|1|0|
B15|8|1|0|
-DATAAGG|5|8|0|
-UTENTE|1|16|0|
FPC|8|1|0|
2
COD+CODTAB|
diff --git a/exe/recdesc/f39.dir b/exe/recdesc/f39.dir
index 3ec246a9f..b1f9921b5 100644
--- a/exe/recdesc/f39.dir
+++ b/exe/recdesc/f39.dir
@@ -1,3 +1,3 @@
39
1
-m770/schper|0|0|194|0|Schede percipienti|#9||
+m770/schper|0|0|193|0|Schede percipienti|#9||
diff --git a/exe/recdesc/f39.trr b/exe/recdesc/f39.trr
index c9a872e3e..85a3f8215 100644
--- a/exe/recdesc/f39.trr
+++ b/exe/recdesc/f39.trr
@@ -16,7 +16,7 @@ TOTRIT|4|18|2|Totale ritenute (collegamento contabilit
RITSOC|4|18|2|Ritenute sociali (collegamento contabilit)
MESEC|2|2|0|Mese competenza
ANNOC|2|4|0|Anno competenza
-CAUSQUA|1|2|0|Causale quadro
+CAUSQUA|7|1|0|Causale quadro
FLAGTS|7|1|0|Flag T.S.
RITOPE|4|18|2|Ritenute operate
RITVER|4|18|2|Ritenute versate
diff --git a/exe/recdesc/f4.dir b/exe/recdesc/f4.dir
index 2e04936ab..26ed68cf0 100644
--- a/exe/recdesc/f4.dir
+++ b/exe/recdesc/f4.dir
@@ -1,3 +1,3 @@
4
1
-%tabcom|0|0|1285|0|Tabelle comuni|1500||
+%tabcom|0|0|1210|0|Tabelle comuni|1500||
diff --git a/exe/recdesc/f4.trr b/exe/recdesc/f4.trr
index d5d69ef69..bebb2871c 100644
--- a/exe/recdesc/f4.trr
+++ b/exe/recdesc/f4.trr
@@ -1,5 +1,5 @@
4
-91
+89
COD|1|3|0|
CODTAB|1|25|0|
S0|1|70|0|
@@ -15,8 +15,6 @@ S9|1|5|0|
S10|1|5|0|
S11|1|5|0|
S12|1|5|0|
-S13|1|70|0|
-S14|1|5|0|
I0|3|7|0|
I1|3|7|0|
I2|3|7|0|
diff --git a/exe/recdesc/f5.dir b/exe/recdesc/f5.dir
index 2d2b15a27..a60807a80 100644
--- a/exe/recdesc/f5.dir
+++ b/exe/recdesc/f5.dir
@@ -1,3 +1,3 @@
5
0
-$tab|3666|3666|1285|0|Tabelle ditta|400||
+$tab|0|0|1197|0|Tabelle ditta|400||
diff --git a/exe/recdesc/f5.trr b/exe/recdesc/f5.trr
index bcef5f3d4..1b8c89633 100644
--- a/exe/recdesc/f5.trr
+++ b/exe/recdesc/f5.trr
@@ -1,5 +1,5 @@
5
-91
+88
COD|1|3|0|
CODTAB|1|25|0|
S0|1|70|0|
@@ -14,9 +14,6 @@ S8|1|5|0|
S9|1|5|0|
S10|1|5|0|
S11|1|5|0|
-S12|1|5|0|
-S13|1|70|0|
-S14|1|5|0|
I0|3|7|0|
I1|3|7|0|
I2|3|7|0|
diff --git a/exe/recdesc/f61.dir b/exe/recdesc/f61.dir
index 23a90c790..5026ee525 100644
--- a/exe/recdesc/f61.dir
+++ b/exe/recdesc/f61.dir
@@ -1,3 +1,3 @@
61
1
-m770/quadroc|0|0|193|0|Quadro C 770|||
+m770/quadroc|||192|0|Quadro C 770|||
diff --git a/exe/recdesc/f61.trr b/exe/recdesc/f61.trr
index b995f483c..1cbdfafb6 100644
--- a/exe/recdesc/f61.trr
+++ b/exe/recdesc/f61.trr
@@ -7,7 +7,7 @@ NPROG|2|4|0|Numero progressivo
GENERATA|8|1|0|Riga generata dalle schede
CODCAUS|9|2|0|Codice causale
PERC|4|6|2|Aliquota applicata
-CAUSALE|1|2|0|11 - Causale quadro C
+CAUSALE|1|1|0|11 - Causale quadro C
TASSAZIONE|6|1|0|12 - Tassazione operata
AMMLORDO|4|18|0|13 - Ammontare lordo corrisposto
CONTROBB|4|18|0|14 - Contributi obbligatori
diff --git a/exe/recdesc/f62.dir b/exe/recdesc/f62.dir
index 79917a168..258c9f1c6 100644
--- a/exe/recdesc/f62.dir
+++ b/exe/recdesc/f62.dir
@@ -1,3 +1,3 @@
62
1
-m770/quadrod|0|0|117|0|Quadro D 770|||
+m770/quadrod|0|0|116|4|Quadro D 770|||
diff --git a/exe/recdesc/f62.trr b/exe/recdesc/f62.trr
index 5d751acd2..c78d1f625 100644
--- a/exe/recdesc/f62.trr
+++ b/exe/recdesc/f62.trr
@@ -5,7 +5,7 @@ TIPOA|1|1|0|Tipo anagrafica (Sempre 'F')
CODANAGR|3|5|0|Codice anagrafica
NPROG|2|4|0|Numero progressivo di riga
CODCAUS|9|2|0|Codice causale
-CAUSALE|1|2|0|15 - Causale
+CAUSALE|1|1|0|15 - Causale
TOTALE|4|18|2|16 - Ammontare lordo corrisposto
SOMME|4|18|2|17 - Somme non soggette a ritenuta
IMPONIBILE|4|18|2|19 - Imponibile
diff --git a/exe/recdesc/f63.dir b/exe/recdesc/f63.dir
index eed0cdf94..f27113c8e 100644
--- a/exe/recdesc/f63.dir
+++ b/exe/recdesc/f63.dir
@@ -1,3 +1,3 @@
63
1
-m770/quadrod1|0|0|117|0|Quadro D1 770|||
+m770/quadrod1|0|0|116|4|Quadro D1 770|||
diff --git a/exe/recdesc/f63.trr b/exe/recdesc/f63.trr
index 6551152e1..2be9bd91d 100644
--- a/exe/recdesc/f63.trr
+++ b/exe/recdesc/f63.trr
@@ -5,7 +5,7 @@ TIPOA|1|1|0|Tipo anagrafica (sempre 'F')
CODANAGR|3|5|0|Codice anagrafica
NPROG|2|4|0|Numero progrssivo riga
CODCAUS|9|2|0|Codice causale
-CAUSALE|1|2|0|11 - Causale
+CAUSALE|7|1|0|11 - Causale
TOTALE|4|18|2|12 - Ammontare lordo corrisposto
QUOTAPRO|4|18|2|14 - Quota provvigioni
SPESEANT|4|18|2|13 - Spese anticipate
diff --git a/exe/recdesc/f64.dir b/exe/recdesc/f64.dir
index c7d919879..ecd2e9c18 100644
--- a/exe/recdesc/f64.dir
+++ b/exe/recdesc/f64.dir
@@ -1,3 +1,3 @@
64
1
-m770/quadroe|0|0|99|0|Quadro E 770|||
+m770/quadroe|||98|0|Quadro E 770|||
diff --git a/exe/recdesc/f64.trr b/exe/recdesc/f64.trr
index 45dfdc2ed..d2dc35416 100644
--- a/exe/recdesc/f64.trr
+++ b/exe/recdesc/f64.trr
@@ -5,7 +5,7 @@ TIPOA|1|1|0|Natura giuridica del percipiente
CODANAGR|3|5|0|Codice anagrafico
NPROG|2|4|0|Numero progressivo di riga
CODCAUS|9|2|0|Codice causale
-CAUSALE|1|2|0|11 - Causale quadro
+CAUSALE|7|1|0|11 - Causale quadro
IMPONIBILE|4|18|2|12 - Imponibile corrisposto
PERC|4|6|2|13 - Aliquota
IMPORTO|4|18|2|14 - Ritenute operate
diff --git a/exe/recdesc/f65.dir b/exe/recdesc/f65.dir
index 3954da404..bddcfc0cf 100644
--- a/exe/recdesc/f65.dir
+++ b/exe/recdesc/f65.dir
@@ -1,3 +1,3 @@
65
1
-m770/quadroe1|0|0|99|0|Quadro E1 770|||
+m770/quadroe1|||98|0|Quadro E1 770|||
diff --git a/exe/recdesc/f65.trr b/exe/recdesc/f65.trr
index df8bddd27..72d36a0e7 100644
--- a/exe/recdesc/f65.trr
+++ b/exe/recdesc/f65.trr
@@ -5,7 +5,7 @@ TIPOA|1|1|0|Natura giuridica
CODANAGR|3|5|0|Codice anagrafica
NPROG|2|4|0|Numero progrssivo i riga
CODCAUS|9|2|0|Codice causale
-CAUSALE|1|2|0|11 - Causale quadro
+CAUSALE|7|1|0|11 - Causale quadro
SOMME|4|18|2|12 - Somme corrisposte
AMMONTARE|4|18|2|13 - Ammontare complessivo dei premi riscossi
PERC|4|6|2|14 - Aliquota
diff --git a/exe/servers/servers.ini b/exe/servers/servers.ini
index aae84f4ad..bac3714bb 100644
--- a/exe/servers/servers.ini
+++ b/exe/servers/servers.ini
@@ -24,6 +24,6 @@ LogVerbose=
PingFreq=
[Spotlite]
-Data(0) = h:\e\dati\din\spotlite
+Data(0) = f:\clienti\Bellegotti\spotlite
Study(0) =
diff --git a/exe/setup/oem.ini b/exe/setup/oem.ini
index ceacffb14..8a75e0661 100644
--- a/exe/setup/oem.ini
+++ b/exe/setup/oem.ini
@@ -1,5 +1,5 @@
[MAIN]
-OEM = 2
+OEM = 1
[OEM_0]
Administrator =
diff --git a/exe/xi.dll b/exe/xi.dll
index aca54f781..e4bc12d0e 100644
Binary files a/exe/xi.dll and b/exe/xi.dll differ
diff --git a/exe/xvaga.dll b/exe/xvaga.dll
index eb221d78d..a1b5b4687 100644
Binary files a/exe/xvaga.dll and b/exe/xvaga.dll differ
diff --git a/src/ba/bastiva.rep b/src/ba/bastiva.rep
index d212b14c1..ec2628a52 100755
--- a/src/ba/bastiva.rep
+++ b/src/ba/bastiva.rep
@@ -1,102 +1,99 @@
-
+
-
-
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
+
-
-
-
-
+
+
+
+
-
+
-
+
-
+
-
+
@@ -106,20 +103,20 @@
-
-
+
+
-
+
-
+
-
+
-
+
@@ -130,10 +127,10 @@
-
+
-
+
@@ -142,7 +139,7 @@
-
+
@@ -151,7 +148,7 @@
-
+
@@ -162,37 +159,34 @@
-
+
-
+
-
+
-
-
-
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
USE %IVA
FROM CODTAB=#FROM
TO CODTAB=#TO
diff --git a/src/ba/batbiva.h b/src/ba/batbiva.h
index fb9c29a5a..4dd8920c2 100755
--- a/src/ba/batbiva.h
+++ b/src/ba/batbiva.h
@@ -27,4 +27,3 @@
#define CHK_TABIVA_B5 128
#define FLD_NUM_B6 129
#define FLD_DEN_B7 130
-#define FLD_DEN_B8 131
diff --git a/src/ba/batbiva.uml b/src/ba/batbiva.uml
index bdbd4447f..3da9e088c 100755
--- a/src/ba/batbiva.uml
+++ b/src/ba/batbiva.uml
@@ -340,15 +340,9 @@ BEGIN
FIELD B7
END
-BOOLEAN FLD_DEN_B8
-BEGIN
- PROMPT 3 22 "Reverse charge attivo"
- FIELD B8
-END
-
BOOLEAN FLD_SOSPESO_B2
BEGIN
- PROMPT 3 23 "Codice IVA sospeso"
+ PROMPT 3 22 "Codice IVA sospeso"
FIELD B2
END
diff --git a/src/crpa/crpa0.cpp b/src/crpa/crpa0.cpp
index 37c6cb0cc..c40cda5b5 100755
--- a/src/crpa/crpa0.cpp
+++ b/src/crpa/crpa0.cpp
@@ -15,7 +15,6 @@
#include "../ca/movana.h"
#include "../ca/rmovana.h"
-#include "../cg/cglib03.h"
// Fine del comando sql con separatore magico per crpa.exe
#define SQL_EOL ""
diff --git a/src/ef/ef0100.h b/src/ef/ef0100.h
index 7a4803b32..06370cda7 100755
--- a/src/ef/ef0100.h
+++ b/src/ef/ef0100.h
@@ -44,7 +44,6 @@
#define F_DESCONTSEP 239
#define F_MANDATO 240
-
#define F_IBAN 250
#define F_IBAN_STATO 251
#define F_IBAN_CHECK 252
diff --git a/src/ef/ef0100a.uml b/src/ef/ef0100a.uml
index 57eab6f3e..b7ff5789c 100755
--- a/src/ef/ef0100a.uml
+++ b/src/ef/ef0100a.uml
@@ -26,8 +26,7 @@ BEGIN
PROMPT 30 1 "Numero "
FIELD NPROGTR
KEY 1
- USE LF_EFFETTI
-// SELECT (TIPOCF=#F_TIPOCF)&&(BETWEEN(CODCF,#F_CODCF,#F_CODCF))
+ USE LF_EFFETTI SELECT (TIPOCF=#F_TIPOCF)&&(BETWEEN(CODCF,#F_CODCF,#F_CODCF))
JOIN LF_CLIFO INTO CODCF=CODCF TIPOCF=TIPOCF
INPUT NPROGTR F_NPROGTR
DISPLAY "Nr.progr." NPROGTR
diff --git a/src/ef/ef0101.cpp b/src/ef/ef0101.cpp
index 2c2232dc3..1ed13813f 100755
--- a/src/ef/ef0101.cpp
+++ b/src/ef/ef0101.cpp
@@ -98,10 +98,8 @@ int TEffetto::leggi(TLocalisamfile &f, const TRectype& r, word lockop)
if (err == NOERR)
{ // leggo dai record array
_righe.read(k_reff);
- _righe.pack();
_cess.read(k_cess);
- _cess.pack();
- }
+ }
else // se ho trovato un errore
{
head() = r;
diff --git a/src/ef/ef0301.cpp b/src/ef/ef0301.cpp
index ed7cc4864..5ce5bd7d6 100755
--- a/src/ef/ef0301.cpp
+++ b/src/ef/ef0301.cpp
@@ -54,20 +54,20 @@ int TDistinta::read(const char tipo, const long numero, word lockop)
{
TISAM_recordset reff(query(tipo, numero));
TLocalisamfile& f = reff.cursor()->file();
- int i = 0;
-
- for (bool ok = reff.move_first(); ok; ok = reff.move_next(), i++)
+ int i = 0;
+ for (bool ok = reff.move_first(); ok; ok = reff.move_next())
{
const word lock = (i == 0 && lockop == _lock) ? _lock : _nolock; // Lock solo sulla prima riga
const int n = reff.get(EFF_NRIGADIST).as_int();
- TEffetto effetto;
-
- err = effetto.read(f, tipo, numero, n, lock);//legge un effetto per chiave 4
+ TEffetto* effetto = new TEffetto;
+ err = effetto->read(f, tipo, numero, n, lock);//legge un effetto per chiave 4
if (err == NOERR)
{
- _righe_dist.add(effetto, i);
- effetto.put(EFF_NRIGADIST, i + 1);
+ i = _righe_dist.add(effetto) + 1;
+ effetto->put(EFF_NRIGADIST, i);
}
+ else
+ delete effetto;
}
}
// se ho letto degli effetti della distinta ed ho
diff --git a/src/ef/ef1100.cpp b/src/ef/ef1100.cpp
index ef37cebb7..041ec1f95 100644
--- a/src/ef/ef1100.cpp
+++ b/src/ef/ef1100.cpp
@@ -24,6 +24,43 @@
static XVT_SQLDB _db = NULL; // SEPA sqlite db
+/////////////////////////////////////////////////////////////////////////////////////
+// Utilities
+/////////////////////////////////////////////////////////////////////////////////////
+
+// Cerca una stringa all'interno di una SLIST (Potrebbe diventare una funzione di XVT.h)
+static SLIST_ELT xvt_slist_find_str(SLIST list, const char* str)
+{
+ SLIST_ELT e = NULL;
+ for (e = xvt_slist_get_first(list); e; e = xvt_slist_get_next(list, e))
+ {
+ const char* val = xvt_slist_get(list, e, NULL);
+ if (xvt_str_compare_ignoring_case(str, val) == 0)
+ break;
+ }
+ return e;
+}
+
+// Aggiorna il file dst se pi vecchio di src (Potrebbe diventare una funzione di XVT.h)
+bool xvt_fsys_fupdate(const char* src, const char* dst)
+{
+ bool ok = false;
+ if (xvt_fsys_file_exists(src))
+ {
+ const long tsrc = xvt_fsys_file_attr(src, XVT_FILE_ATTR_MTIME);
+ if (tsrc > 0)
+ {
+ long tdst = 0;
+ if (xvt_fsys_file_exists(dst))
+ tdst = xvt_fsys_file_attr(dst, XVT_FILE_ATTR_MTIME);
+ if (tsrc > tdst)
+ ok = xvt_fsys_fcopy(src, dst) != 0;
+ }
+ }
+
+ return ok;
+}
+
/////////////////////////////////////////////////////////////////////////////////////
// TJava_profile
/////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/fe/fe0100.cpp b/src/fe/fe0100.cpp
index 226673b79..f3c1eca20 100755
--- a/src/fe/fe0100.cpp
+++ b/src/fe/fe0100.cpp
@@ -244,6 +244,10 @@ TExclusion_mode TSpesometro_msk::validate_mov(const TRectype& mov)
if (anno < 2012)
return segnala_movimento(mov, em_data_limite);
+#ifdef DBG
+ if (mov.get_long(MOV_NUMREG) ==14224)
+ int sn = 1;
+#endif
const char tipocf = mov.get_char(MOV_TIPO);
const real impmin = get_real(F_IMPMIN);
diff --git a/src/fp/fplib01.cpp b/src/fp/fplib01.cpp
index 59286c4f8..a88369337 100644
--- a/src/fp/fplib01.cpp
+++ b/src/fp/fplib01.cpp
@@ -1390,36 +1390,11 @@ bool TDoc_fp::export_info_articolo(TFPRiga_documento* rdoc, TPaf_record& paf1900
TString scat = rdoc->get(conai_sottocat_name(i));
TString msg_conai;
- msg_conai << "Contributo CONAI " << conai_material(conai_str2class(scat)) << " (Kg)";
+ msg_conai << "Contributo CONAI " << conai_material(conai_str2class(scat)) << " (KG)";
paf2100f.set("PK_TIPODATO", "CONAI");
paf2100f.set("PK_RIFDATO", msg_conai);
paf2100f.set("PK_RIFNUMERO", rdoc->get_real(conai_peso_name(i)).string());
ok &= insert(paf2100f);
-
-
- TLocalisamfile cfven(LF_CFVEN);
- cfven.put("TIPOCF", "C");
- cfven.put("CODCF", rdoc->doc().codcf());
- cfven.read();
- TString esen_field = conai_esenzione_name(conai_str2class(scat));
-
- real perc_esenz = cfven.get_real(esen_field);
- if (perc_esenz > ZERO)
- {
- reset(paf2100f);
- paf2100f.set("PK_KEYNLINEA", static_cast(riga_doc));
- paf2100f.set("PK_KEYNLINAR", _idx_adg_doc_row++);
-
- real qta = rdoc->calc_conai_qta(i);
- qta = qta * perc_esenz / CENTO;
- qta.round(2);
- TString msg_esen; msg_esen << "Esenzione CONAI sul totale riga (Kg)";
-
- paf2100f.set("PK_TIPODATO", "ESEN CONAI");
- paf2100f.set("PK_RIFDATO", msg_esen);
- paf2100f.set("PK_RIFNUMERO", qta);
- ok &= insert(paf2100f);
- }
}
}
return ok;
diff --git a/src/gfm/median.c b/src/gfm/median.c
index 9fbd519fb..6cf7d88ed 100755
--- a/src/gfm/median.c
+++ b/src/gfm/median.c
@@ -73,7 +73,7 @@ int n;
tmpa[i] = pSrc[i];
/* sort pointers */
- qsort((void *)tmpa,n,sizeof(DEC *), (int (__cdecl *)(void)) _SortInc);
+ qsort((void *)tmpa,n,sizeof(DEC *), _SortInc);
if (n%2)
_MacDCopy(pDst, tmpa[(n-1)/2]);
diff --git a/src/ic/ic0100f.rep b/src/ic/ic0100f.rep
index d671d9cd9..d9aa99419 100644
--- a/src/ic/ic0100f.rep
+++ b/src/ic/ic0100f.rep
@@ -395,9 +395,7 @@ THEN
#F1.203 +!
- USE IVADIFF KEY 4 SELECT (BETWEEN(DATAREGP;#DAL;#AL))(TIPOIVA==#TIPOIVA)(TIPODIFF==#TIPODIFF)((CHIUSA=#CHIUSA)||(#CHIUSA="T"))
-FROM DATAREG=#DAL
-TO DATAREG=#AL
+ USE IVADIFF SELECT (BETWEEN(DATAREG,#DAL,#AL))(TIPOIVA==#TIPOIVA)(TIPODIFF==#TIPODIFF)((CHIUSA=#CHIUSA)||(#CHIUSA="T"))
JOIN MOV INTO NUMREG==NUMREG
JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF
\ No newline at end of file
diff --git a/src/include/alex.cpp b/src/include/alex.cpp
index 37dd01e0f..12cdfa7c9 100755
--- a/src/include/alex.cpp
+++ b/src/include/alex.cpp
@@ -1170,12 +1170,7 @@ bool TAlex_virtual_machine::execute(const TBytecode& bc)
bool TAlex_virtual_machine::compile(const char* cmd, TBytecode& bc)
{
-#ifdef LINUX
- string s(cmd);
- istringstream instr(s);
-#else
istrstream instr((const char*)cmd, strlen(cmd));
-#endif
return compile(instr, bc);
}
diff --git a/src/include/applicat.cpp b/src/include/applicat.cpp
index 95d640f7d..f420d7fbc 100755
--- a/src/include/applicat.cpp
+++ b/src/include/applicat.cpp
@@ -296,11 +296,12 @@ void TApplication::stop_run()
{
if (_savefirm)
prefix().set_codditta(_savefirm);
- terminate();
+ terminate();
xvt_app_destroy();
}
+
bool TApplication::add_menu(TString_array& menu, MENU_TAG id)
{
TTemp_window tw(TASK_WIN);
@@ -315,77 +316,19 @@ bool TApplication::remove_menu(MENU_TAG id)
TApplication::TApplication()
- : _god_vars(nullptr),_savefirm(0), _running(false), _create_ok(false), _force(false)
+ : _god_vars(NULL),_savefirm(0), _running(FALSE), _create_ok(FALSE)
{
}
+
TApplication::~TApplication()
{
- SAFE_DELETE(_god_vars);
-}
-
-const TString & logdir()
-{
- TString & name = get_tmp_string(1024);
-
- name << firm2dir(prefix().get_codditta()) << "/log";
-
- return name;
-}
-
-const TString & logname()
-{
- TString & name = (TString &) logdir();
-
- name << "/dblog.xml";
- return name;
-}
-const TString & rollname(const TDate & day)
-{
- TString & name = (TString &)logdir();
-
- name << "/dblog" << day.date2ansi() << ".txt";
- return name;
+ if (_god_vars != NULL)
+ delete _god_vars;
}
bool TApplication::create()
-{
- if (use_files())
- {
- TConfig c(CONFIG_STUDIO, "Main");
-
- db_log(c.get("DBLog", "Main", -1, "off") == "on");
-
- if (db_log())
- {
- TFilename logd = logdir();
- int roll_days = c.get_int("RollingDays", "Main", -1, 10);
- TDate oggi(TODAY);
- TDate lastroll(c.get("LastDate", "Main", -1, oggi.stringa()));
- TDate limit(lastroll);
-
- if (!logd.exist())
- make_dir(logd);
- limit += roll_days;
- if (!lastroll.ok() || (limit <= oggi))
- {
- TSystemisamfile dblog(LF_DBLOG);
- TFilename roll = rollname(lastroll);
- TFilename logn = logname();
-
- dblog.dump(roll);
- dblog.zap();
- if (logn.exist())
- {
- roll.ext("xml");
- rename(logn, roll);
- }
- c.set("LastDate", oggi.date2ansi());
- }
- }
- }
- return true;
-}
+{ return true; }
bool TApplication::destroy()
@@ -398,8 +341,7 @@ void TApplication::terminate()
if (_create_ok)
destroy(); // Distruzione files e maschere
- if(!_force)
- do_events();
+ do_events();
if (use_files())
{
@@ -429,8 +371,7 @@ const char* TApplication::get_module_name() const
const TDongle& d = dongle();
const TString4 modname = _name.left(2);
word aut = d.module_name2code(modname);
-
- if (aut == 0xFFFF && modname == "ps")
+ if (aut == 0xFFFF && modname == "ps")
{
aut = 0;
module = TR("Personalizzazioni");
@@ -463,12 +404,19 @@ const char* TApplication::get_module_name() const
}
}
}
- if (!ok && !is_power_station())
- {
- cantaccess_box(module);
- module.cut(0);
- }
- }
+ if (!ok)
+ {
+ if(is_power_station())
+ {
+ warning_box("Attenzione! Non sei abilitato per l'utilizzo del modulo %s", static_cast(module));
+ }
+ else
+ {
+ cantaccess_box(module);
+ module.cut(0);
+ }
+ }
+ }
}
return module;
}
@@ -821,7 +769,7 @@ void TApplication::open_files(int logicnum, ...)
va_start(marker, logicnum);
while (logicnum >= LF_USER && logicnum < LF_EXTERNAL)
{
- if (_used_files.objptr(logicnum) == nullptr)
+ if (_used_files.objptr(logicnum) == NULL)
_used_files.add(new TLocalisamfile(logicnum), logicnum);
logicnum = va_arg(marker, int);
}
diff --git a/src/include/applicat.h b/src/include/applicat.h
index 01f75df7d..f2a0695f2 100755
--- a/src/include/applicat.h
+++ b/src/include/applicat.h
@@ -51,9 +51,6 @@ class TApplication
// @cmember:(INTERNAL) Codice della ditta
long _savefirm;
- // @cmember:(INTERNAL) Chiusura forzata per programmi senza interfaccia
- bool _force;
-
// @cmember:(INTERNAL) Indica se l'applicazione e' partita
bool _running;
@@ -62,7 +59,7 @@ class TApplication
// @cmember:(INTERNAL) Termine dell'applicazione
void terminate();
-
+
// @access Protected Member
protected:
// @cmember Ritorna il nome del modulo dell'applicazione
@@ -138,8 +135,6 @@ public:
// @cmember Forza la chiusura dell'applicazione
void stop_run();
- void TApplication::force_stop() {_force = true;}
-
// @cmember Mette il segno Check a fianco di una voce di menu
void check_menu_item(MENU_TAG item, bool on = true);
@@ -200,10 +195,6 @@ public:
virtual ~TApplication();
};
-const TString & logdir();
-const TString & logname();
-const TString & rollname(const TDate & day);
-
class TSkeleton_application : public TApplication
{
protected:
diff --git a/src/include/dongle.h b/src/include/dongle.h
index d78f3cec5..87fba2205 100755
--- a/src/include/dongle.h
+++ b/src/include/dongle.h
@@ -17,7 +17,7 @@
#include
#endif
-enum TDongleHardware { _dongle_unknown, _dongle_hardlock, _dongle_eutron, _dongle_network, _dongle_ssa, _dongle_ssanet,_dongle_software };
+enum TDongleHardware { _dongle_unknown=0, _dongle_network=3, _dongle_ssa=4, _dongle_ssanet=5 };
enum TDongleType { _no_dongle, _user_dongle, _developer_dongle };
class TDongle : public TObject
diff --git a/src/include/fraction.cpp b/src/include/fraction.cpp
index 3f904340c..2a11a7ce6 100755
--- a/src/include/fraction.cpp
+++ b/src/include/fraction.cpp
@@ -122,11 +122,7 @@ void fraction::build_fraction (const char *s)
}
}
n.strip(",.-+/[]");
-#ifdef WIN32
sscanf_s(n, "%I64d", &_num);
-#else
- sscanf_s(n, "%Ld", &_num);
-#endif
if (len_periodo > 0)
{
_den = 9;
diff --git a/src/include/isam.h b/src/include/isam.h
index 6347d58b4..63e0c6ff1 100755
--- a/src/include/isam.h
+++ b/src/include/isam.h
@@ -27,13 +27,6 @@
const int MAX_KEYS = 8;
-enum db_op {db_add = 1, db_remove, db_update};
-
-void db_log(bool on);
-void db_log_on();
-void db_log_off();
-bool db_log();
-
class TBaseisamfile;
class TLocalisamfile;
class TRecfield;
@@ -89,9 +82,6 @@ protected:
// @cmember:(INTERNAL) Campo "COD" della tabella
TMemo_data* _memo_data;
- TString_array _modified_fields;
- bool _preserve_values;
-
// @access Protected Member
protected:
// @cmember Segnalazione di un campo inesistente
@@ -110,7 +100,6 @@ protected:
virtual void put_str(const char* fieldname, const char* val);
bool set_edit_info(const char* ut, const char* dt, const char* or);
- void set_modified_field(int i, const char * val);
// @access Public Member
public:
@@ -172,8 +161,6 @@ public:
virtual int ndec(const char* fieldname) const;
// @cmember Indica se esiste il campo
virtual bool exist(const char* fieldname) const;
- // @cmember Indica se esiste il campo
e ritorna la ppsizionr
- virtual int find(const char* fieldname) const;
// @cmember Ritorna il nome del campo
-esimo
const char* fieldname(int i) const;
@@ -272,12 +259,6 @@ public:
// @cmember Ritorna true se sono uguali
bool is_equal(const TRectype& r) const;
- bool field_modified(int i) const { return _modified_fields.objptr(i) != NULL; }
- const TString & get_modified_field(int i) const { return field_modified(i) ? _modified_fields.row(i) : EMPTY_STRING; }
- void clear_modified_fields(int i = -1) { _modified_fields.destroy(i); }
- bool preserve_values() { return _preserve_values; }
- void set_preserve_values(bool on = true) { _preserve_values = on; }
-
virtual void init_memo(const TRecnotype recno = RECORD_NON_FISICO, TIsam_handle file = 0);
virtual void reset_memo() { _memo_data->init(RECORD_NON_FISICO, 0); }
virtual void update_memo() {}
@@ -350,7 +331,6 @@ protected:
// @access Protected Member
protected:
// @cmember:(INTERNAL) IO su file:
- virtual bool writelog(const db_op op, TRectype & rec, TRectype * new_rec, int fhnd);
virtual int _read(TRectype& rec, word op = _isequal, word lockop = _nolock);
virtual int _readat(TRectype& rec, TRecnotype nrec, word lockop = _nolock);
virtual int _write(const TRectype& rec);
@@ -818,7 +798,6 @@ class TRecfield : public TObject
TString16 _name, _sub_field;
// @cmember:(INTERNAL) Puntatore a inizio record
TRectype* _rec;
- int _nf;
// @cmember:(INTERNAL) Puntatore a inizio campo
char* _p;
// @cmember:(INTERNAL) Lunghezza del campo
diff --git a/src/include/lffiles.h b/src/include/lffiles.h
index 2680b5b96..27ef6c2bc 100755
--- a/src/include/lffiles.h
+++ b/src/include/lffiles.h
@@ -198,7 +198,6 @@
#define LF_FPCART 178
#define LF_FPCADG 179
#define LF_CONART 180
-#define LF_DBLOG 181
#define LF_EXTERNAL 1000 // Files with id >= are considered to be externals
diff --git a/src/include/postman.cpp b/src/include/postman.cpp
index 8d33b6960..7d811ae3d 100755
--- a/src/include/postman.cpp
+++ b/src/include/postman.cpp
@@ -368,12 +368,7 @@ bool TPostman::dispatch_transaction(const TRectype& rec,
TSocketClient socket;
char * buf = new char[1024 * 256];
-#ifdef WIN32
ostrstream stream(buf, 1024 * 256);
-#else
- ostringstream stream(buf);
-#endif
-
bool ok = true;
item.SetTag("m:CampoTransaction");
diff --git a/src/include/prefix.cpp b/src/include/prefix.cpp
index 8930b5982..b7485fc5f 100755
--- a/src/include/prefix.cpp
+++ b/src/include/prefix.cpp
@@ -495,7 +495,7 @@ const TFilename& TFile_info::load_filedes()
{
_dir = _filedes.SysName[0] != '$' ? _comdir : _nordir;
_name = CAddPref(_filedes.SysName);
- strncpy_s(_filedes.Des, dictionary_translate(_filedes.Des), sizeof(_filedes.Des)-1);
+ strncpy(_filedes.Des, dictionary_translate(_filedes.Des), sizeof(_filedes.Des)-1);
}
else
_name.cut(0);
@@ -534,7 +534,7 @@ TFile_info::TFile_info(int logicnum, TFilename& name)
int err = DB_recinfo(_name, &_filedes, (RecDes*)&rec.rec(), keys.get_buffer());
if (err == NOERR && prefix().add_recdes(logicnum, rec, keys))
{
- strncpy_s(_filedes.SysName, _name, sizeof(_filedes.SysName));
+ strncpy(_filedes.SysName, _name, sizeof(_filedes.SysName));
_filedes.SysName[41] = '\0';
}
else
@@ -1036,7 +1036,7 @@ void TPrefix::set(
{
const TString saved_prf = __ptprf; // Salvo __ptprf che viene cambiato da CGetPref
char* prfx = (char*)CGetPref(); // Safe non const cast for StPath cprefix
- strcpy_s(__ptprf, saved_prf);
+ strcpy(__ptprf, saved_prf);
xvt_fsys_build_pathname(prfx, NULL, __ptprf, _prefix, NULL, NULL);
}
else
@@ -1168,7 +1168,7 @@ bool TPrefix::set_studio(const char* study, long ditta)
const TString old_firm(_prefix);
strcpy_s(__ptprf, sizeof(__ptprf), study);
- const word len = (word) strlen(__ptprf);
+ const word len = strlen(__ptprf);
if (len > 0 && __ptprf[len-1] != '\\' && __ptprf[len-1] != '/')
{
__ptprf[len] = SLASH;
diff --git a/src/include/recarray.cpp b/src/include/recarray.cpp
index 535219595..f6ef8ac1d 100755
--- a/src/include/recarray.cpp
+++ b/src/include/recarray.cpp
@@ -205,21 +205,6 @@ void TRecord_array::sort(COMPARE_FUNCTION sort_func)
}
}
-int TRecord_array::find(const TRectype & rec, int nkey) const
-{
- const int last = last_row();
- const TString80 key2find = rec.key(nkey);
- TString80 key;
-
- for (int nrow = first_row(); nrow <= last; nrow = succ_row(nrow))
- {
- key = row(nrow).key(nkey);
- if (key2find == key)
- return nrow;
- }
- return -1;
-}
-
int TRecord_array::rec2row(const TRectype& r) const
{
CHECK(r.num() == _file, "Incompatible record");
@@ -462,36 +447,34 @@ int TRecord_array::write(bool re) const
const int u = _data.last();
- CHECK(u < 1 || !key().empty(), "Can't write rows using an empty key");
+ CHECK(u<1 || !key().empty(), "Can't write rows using an empty key");
int i;
for (i = 1; i <= u; i++)
{
- TRectype* r = (TRectype*)_data.objptr(i);
+ const TRectype* r = (TRectype*)_data.objptr(i);
- if (r != NULL)
- {
- if (re)
- {
- if (db_log() && _file != LF_DBLOG)
- r->set_preserve_values(false);
- err = r->rewrite(f);
- if (err == _iskeynotfound || err == _iseof || err == _isemptyfile)
- err = r->write(f);
- if (err != NOERR)
- break;
- }
- else
- {
- err = r->write(f);
- if (err == _isreinsert)
- {
- err = r->rewrite(f);
- re = true;
- }
- if (err != NOERR)
- break;
- }
- }
+ if (r != NULL)
+ {
+ if (re)
+ {
+ err = r->rewrite(f);
+ if (err == _iskeynotfound || err == _iseof || err == _isemptyfile)
+ err = r->write(f);
+ if (err != NOERR)
+ break;
+ }
+ else
+ {
+ err = r->write(f);
+ if (err == _isreinsert)
+ {
+ err = r->rewrite(f);
+ re = true;
+ }
+ if (err != NOERR)
+ break;
+ }
+ }
else
{
const int pos = i+_offset;
@@ -524,7 +507,7 @@ int TRecord_array::write(bool re) const
last_on_file = EOR; // Sul file non ci sono piu' righe da cancellare
delete rec;
}
- }
+ }
}
// Cancella eventuali residui successivi
diff --git a/src/include/recarray.h b/src/include/recarray.h
index bc1348715..b49293570 100755
--- a/src/include/recarray.h
+++ b/src/include/recarray.h
@@ -123,8 +123,6 @@ public:
bool renum_key(const char* field, long num);
// @cmember Ordina il Record Array secondo il criterio definito in
void sort(COMPARE_FUNCTION sort_func);
- // @cmember Cerca un record nel Record Array secondo la chiave nkey
- int find(const TRectype & rec, int nkey = 1) const ;
// @cmember Legge tutto l'array dal file
virtual int read(const TRectype& r);
diff --git a/src/include/relapp.cpp b/src/include/relapp.cpp
index 4764041fe..46dcf31db 100755
--- a/src/include/relapp.cpp
+++ b/src/include/relapp.cpp
@@ -565,15 +565,10 @@ bool TRelation_application::modify_mode()
{
if (err == _islocked)
{
- if (db_log())
- _locked = !yesno_box(TR("I dati sono gi usati da un altro programma, vuoi modificare ugualmente"));
- else
- {
- _locked = true;
- message_box(TR("I dati sono gi usati da un altro programma, scrittura disabilitata"));
- }
- }
- else
+ _locked = true;
+ message_box(TR("I dati sono gi usati da un altro programma, scrittura disabilitata"));
+ }
+ else
{
error_box(FR("Impossibile leggere i dati: errore %d"), err);
if (!is_transaction())
@@ -898,7 +893,7 @@ int TRelation_application::delete_mode()
{
cur = pos;
brw->do_output();
- bool can_delete = false;
+ bool can_delete = FALSE;
if (find(1))
{
TRelation& r = *get_relation();
@@ -914,14 +909,14 @@ int TRelation_application::delete_mode()
query_mode();
cur.freeze(true);
}
- _autodelete = false;
+ _autodelete = FALSE;
}
if (!can_delete)
skipped++;
deleting--;
}
}
- cur.freeze(false);
+ cur.freeze(FALSE);
set_limits(); // Riaggiorno il numero del primo/ultimo record
if (skipped > 0)
@@ -935,9 +930,9 @@ int TRelation_application::delete_mode()
else
{
if (search_mode())
- _autodelete = true;
+ _autodelete = TRUE;
}
- return true;
+ return TRUE;
}
// @doc INTERNAL
@@ -1416,7 +1411,7 @@ void TRelation_application::main_loop()
_mask->send_key(K_CTRL+'E', 0);
else
error_box(TR("Elemento non eliminabile."));
- _autodelete = false;
+ _autodelete = FALSE;
}
}
@@ -1427,7 +1422,7 @@ void TRelation_application::main_loop()
batch(false);
}
else
- k = _mask->run();
+ k = _mask->run();
switch (k)
{
@@ -1685,9 +1680,7 @@ void TRelation_application::main_loop()
}
if (_curr_trans_mode == TM_BATCH)
{
- batch(false);
-
- TString_array & errs = errors();
+ TString_array & errs = errors();
FOR_EACH_ARRAY_ROW(errs, r, s)
ini.set("ErrMsg", *s, "Main", false, r);
@@ -1701,8 +1694,6 @@ void TRelation_application::main_loop()
}
_trans_counter++;
} while ( _trans_counter < _ntransactions);
- if (_curr_trans_mode == TM_BATCH)
- force_stop();
}
bool TRelation_application::filter()
diff --git a/src/include/xml.cpp b/src/include/xml.cpp
index 5fb219f5e..932aa8825 100755
--- a/src/include/xml.cpp
+++ b/src/include/xml.cpp
@@ -1,7 +1,6 @@
#include
#include
#include
-#include
#include
#include
@@ -143,7 +142,7 @@ TXmlItem& TXmlItem::SetAttr(const char* strAttr, const char* strVal)
if (m_Attributes == NULL)
m_Attributes = new TAssoc_array;
m_Attributes->remove(strAttr);
- if (strVal)
+ if (strVal && *strVal)
m_Attributes->add(strAttr, new TXmlAttr(strVal));
return *this;
}
@@ -519,11 +518,7 @@ void TXmlItem::AsString(TString& str) const
{
char* buf = str.get_buffer(nSize);
memset(buf, 0, nSize);
-#ifdef WIN32
ostrstream outf(buf, nSize);
-#else
- ostringstream outf(buf);
-#endif
Write(outf, 0);
if (buf[nSize-1] == '\0')
@@ -537,15 +532,6 @@ void TXmlItem::Save(const char* strFilename) const
Write(outf, 0);
}
-void TXmlItem::Append(const char* strFilename) const
-{
- bool AppendToExisting = fexist(strFilename);
- ofstream outf;
-
- outf.open(strFilename, ios::app);
- Write(outf, AppendToExisting);
-}
-
bool TXmlItem::Load(const char* strFilename)
{
bool ok = false;
diff --git a/src/include/xml.h b/src/include/xml.h
index 36e760ad5..ee016509b 100755
--- a/src/include/xml.h
+++ b/src/include/xml.h
@@ -67,7 +67,6 @@ public:
void Save(const char* strFilename) const;
bool Load(const char* strFilename);
- void Append(const char* strFilename) const;
TXmlItem* ForEach(XmlItemCallback cb, long jolly = 0);
TXmlItem* FindFirst(const char* strTag) const; // Recursive
diff --git a/src/pa/pa0100.cpp b/src/pa/pa0100.cpp
index 17c4026f1..79de425a6 100644
--- a/src/pa/pa0100.cpp
+++ b/src/pa/pa0100.cpp
@@ -65,6 +65,39 @@ static bool chiave_paf(const TRectype& doc, TString& cess, TString& numdoc)
return cess.full();
}
+// Cerca una stringa all'interno di una SLIST (Potrebbe diventare una funzione di XVT.h)
+static SLIST_ELT xvt_slist_find_str(SLIST list, const char* str)
+{
+ SLIST_ELT e = NULL;
+ for (e = xvt_slist_get_first(list); e; e = xvt_slist_get_next(list, e))
+ {
+ const char* val = xvt_slist_get(list, e, NULL);
+ if (xvt_str_compare_ignoring_case(str, val) == 0)
+ break;
+ }
+ return e;
+}
+
+// Aggiorna il file dst se pi vecchio di src (Potrebbe diventare una funzione di XVT.h)
+bool xvt_fsys_fupdate(const char* src, const char* dst)
+{
+ bool ok = false;
+ if (xvt_fsys_file_exists(src))
+ {
+ const long tsrc = xvt_fsys_file_attr(src, XVT_FILE_ATTR_MTIME);
+ if (tsrc > 0)
+ {
+ long tdst = 0;
+ if (xvt_fsys_file_exists(dst))
+ tdst = xvt_fsys_file_attr(dst, XVT_FILE_ATTR_MTIME);
+ if (tsrc > tdst)
+ ok = xvt_fsys_fcopy(src, dst) != 0;
+ }
+ }
+
+ return ok;
+}
+
/////////////////////////////////////////////////////////////////////////////////////
// TJava_profile
/////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/ps/ps0214100.cpp b/src/ps/ps0214100.cpp
index 6d1b885d3..7a6ddc793 100755
--- a/src/ps/ps0214100.cpp
+++ b/src/ps/ps0214100.cpp
@@ -358,6 +358,7 @@ void TDichiarazione_CONAI::scrivi_csv(const TRectype& prima_riga, TDichiarazione
break;
}
}
+
if (n_riga_generata > 0)
scrivi_csv_doc_con_riga_generata(doc, n_riga_generata, csv, conai_specie);
else
diff --git a/src/sc/sc0100.cpp b/src/sc/sc0100.cpp
index 88dc094b9..8bb87743d 100755
--- a/src/sc/sc0100.cpp
+++ b/src/sc/sc0100.cpp
@@ -6,8 +6,6 @@
#include "sc0100.h"
#include "sc0100a.h"
-#include "../cg/cg2105.h"
-
#include
HIDDEN bool gruppo_handler(TMask_field& f, KEY key)
diff --git a/src/xvaga/wxinc.h b/src/xvaga/wxinc.h
index c0fd60d92..4f575f950 100755
--- a/src/xvaga/wxinc.h
+++ b/src/xvaga/wxinc.h
@@ -10,14 +10,8 @@
#define WINVER 0x0500
#define STRICT
#define WXUSINGDLL 1
-#include
-#else
-#define _FILE_OFFSET_BITS 64
-#define _LARGE_FILES
-#define __WXGTK__
-#define GTK_NO_CHECK_CASTS
-#define _IODBC
-#include
#endif
-#endif
+#include
+
+#endif
\ No newline at end of file
diff --git a/src/xvaga/xvt.h b/src/xvaga/xvt.h
index e53973748..dcbb2a9ab 100755
--- a/src/xvaga/xvt.h
+++ b/src/xvaga/xvt.h
@@ -352,9 +352,6 @@ XVTDLL long* xvt_slist_get_data(SLIST_ELT elt);
XVTDLL SLIST_ELT xvt_slist_get_first(SLIST list);
XVTDLL SLIST_ELT xvt_slist_get_next(SLIST list, SLIST_ELT item);
-XVTDLL SLIST_ELT xvt_slist_find_str(SLIST list, const char* str); // Cerca una stringa all'interno di una SLIST
-XVTDLL BOOLEAN xvt_fsys_fupdate(const char* src, const char* dst); // Aggiorna il file dst se pi vecchio di src
-
XVTDLL int xvt_str_compare_ignoring_case (const char* s1, const char* s2);
XVTDLL int xvt_str_encode(const char* text, char* cypher, int mode);
XVTDLL int xvt_str_decode(const char* cypher, char* text, int mode);
@@ -481,8 +478,6 @@ XVTDLL void xvt_win_set_handler(WINDOW win, EVENT_HANDLER eh);
XVTDLL void xvt_win_trap_pointer(WINDOW win);
XVTDLL BOOLEAN xvt_win_is_taskbar_visible();
-XVTDLL BOOLEAN xvt_win_is_taskbar_visible();
-
// Added by XVAGA
XVTDLL BOOLEAN xvt_pane_add(WINDOW parent, WINDOW pane, const char* name, int dock, int flags);
XVTDLL BOOLEAN xvt_pane_change_flags(WINDOW pane, int set, int reset);
diff --git a/src/xvaga/xvt_type.h b/src/xvaga/xvt_type.h
index db3d9f36f..38d5f0933 100755
--- a/src/xvaga/xvt_type.h
+++ b/src/xvaga/xvt_type.h
@@ -6,14 +6,6 @@
#define TRUE 1
#endif
-#ifdef LINUX
-#define _MAX_PATH 512
-#define _MAX_EXT 6
-#define _MAX_DRIVE 6
-#define _MAX_DIR 512
-#define _MAX_FNAME 512
-#endif
-
typedef unsigned long WINDOW;
typedef unsigned int UNIT_TYPE;
typedef unsigned long ULONG;
diff --git a/src/xvaga/xvtart.cpp b/src/xvaga/xvtart.cpp
index b186e7887..39186eca2 100755
--- a/src/xvaga/xvtart.cpp
+++ b/src/xvaga/xvtart.cpp
@@ -2,12 +2,7 @@
#include "xvt.h"
#include "xvtart.h"
-
-#ifdef __WXMSW__
#include "oswin32.h"
-#else
-#include "oslinux.h"
-#endif
#include
#include