Merge remote-tracking branch 'origin/R_10_00' into R_10_00
This commit is contained in:
commit
6ad2695d78
3
cd/test/fp0788.txt
Normal file
3
cd/test/fp0788.txt
Normal file
@ -0,0 +1,3 @@
|
||||
fp0.exe
|
||||
|
||||
Sistemato calcolo importo riga per chi non espone gli sconti in fattura
|
19
cd/test/fp0788a.ini
Normal file
19
cd/test/fp0788a.ini
Normal file
@ -0,0 +1,19 @@
|
||||
[Main]
|
||||
Demo=0
|
||||
|
||||
[fp1]
|
||||
File(0) = fp0.exe|X
|
||||
Patch = 0788
|
||||
Versione = 21511200
|
||||
|
||||
[fp]
|
||||
Data = 13-05-2019
|
||||
Descrizione = Fattura Elettronica
|
||||
Dischi = 1
|
||||
Moduli = cg,ve
|
||||
OEM =
|
||||
Patch = 788
|
||||
PostProcess =
|
||||
PreProcess =
|
||||
Versione = 21511200
|
||||
|
BIN
cd/test/fp0788a1.zip
Normal file
BIN
cd/test/fp0788a1.zip
Normal file
Binary file not shown.
@ -404,7 +404,7 @@ class TFPRiga_documento : public TRiga_documento
|
||||
{
|
||||
public:
|
||||
real prezzo(bool scontato, bool lordo, int ndec = AUTO_DECIMALS) const;
|
||||
real importo(bool scontato, bool lordo, int ndec = AUTO_DECIMALS) const;
|
||||
real imponibile(const bool lordo) const;
|
||||
real quantita() const;
|
||||
TString& quantita_string() const;
|
||||
|
||||
|
@ -1222,7 +1222,7 @@ const TString& TDoc_fp::converti_prezzo(const real& prezzo) const
|
||||
{
|
||||
TCurrency app(prezzo, _doc_cambio._cod_val, _doc_cambio._cambio, true);
|
||||
app.change_to_euro_val();
|
||||
ret << app.get_num().string(0,8);
|
||||
ret << app.get_num().string(0);
|
||||
}
|
||||
else
|
||||
ret << prezzo;
|
||||
@ -1237,8 +1237,9 @@ void TDoc_fp::set_qta_prezzo(TPaf_record& paf1800f, TFPRiga_documento* rdoc) con
|
||||
const real qta = rdoc->quantita();
|
||||
// Prendendo la stringa non ho problemi in scrittura della query, a volte accadono cose stupide
|
||||
TString& qta_string = rdoc->quantita_string();
|
||||
real prezzo_unit = rdoc->prezzo(_nascondi_sconti_righe_fatt, false, 5);
|
||||
real prezzo_tot = rdoc->importo(true, false);
|
||||
real prezzo_unit = rdoc->prezzo(_nascondi_sconti_righe_fatt, false);
|
||||
real prezzo_tot = rdoc->imponibile(false);
|
||||
|
||||
|
||||
if(qta < ZERO)
|
||||
{
|
||||
@ -1344,7 +1345,7 @@ bool TDoc_fp::add_cassa_previdenziale(TRiga_documento& rdoc)
|
||||
|
||||
// Resto
|
||||
const TSpesa_prest& sp = rdoc.spesa();
|
||||
const real imponibile_ritenuta = calc_ritenuta(rdoc.doc());
|
||||
const real imponibile_ritenuta = rdoc.doc().ritenute();//calc_ritenuta(rdoc.doc());
|
||||
const real importo_cassa = imponibile_ritenuta * sp.perc() / CENTO;
|
||||
|
||||
paf0800f.set("P8_TIPOCASSA", sp.cassa_previdenziale());
|
||||
@ -1539,7 +1540,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
}
|
||||
{
|
||||
real imponibile = doc.imponibile(true);
|
||||
paf0700f.set("P7_IMPORTOBOLLO", converti_prezzo(doc.bolli(imponibile, 8)));
|
||||
TExchange exchange(_doc_cambio._cod_val);
|
||||
paf0700f.set("P7_IMPORTOBOLLO", converti_prezzo(doc.bolli(imponibile, exchange.decimals())));
|
||||
}
|
||||
|
||||
// Nel dubbio risetto
|
||||
@ -1799,7 +1801,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
// Altrimenti lo metto in riga
|
||||
else
|
||||
{
|
||||
const real imp = rdoc->importo(true, false);
|
||||
const real imp = rdoc->imponibile(false);
|
||||
real qta = UNO;
|
||||
bool qta_inverse = false;
|
||||
if (sp.is_tipo())
|
||||
@ -1823,7 +1825,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
real prz = imp;
|
||||
if (qta != UNO)
|
||||
{
|
||||
prz = rdoc->prezzo(_nascondi_sconti_righe_fatt, false, 8);
|
||||
prz = rdoc->prezzo(_nascondi_sconti_righe_fatt, false);
|
||||
if (prz.is_zero() && !imp.is_zero())
|
||||
{
|
||||
const TPrice price(imp / qta);
|
||||
@ -1883,8 +1885,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
|
||||
// Metto i dati come si trattasse di una riga normalissima
|
||||
paf1800f.set("PI_UNITAMISURA", rdoc->get(RDOC_UMQTA));
|
||||
paf1800f.set("PI_QUANTITA", rdoc->get_real(RDOC_QTA).string(0, 8));
|
||||
paf1800f.set("PI_PREZZOUNIT", converti_prezzo(rdoc->prezzo(false, false, 8)));
|
||||
paf1800f.set("PI_QUANTITA", rdoc->get_real(RDOC_QTA).string(0));
|
||||
paf1800f.set("PI_PREZZOUNIT", converti_prezzo(rdoc->prezzo(false, false)));
|
||||
paf1800f.set("PI_PRZTOTALE", converti_prezzo(rdoc->prezzo(false, false) * rdoc->get_real(RDOC_QTA)));
|
||||
|
||||
TRiepilogo_agg& riepilogo_agg = _riepilogo_agg[rdoc->iva().codice()];
|
||||
@ -1999,8 +2001,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
|
||||
paf3000f.set("PT_COMMENTO", "Spese incasso");
|
||||
paf1800f.set("PI_QUANTITA", UNO);
|
||||
real imponibile = doc.imponibile();
|
||||
paf1800f.set("PI_PREZZOUNIT", converti_prezzo(doc.spese_incasso(imponibile, 6, _netto)));
|
||||
paf1800f.set("PI_PRZTOTALE", converti_prezzo(doc.spese_incasso(imponibile, 6, _netto)));
|
||||
paf1800f.set("PI_PREZZOUNIT", converti_prezzo(doc.spese_incasso(imponibile, AUTO_DECIMALS, _netto)));
|
||||
paf1800f.set("PI_PRZTOTALE", converti_prezzo(doc.spese_incasso(imponibile, AUTO_DECIMALS, _netto)));
|
||||
|
||||
set_IVA(ini_get_string(CONFIG_DITTA, "ve", "SPINCODIVA"), paf1800f);
|
||||
ok &= insert(paf1800f) && insert(paf3000f);
|
||||
|
@ -16,10 +16,10 @@ real TFPRiga_documento::prezzo(const bool scontato, const bool lordo, const int
|
||||
return field_prezzo.full() ? get_real(field_prezzo) : TRiga_documento::prezzo(scontato, lordo, ndec);
|
||||
}
|
||||
|
||||
real TFPRiga_documento::importo(const bool scontato, const bool lordo, const int ndec) const
|
||||
real TFPRiga_documento::imponibile(const bool lordo) const
|
||||
{
|
||||
const TString& field_importo = fp_righe_custom().get_imponibile(tipo().codice(), doc().tipo().codice());
|
||||
return field_importo.full() ? get_real(field_importo) : TRiga_documento::importo(scontato, lordo, ndec);
|
||||
return field_importo.full() ? get_real(field_importo) : TRiga_documento::imponibile(lordo);
|
||||
}
|
||||
|
||||
real TFPRiga_documento::quantita() const
|
||||
|
Loading…
x
Reference in New Issue
Block a user