pub struct LigneDeFacture {
pub description: String,
pub quantity: Decimal,
pub unit_price: Decimal,
pub vat_rate: Decimal,
}Expand description
Une ligne de facture, telle que le domaine la connaît.
Les montants dérivés — hors TVA, TVA, TTC — sont calculés à partir de la quantité, du prix unitaire et du taux, jamais transmis par l’appelant : un client qui enverrait un total incohérent avec ses composants ferait mentir la facture.
Fields§
§description: String§quantity: Decimal§unit_price: Decimal§vat_rate: DecimalImplementations§
Source§impl LigneDeFacture
impl LigneDeFacture
Sourcepub fn montant_hors_tva(&self) -> Decimal
pub fn montant_hors_tva(&self) -> Decimal
Le montant hors TVA : quantité × prix unitaire.
Sourcepub fn montant_tva(&self) -> Decimal
pub fn montant_tva(&self) -> Decimal
La TVA due sur la ligne.
Multiplication avant division, comme partout où un Decimal traverse
une fraction : diviser d’abord laisse une traîne d’arrondi qui finit
par déséquilibrer un total.
Sourcepub fn montant_tva_comprise(&self) -> Decimal
pub fn montant_tva_comprise(&self) -> Decimal
Le montant TVA comprise.
Trait Implementations§
Source§impl Clone for LigneDeFacture
impl Clone for LigneDeFacture
Source§fn clone(&self) -> LigneDeFacture
fn clone(&self) -> LigneDeFacture
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LigneDeFacture
impl Debug for LigneDeFacture
Source§impl PartialEq for LigneDeFacture
impl PartialEq for LigneDeFacture
Source§fn eq(&self, other: &LigneDeFacture) -> bool
fn eq(&self, other: &LigneDeFacture) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for LigneDeFacture
Auto Trait Implementations§
impl Freeze for LigneDeFacture
impl RefUnwindSafe for LigneDeFacture
impl Send for LigneDeFacture
impl Sync for LigneDeFacture
impl Unpin for LigneDeFacture
impl UnsafeUnpin for LigneDeFacture
impl UnwindSafe for LigneDeFacture
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Fake for T
impl<T> Fake for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.