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);
|
const TDate dal = get(F_DATAINI);
|
||||||
TString filter_selected = get(F_FATTSEL);
|
TString filter_selected = get(F_FATTSEL);
|
||||||
|
|
||||||
|
#ifdef DBG
|
||||||
|
enable(DLG_OK);
|
||||||
|
#else
|
||||||
enable(DLG_OK, filter_selected != "X");
|
enable(DLG_OK, filter_selected != "X");
|
||||||
|
#endif
|
||||||
|
|
||||||
// Record di controllo per eventuali elaborazioni precedenti
|
// Record di controllo per eventuali elaborazioni precedenti
|
||||||
TString hfatt(LEN_HFATT), bfatt(LEN_BFATT);
|
TString hfatt(LEN_HFATT), bfatt(LEN_BFATT);
|
||||||
|
@ -26,6 +26,7 @@ BEGIN
|
|||||||
PROMPT 1 2 "Fatture da visualizzare"
|
PROMPT 1 2 "Fatture da visualizzare"
|
||||||
ITEM "|Da inviare"
|
ITEM "|Da inviare"
|
||||||
ITEM "X|XML Generato"
|
ITEM "X|XML Generato"
|
||||||
|
ITEM "N|Notificato"
|
||||||
ITEM "E|In errore"
|
ITEM "E|In errore"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -264,7 +264,8 @@ void TPaf_record::set(const char* fld, const char* val)
|
|||||||
// Imposta il valore di un campo stringa
|
// Imposta il valore di un campo stringa
|
||||||
void TPaf_record::set(const char* fld, const TString& val)
|
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);
|
set(fld, var);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -401,7 +402,7 @@ bool TPaf_record::search()
|
|||||||
if (!var.is_null())
|
if (!var.is_null())
|
||||||
query << fld << ", ";
|
query << fld << ", ";
|
||||||
}
|
}
|
||||||
query.rtrim(1) << "DESC;";
|
query.rtrim(2) << " DESC;";
|
||||||
|
|
||||||
// return xvt_sql_execute(_db, query, paf_search_record, this) == 1;
|
// return xvt_sql_execute(_db, query, paf_search_record, this) == 1;
|
||||||
// TODO: Valutare
|
// TODO: Valutare
|
||||||
@ -988,12 +989,17 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// DatiSede
|
// DatiSede
|
||||||
paf0400f.set("P4_SEDEIND", cliente.via_residenza());
|
|
||||||
paf0400f.set("P4_SEDENRCIVICO", cliente.civico_residenza());
|
if (cliente.italiano())
|
||||||
paf0400f.set("P4_SEDECAP", cliente.CAP_residenza());
|
{
|
||||||
paf0400f.set("P4_SEDECOMUNE", cliente.comune_residenza());
|
paf0400f.set("P4_SEDEIND", cliente.via_residenza());
|
||||||
paf0400f.set("P4_SEDEPROV", cliente.provincia_residenza());
|
paf0400f.set("P4_SEDENRCIVICO", cliente.civico_residenza());
|
||||||
paf0400f.set("P4_SEDENAZ", cliente.stato_residenza_ISO());
|
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");
|
paf0400f.set("P4_GESTIONE", "D");
|
||||||
ok &= insert(paf0400f);
|
ok &= insert(paf0400f);
|
||||||
// </CessionarioCommittente>
|
// </CessionarioCommittente>
|
||||||
@ -1187,8 +1193,10 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
|||||||
paf1900f.set("PY_KEYBODYFATT", bfatt);
|
paf1900f.set("PY_KEYBODYFATT", bfatt);
|
||||||
remove(paf1900f); // Cancella tutte le righe articoli del documento
|
remove(paf1900f); // Cancella tutte le righe articoli del documento
|
||||||
|
|
||||||
if(doc.is_fattura())
|
TPaf_record paf3000f("PAF3000F");
|
||||||
doc.set_riga_esenzione();
|
paf3000f.set("PT_KEYHEADERFATT", hfatt);
|
||||||
|
paf3000f.set("PT_KEYBODYFATT", bfatt);
|
||||||
|
remove(paf3000f);
|
||||||
|
|
||||||
long riga = 0;
|
long riga = 0;
|
||||||
TString16 codivadefault;
|
TString16 codivadefault;
|
||||||
@ -1200,6 +1208,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FOR_EACH_PHYSICAL_RDOC(doc, r, rdoc)
|
FOR_EACH_PHYSICAL_RDOC(doc, r, rdoc)
|
||||||
{
|
{
|
||||||
paf1800f.reset();
|
paf1800f.reset();
|
||||||
@ -1207,15 +1216,14 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
|||||||
paf1800f.set("PI_KEYBODYFATT", bfatt);
|
paf1800f.set("PI_KEYBODYFATT", bfatt);
|
||||||
paf1800f.set("PI_NUMEROLINEA", ++riga);
|
paf1800f.set("PI_NUMEROLINEA", ++riga);
|
||||||
|
|
||||||
TPaf_record paf3000f("PAF3000F");
|
paf3000f.reset();
|
||||||
paf3000f.set("PT_KEYHEADERFATT", hfatt);
|
paf3000f.set("PT_KEYHEADERFATT", hfatt);
|
||||||
paf3000f.set("PT_KEYBODYFATT", bfatt);
|
paf3000f.set("PT_KEYBODYFATT", bfatt);
|
||||||
remove(paf3000f);
|
|
||||||
paf3000f.set("PT_RIFNUMLINEA", riga);
|
paf3000f.set("PT_RIFNUMLINEA", riga);
|
||||||
paf3000f.set("PT_COMMENTO", descrizione(*rdoc));
|
paf3000f.set("PT_COMMENTO", descrizione(*rdoc));
|
||||||
|
|
||||||
// Nel dubbio preparo la riga di descrizione
|
// 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_PREZZOUNIT", ZERO);
|
||||||
paf1800f.set("PI_PRZTOTALE", ZERO);
|
paf1800f.set("PI_PRZTOTALE", ZERO);
|
||||||
paf1800f.set("PI_ALIQUOTAIVA", "22.00"); // Altrimenti scarta le righe di descrizione
|
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);
|
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!
|
// Se il bollo va fatto pagare bisogna aggiungere una riga!
|
||||||
if(doc.get_bool("ADDBOLLI"))
|
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_KEYBODYFATT", bfatt);
|
||||||
paf1800f.set("PI_NUMEROLINEA", ++riga);
|
paf1800f.set("PI_NUMEROLINEA", ++riga);
|
||||||
|
|
||||||
TPaf_record paf3000f("PAF3000F");
|
paf3000f.reset();
|
||||||
paf3000f.set("PT_KEYHEADERFATT", hfatt);
|
paf3000f.set("PT_KEYHEADERFATT", hfatt);
|
||||||
paf3000f.set("PT_KEYBODYFATT", bfatt);
|
paf3000f.set("PT_KEYBODYFATT", bfatt);
|
||||||
remove(paf3000f);
|
|
||||||
paf3000f.set("PT_RIFNUMLINEA", riga);
|
paf3000f.set("PT_RIFNUMLINEA", riga);
|
||||||
paf3000f.set("PT_COMMENTO", "Imposta bollo assolta in modo virtuale");
|
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_PREZZOUNIT", doc.get_real("BOLLI"));
|
||||||
paf1800f.set("PI_PRZTOTALE", doc.get_real("BOLLI"));
|
paf1800f.set("PI_PRZTOTALE", doc.get_real("BOLLI"));
|
||||||
set_IVA(doc.codiva_bolli(), paf1800f);
|
set_IVA(doc.codiva_bolli(), paf1800f);
|
||||||
ok &= insert(paf1800f) && insert(paf3000f);
|
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>
|
// </DatiBeniServizi>
|
||||||
|
|
||||||
|
|
||||||
// <DatiTrasporto>
|
// <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");
|
TString cod_vettore = doc.get("CODVETT1");
|
||||||
// É una fattura accompagnatoria!
|
// É una fattura accompagnatoria!
|
||||||
if(cod_vettore.full())
|
if(cod_vettore.full())
|
||||||
{
|
{
|
||||||
|
TRectype vettore = cache().get("%VET", cod_vettore);
|
||||||
|
// Controllo di avere tutto quello che mi interessa
|
||||||
|
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
// </DatiTrasporto>
|
// </DatiTrasporto>
|
||||||
|
|
||||||
// Salvo la testata
|
// Salvo la testata
|
||||||
|
Loading…
x
Reference in New Issue
Block a user