Patch level : 12.0 no-patch
Files correlati : fp Commento : - Sistemato cod sdi in ricerca - Aggiunto bollo - Aggiunto supporto cod dest per chi non ha nulla - Sistemata eliminazione con id riga in chiave - Sistemato SQL
This commit is contained in:
parent
e894bf5e12
commit
d0ac7293a3
@ -89,9 +89,9 @@ BEGIN
|
||||
INPUT CODTAB S_TIPODOCSEL
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Tipo SDI@10" S12
|
||||
DISPLAY "Tipo SDI@10" S3[37,40]
|
||||
OUTPUT S_TIPODOCSEL CODTAB
|
||||
OUTPUT S_TIPODOCSDI S12
|
||||
OUTPUT S_TIPODOCSDI S3[37,40]
|
||||
CHECKTYPE FORCED
|
||||
FLAG "UPA"
|
||||
END
|
||||
|
@ -26,18 +26,26 @@
|
||||
void set_connection(SSimple_query& s)
|
||||
{
|
||||
#ifdef DBG
|
||||
if (s.sq_connect("TESTCAMPO2012@campo_fp",
|
||||
"fp",
|
||||
"fp",
|
||||
TSDB_MSSQL) != NOERR)
|
||||
fatal_box("Impossibile connettersi al DB esterno");
|
||||
#elif
|
||||
TString ip = ini_get_string(CONFIG_DITTA, "fp", "ip");
|
||||
if (ip.upper() != "TESTCAMPO2012")
|
||||
{
|
||||
if (s.sq_connect("TESTCAMPO2012@campo_fp",
|
||||
"fp",
|
||||
"fp",
|
||||
TSDB_MSSQL) != NOERR)
|
||||
fatal_box("Impossibile connettersi al DB esterno");
|
||||
}
|
||||
else
|
||||
{
|
||||
#endif
|
||||
if (s.sq_connect(
|
||||
TString() << ini_get_string(CONFIG_DITTA, "fp", "ip") << "@" << ini_get_string(CONFIG_DITTA, "fp", "db"),
|
||||
ini_get_string(CONFIG_DITTA, "fp", "usr"),
|
||||
decode(ini_get_string(CONFIG_DITTA, "fp", "psw")),
|
||||
TSDB_MSSQL) != NOERR)
|
||||
fatal_box("Impossibile connettersi al DB esterno");
|
||||
#ifdef DBG
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -165,10 +173,10 @@ bool get_coddest(const char tipocf, const long codcf, TString& coddest, TString&
|
||||
bool enapec = false;
|
||||
if (coddest.empty())
|
||||
{
|
||||
coddest = "0000000";
|
||||
// Controllo se ha la pec
|
||||
if (pec.full())
|
||||
{
|
||||
coddest = "0000000";
|
||||
enapec = true;
|
||||
}
|
||||
// Controllo se è straniero
|
||||
@ -176,9 +184,8 @@ bool get_coddest(const char tipocf, const long codcf, TString& coddest, TString&
|
||||
{
|
||||
coddest = "XXXXXXX";
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
// Dopo la versione 1.2 torna sempre true
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -206,31 +213,10 @@ inline const TString& no_special(char a)
|
||||
case '\'':
|
||||
r << "''";
|
||||
break;
|
||||
case '\\':
|
||||
r << "\\\\";
|
||||
break;
|
||||
default:
|
||||
r << a;
|
||||
}
|
||||
return r;
|
||||
/*
|
||||
if (a == 'à')
|
||||
return "a''";
|
||||
else if (a == 'è' || a == 'é')
|
||||
return "e''";
|
||||
else if (a == 'ì')
|
||||
return "i''";
|
||||
else if (a == 'ò')
|
||||
return "o''";
|
||||
else if (a == 'ù')
|
||||
return "u''";
|
||||
else if (a == '\'')
|
||||
return "''";
|
||||
else if (a == '\\')
|
||||
return "\\\\";
|
||||
// Se non trovo nulla ritorno il valore
|
||||
return a;
|
||||
*/
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
@ -360,7 +346,7 @@ const TString& TPaf_record::var2str(const TString& fldname, const TVariant& var)
|
||||
return tmp;
|
||||
}
|
||||
|
||||
TString& TPaf_record::remove_string()
|
||||
TString& TPaf_record::remove_string(bool id_riga)
|
||||
{
|
||||
TString& query = get_tmp_string().cut(0);
|
||||
query << "DELETE FROM " << _table << " WHERE ";
|
||||
@ -370,6 +356,8 @@ TString& TPaf_record::remove_string()
|
||||
const TVariant& var = get(fld);
|
||||
if (!var.is_null())
|
||||
{
|
||||
if (!id_riga && TString(fld).find("RIFNUMLINEA") > 0)
|
||||
continue;
|
||||
if (nkf++ > 0)
|
||||
query << " AND ";
|
||||
query << fld << '=' << var2str(fld, var);
|
||||
@ -1026,10 +1014,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
paf0700f.set("P7_GESTIONE", "D");
|
||||
|
||||
// <DatiBollo>
|
||||
if (doc.get_real("BOLLI") > ZERO)
|
||||
{
|
||||
paf0700f.set("P7_IMPORTOBOLLO", doc.get("BOLLI"));
|
||||
}
|
||||
paf0700f.set("P7_IMPORTOBOLLO", doc.get("BOLLI"));
|
||||
// </DatiBollo>
|
||||
|
||||
// <DatiCassaPrevidenziale>
|
||||
@ -1202,6 +1187,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
paf1900f.set("PY_KEYBODYFATT", bfatt);
|
||||
remove(paf1900f); // Cancella tutte le righe articoli del documento
|
||||
|
||||
if(doc.is_fattura())
|
||||
doc.set_riga_esenzione();
|
||||
|
||||
long riga = 0;
|
||||
TString16 codivadefault;
|
||||
@ -1226,7 +1213,11 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
remove(paf3000f);
|
||||
paf3000f.set("PT_RIFNUMLINEA", riga);
|
||||
paf3000f.set("PT_COMMENTO", descrizione(*rdoc));
|
||||
|
||||
|
||||
// Nel dubbio preparo la riga di descrizione
|
||||
paf1800f.set("PI_QUANTITA", ZERO);
|
||||
paf1800f.set("PI_PREZZOUNIT", ZERO);
|
||||
paf1800f.set("PI_PRZTOTALE", ZERO);
|
||||
paf1800f.set("PI_ALIQUOTAIVA", "22.00"); // Altrimenti scarta le righe di descrizione
|
||||
|
||||
// <CodiceArticolo>
|
||||
@ -1244,11 +1235,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
if (art.codice().full())
|
||||
{
|
||||
tmp.cut(0) << art.codice(); // Fixed_string di merda
|
||||
ok &= add_row_art("Codice interno", tmp, paf1900f);
|
||||
}
|
||||
if (rdoc->tipo().codice() == "14")
|
||||
{
|
||||
ok &= add_row_art("Codice cliente", rdoc->get("CODARTALT"), paf1900f);
|
||||
ok &= add_row_art("Codice articolo", tmp, paf1900f);
|
||||
}
|
||||
}
|
||||
// </CodiceArticolo>
|
||||
@ -1413,6 +1400,30 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
paf1800f.set("PI_GESTIONE", "D");
|
||||
ok &= insert(paf1800f) && insert(paf3000f);
|
||||
}
|
||||
|
||||
// Se il bollo va fatto pagare bisogna aggiungere una riga!
|
||||
if(doc.get_bool("ADDBOLLI"))
|
||||
{
|
||||
paf1800f.reset();
|
||||
paf1800f.set("PI_KEYHEADERFATT", hfatt);
|
||||
paf1800f.set("PI_KEYBODYFATT", bfatt);
|
||||
paf1800f.set("PI_NUMEROLINEA", ++riga);
|
||||
|
||||
TPaf_record paf3000f("PAF3000F");
|
||||
paf3000f.set("PT_KEYHEADERFATT", hfatt);
|
||||
paf3000f.set("PT_KEYBODYFATT", bfatt);
|
||||
remove(paf3000f);
|
||||
paf3000f.set("PT_RIFNUMLINEA", riga);
|
||||
paf3000f.set("PT_COMMENTO", "Imposta bollo assolta in modo virtuale");
|
||||
|
||||
paf1800f.set("PI_PREZZOUNIT", doc.get_real("BOLLI"));
|
||||
paf1800f.set("PI_PRZTOTALE", doc.get_real("BOLLI"));
|
||||
set_IVA(doc.codiva_bolli(), paf1800f);
|
||||
ok &= insert(paf1800f) && insert(paf3000f);
|
||||
}
|
||||
|
||||
// Controllo plafond
|
||||
|
||||
// </DatiBeniServizi>
|
||||
|
||||
|
||||
@ -1471,6 +1482,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
remove(paf2400f); // Cancella i dati pagamento
|
||||
|
||||
TPagamento& pag = doc.pagamento();
|
||||
|
||||
doc.scadenze_recalc(); // Ricalcola array delle rate
|
||||
TString_array& scad = doc.scadenze();
|
||||
const int nrate = scad.items(); // Conta rate generate
|
||||
|
@ -54,7 +54,7 @@ public:
|
||||
|
||||
TString& insert_string();
|
||||
bool insert();
|
||||
TString& remove_string();
|
||||
TString& remove_string(bool id_riga = false);
|
||||
bool remove();
|
||||
bool search();
|
||||
bool search(const char* k1, const char* k2, const char* k3 = NULL);
|
||||
|
@ -663,7 +663,7 @@ CREATE TABLE PAA3000F (
|
||||
PT_KEYHEADERFATT CHAR(20) NOT NULL DEFAULT '' ,
|
||||
PT_KEYBODYFATT CHAR(50) NOT NULL DEFAULT '' ,
|
||||
PT_RIFNUMLINEA NUMERIC(4, 0) NOT NULL DEFAULT 0 ,
|
||||
PT_COMMENTO VARCHAR NOT NULL DEFAULT '' ,
|
||||
PT_COMMENTO VARCHAR(1000) NOT NULL DEFAULT '' ,
|
||||
PT_GESTIONE CHAR(1) NOT NULL DEFAULT '' ) ;
|
||||
|
||||
ALTER TABLE PAA3000F
|
||||
@ -1755,6 +1755,10 @@ CREATE INDEX PAF2900F_KEY
|
||||
ON PAF2900F (PS_KEYPRGINVIO ASC , PS_KEYHEADERFATT ASC , PS_KEYBODYFATT ASC )
|
||||
;
|
||||
|
||||
CREATE INDEX PAF3000F_KEY
|
||||
ON PAF3000F (PT_KEYPRGINVIO ASC, PT_KEYHEADERFATT ASC, PT_KEYBODYFATT ASC, PT_RIFNUMLINEA ASC)
|
||||
;
|
||||
|
||||
CREATE INDEX PAF3100F_KEY
|
||||
ON PAF3100F (PH_KEYPRGINVIO ASC , PH_KEYHEADERFATT ASC , PH_KEYBODYFATT ASC )
|
||||
;
|
||||
@ -1765,4 +1769,4 @@ CREATE INDEX PAF3200F_KEY
|
||||
|
||||
CREATE INDEX PAFW300F_KEY
|
||||
ON PAFW300F (PW_KEYPRGINVIO ASC , PW_KEYHEADERFATT ASC , PW_KEYBODYFATT ASC)
|
||||
;
|
||||
;
|
||||
|
@ -83,9 +83,4 @@ ALTER TABLE PAFW300F ADD CONSTRAINT PAFW300F_TLLNNAPRV1 DEFAULT '19700101 00:00:
|
||||
UPDATE PAFW300F SET PW_UPAG = '19700101 00:00:00' WHERE PW_UPAG IS NULL;
|
||||
ALTER TABLE PAFW300F ALTER COLUMN PW_UPAG DATETIME NOT NULL;
|
||||
|
||||
-- TLLNNAPRV -> Tolla non approva
|
||||
|
||||
-- Aggiungo chiave mancante
|
||||
|
||||
CREATE INDEX PAF3000F_KEY
|
||||
ON PAF3000F ( PT_KEYPRGINVIO ASC, PT_KEYHEADERFATT ASC, PT_KEYBODYFATT ASC, PT_RIFNUMLINEA ASC) ;
|
||||
-- TLLNNAPRV -> Tolla non approva
|
Loading…
x
Reference in New Issue
Block a user