Patch level : 12.0 634
Files correlati : fp Commento : - Sistemata query per visualizzare fatture - Non valorizzo più le colonne vuote - Tolti dati sede per clienti stranieri
This commit is contained in:
parent
3fb031ee91
commit
03f90ed4b8
@ -131,7 +131,12 @@ void TPA_mask::fill()
|
||||
|
||||
const TDate dal = get(F_DATAINI);
|
||||
TString filter_selected = get(F_FATTSEL);
|
||||
|
||||
#ifdef DBG
|
||||
enable(DLG_OK);
|
||||
#else
|
||||
enable(DLG_OK, filter_selected != "X");
|
||||
#endif
|
||||
|
||||
// Record di controllo per eventuali elaborazioni precedenti
|
||||
TString hfatt(LEN_HFATT), bfatt(LEN_BFATT);
|
||||
|
@ -26,6 +26,7 @@ BEGIN
|
||||
PROMPT 1 2 "Fatture da visualizzare"
|
||||
ITEM "|Da inviare"
|
||||
ITEM "X|XML Generato"
|
||||
ITEM "N|Notificato"
|
||||
ITEM "E|In errore"
|
||||
END
|
||||
|
||||
|
@ -264,7 +264,8 @@ void TPaf_record::set(const char* fld, const char* val)
|
||||
// Imposta il valore di un campo stringa
|
||||
void TPaf_record::set(const char* fld, const TString& val)
|
||||
{
|
||||
const TVariant var(val);
|
||||
const TVariant var(val);
|
||||
if(!var.is_string() || (val.full()))
|
||||
set(fld, var);
|
||||
}
|
||||
|
||||
@ -401,7 +402,7 @@ bool TPaf_record::search()
|
||||
if (!var.is_null())
|
||||
query << fld << ", ";
|
||||
}
|
||||
query.rtrim(1) << "DESC;";
|
||||
query.rtrim(2) << " DESC;";
|
||||
|
||||
// return xvt_sql_execute(_db, query, paf_search_record, this) == 1;
|
||||
// TODO: Valutare
|
||||
@ -988,12 +989,17 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
}
|
||||
|
||||
// DatiSede
|
||||
paf0400f.set("P4_SEDEIND", cliente.via_residenza());
|
||||
paf0400f.set("P4_SEDENRCIVICO", cliente.civico_residenza());
|
||||
paf0400f.set("P4_SEDECAP", cliente.CAP_residenza());
|
||||
paf0400f.set("P4_SEDECOMUNE", cliente.comune_residenza());
|
||||
paf0400f.set("P4_SEDEPROV", cliente.provincia_residenza());
|
||||
paf0400f.set("P4_SEDENAZ", cliente.stato_residenza_ISO());
|
||||
|
||||
if (cliente.italiano())
|
||||
{
|
||||
paf0400f.set("P4_SEDEIND", cliente.via_residenza());
|
||||
paf0400f.set("P4_SEDENRCIVICO", cliente.civico_residenza());
|
||||
paf0400f.set("P4_SEDECAP", cliente.CAP_residenza());
|
||||
paf0400f.set("P4_SEDECOMUNE", cliente.comune_residenza());
|
||||
paf0400f.set("P4_SEDEPROV", cliente.provincia_residenza());
|
||||
paf0400f.set("P4_SEDENAZ", cliente.stato_residenza_ISO());
|
||||
}
|
||||
|
||||
paf0400f.set("P4_GESTIONE", "D");
|
||||
ok &= insert(paf0400f);
|
||||
// </CessionarioCommittente>
|
||||
@ -1187,8 +1193,10 @@ 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();
|
||||
TPaf_record paf3000f("PAF3000F");
|
||||
paf3000f.set("PT_KEYHEADERFATT", hfatt);
|
||||
paf3000f.set("PT_KEYBODYFATT", bfatt);
|
||||
remove(paf3000f);
|
||||
|
||||
long riga = 0;
|
||||
TString16 codivadefault;
|
||||
@ -1200,6 +1208,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
FOR_EACH_PHYSICAL_RDOC(doc, r, rdoc)
|
||||
{
|
||||
paf1800f.reset();
|
||||
@ -1207,15 +1216,14 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
paf1800f.set("PI_KEYBODYFATT", bfatt);
|
||||
paf1800f.set("PI_NUMEROLINEA", ++riga);
|
||||
|
||||
TPaf_record paf3000f("PAF3000F");
|
||||
paf3000f.reset();
|
||||
paf3000f.set("PT_KEYHEADERFATT", hfatt);
|
||||
paf3000f.set("PT_KEYBODYFATT", bfatt);
|
||||
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_QUANTITA", UNO);
|
||||
paf1800f.set("PI_PREZZOUNIT", ZERO);
|
||||
paf1800f.set("PI_PRZTOTALE", ZERO);
|
||||
paf1800f.set("PI_ALIQUOTAIVA", "22.00"); // Altrimenti scarta le righe di descrizione
|
||||
@ -1401,6 +1409,33 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
ok &= insert(paf1800f) && insert(paf3000f);
|
||||
}
|
||||
|
||||
// Controllo plafond
|
||||
// Riga esenzione?
|
||||
if (doc.is_fattura())
|
||||
{
|
||||
doc.set_riga_esenzione();
|
||||
if(doc.ha_riga_esenzione())
|
||||
{
|
||||
const TRiga_documento& riga_es = doc.get_riga_esenzione();
|
||||
paf1800f.reset();
|
||||
paf1800f.set("PI_KEYHEADERFATT", hfatt);
|
||||
paf1800f.set("PI_KEYBODYFATT", bfatt);
|
||||
paf1800f.set("PI_NUMEROLINEA", ++riga);
|
||||
|
||||
paf3000f.reset();
|
||||
paf3000f.set("PT_KEYHEADERFATT", hfatt);
|
||||
paf3000f.set("PT_KEYBODYFATT", bfatt);
|
||||
paf3000f.set("PT_RIFNUMLINEA", riga);
|
||||
paf3000f.set("PT_COMMENTO", descrizione(riga_es));
|
||||
|
||||
paf1800f.set("PI_QUANTITA", UNO);
|
||||
paf1800f.set("PI_PREZZOUNIT", ZERO);
|
||||
paf1800f.set("PI_PRZTOTALE", ZERO);
|
||||
paf1800f.set("PI_ALIQUOTAIVA", "22.00");
|
||||
ok &= insert(paf1800f) && insert(paf3000f);
|
||||
}
|
||||
}
|
||||
|
||||
// Se il bollo va fatto pagare bisogna aggiungere una riga!
|
||||
if(doc.get_bool("ADDBOLLI"))
|
||||
{
|
||||
@ -1409,33 +1444,53 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
paf1800f.set("PI_KEYBODYFATT", bfatt);
|
||||
paf1800f.set("PI_NUMEROLINEA", ++riga);
|
||||
|
||||
TPaf_record paf3000f("PAF3000F");
|
||||
paf3000f.reset();
|
||||
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_QUANTITA", UNO);
|
||||
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
|
||||
// Conai assolto
|
||||
if(doc.clifor().vendite().get_bool("CONAIASS"))
|
||||
{
|
||||
paf1800f.reset();
|
||||
paf1800f.set("PI_KEYHEADERFATT", hfatt);
|
||||
paf1800f.set("PI_KEYBODYFATT", bfatt);
|
||||
paf1800f.set("PI_NUMEROLINEA", ++riga);
|
||||
|
||||
paf3000f.reset();
|
||||
paf3000f.set("PT_KEYHEADERFATT", hfatt);
|
||||
paf3000f.set("PT_KEYBODYFATT", bfatt);
|
||||
paf3000f.set("PT_RIFNUMLINEA", riga);
|
||||
paf3000f.set("PT_COMMENTO", ini_get_string(CONFIG_DITTA, "ve", "DESCCONAIASS", "Contributo CONAI assolto ove dovuto"));
|
||||
|
||||
paf1800f.set("PI_QUANTITA", UNO);
|
||||
paf1800f.set("PI_PREZZOUNIT", ZERO);
|
||||
paf1800f.set("PI_PRZTOTALE", ZERO);
|
||||
paf1800f.set("PI_ALIQUOTAIVA", "22.00");
|
||||
ok &= insert(paf1800f) && insert(paf3000f);
|
||||
}
|
||||
|
||||
// </DatiBeniServizi>
|
||||
|
||||
|
||||
// <DatiTrasporto>
|
||||
/*
|
||||
* Non valorizziamo nulla al momento in quanto su Campo i dati obbligatori non ci sono/non sono obbligatori
|
||||
TString cod_vettore = doc.get("CODVETT1");
|
||||
// É una fattura accompagnatoria!
|
||||
if(cod_vettore.full())
|
||||
{
|
||||
TRectype vettore = cache().get("%VET", cod_vettore);
|
||||
// Controllo di avere tutto quello che mi interessa
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
// </DatiTrasporto>
|
||||
|
||||
// Salvo la testata
|
||||
|
Loading…
x
Reference in New Issue
Block a user