campo-sirio/src/fp/fplib04.cpp
Mattia Tollari 34dfb4a576 Patch level : 12.0 788
Files correlati     : fp0
Commento            :
- Rifatto calcolo imponibile, adesso al posto di chiamare la funzione di TDocumento importo() chiama imponibile()
- Tolti decimali di troppo, adesso vengono usati quelli impostati nella valuta
2019-05-13 11:10:27 +02:00

37 lines
1.1 KiB
C++

#include "fplib.h"
TFP_righe_custom& fp_righe_custom()
{
static TFP_righe_custom* fidel_custom = nullptr;
if(fidel_custom == nullptr)
{
fidel_custom = new TFP_righe_custom;
}
return *fidel_custom;
}
real TFPRiga_documento::prezzo(const bool scontato, const bool lordo, const int ndec) const
{
const TString& field_prezzo = fp_righe_custom().get_prezzo(tipo().codice(), doc().tipo().codice());
return field_prezzo.full() ? get_real(field_prezzo) : TRiga_documento::prezzo(scontato, lordo, ndec);
}
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::imponibile(lordo);
}
real TFPRiga_documento::quantita() const
{
const TString& field_qta = fp_righe_custom().get_qta(tipo().codice(), doc().tipo().codice());
real qta = field_qta.full() ? get_real(field_qta) : TRiga_documento::quantita();
return qta.is_zero() ? UNO : qta;
}
TString& TFPRiga_documento::quantita_string() const
{
static TString qta_string;
qta_string.cut(0) << quantita().string();
return qta_string;
}