pub struct DuAupresDuneAcp {
pub acp_id: String,
pub acp_name: String,
pub bce_number: Option<String>,
pub charges_en_attente: i64,
pub montant: Decimal,
}Expand description
Ce qu’un copropriétaire doit à UNE copropriété.
── Pourquoi par ACP, et pas un montant global ──────────────────────────
Un copropriétaire peut détenir des lots dans plusieurs ACP — situation
ordinaire d’un investisseur, et unit_owners est une relation n:n sans
contrainte d’ACP unique.
Or chaque ACP est une personne morale distincte, avec son propre compte bancaire : l’Art. 3.86 § 1er lui donne la personnalité juridique, le § 3 impose des comptes ouverts à son nom.
L’écran servait jusqu’ici un SyndicDashboardStats — un compte, un
montant, rien qui distingue les copropriétés. Un copropriétaire qui lit
« 1 262,50 € à payer » et fait un seul virement PAIE LA MAUVAISE PERSONNE
MORALE pour une partie de la somme : l’argent atterrit sur le compte de
l’ACP A pour des charges dues à l’ACP B. Le syndic de B devra réclamer,
celui de A rembourser.
Ce n’est donc pas un défaut d’affichage mais un paiement mal imputé. Agréger pour informer, séparer pour agir (#867).
Fields§
§acp_id: String§acp_name: String§bce_number: Option<String>Le numéro d’entreprise, à recopier sur le virement.
C’est lui qui identifie la personne morale créancière — l’Art. 3.86 § 1er al. 4 impose d’ailleurs qu’il figure sur tous les documents qui émanent de l’association.
charges_en_attente: i64§montant: DecimalMontant dû à CETTE association.
Decimal sérialisé en flottant JSON, comme pending_expenses_amount :
le contrat frontend type ce champ number, et le changer ici créerait
une dérive silencieuse.
Trait Implementations§
Source§impl Clone for DuAupresDuneAcp
impl Clone for DuAupresDuneAcp
Source§fn clone(&self) -> DuAupresDuneAcp
fn clone(&self) -> DuAupresDuneAcp
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DuAupresDuneAcp
impl Debug for DuAupresDuneAcp
Auto Trait Implementations§
impl Freeze for DuAupresDuneAcp
impl RefUnwindSafe for DuAupresDuneAcp
impl Send for DuAupresDuneAcp
impl Sync for DuAupresDuneAcp
impl Unpin for DuAupresDuneAcp
impl UnsafeUnpin for DuAupresDuneAcp
impl UnwindSafe for DuAupresDuneAcp
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
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>
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>
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 more