campo-sirio/src/fp/fplib04.cpp

37 lines
1.1 KiB
C++
Raw Normal View History

#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;
}