Skip to content
Extraits de code Groupes Projets
Valider 9cf2ecac rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

[update] bordereau schedule for year > 2021

parent 4c9df4d6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -1259,11 +1259,34 @@ class Bordereau(models.Model): ...@@ -1259,11 +1259,34 @@ class Bordereau(models.Model):
:return: dict with date as key and amount (float) as value :return: dict with date as key and amount (float) as value
""" """
# TODO: voir si possible d'optimiser avec le nouveau modèle # TODO: voir si possible d'optimiser avec le nouveau modèle
self.ensure_one()
MoveLine = self.env["account.move.line"] MoveLine = self.env["account.move.line"]
for bordereau in self: # Get invoices
inv_ids = bordereau.invoice_ids inv_ids = self.invoice_ids
if bordereau.is_regul: # Old way : pour les bordereaux flagués régularisation (2021)
if self.is_regul:
inv_ids = inv_ids.filtered(lambda i: i.move_type == "out_invoice") inv_ids = inv_ids.filtered(lambda i: i.move_type == "out_invoice")
schedule_plan = []
# Bordereaux avec trimestre sur les factures
if self.year != "2021":
payment_schedule = inv_ids.read_group(
domain=[("id", "in", inv_ids.ids)],
fields=["cotiz_quarter", "amount_total_signed"],
groupby=["cotiz_quarter"],
orderby="cotiz_quarter"
)
for payment in payment_schedule:
quarter = "trimester_" + payment.get("cotiz_quarter")
date_schedule = self.base_cotisation_cg.read(
[quarter])[0].get(quarter).strftime("%d/%m/%Y")
schedule_plan.append({
"date": date_schedule,
"amount": payment.get("amount_total_signed"),
})
# Old way : pour les bordereaux sans trimestre sur les factures
else:
move_lines = MoveLine.search( move_lines = MoveLine.search(
[ [
("move_id", "in", inv_ids.ids), ("move_id", "in", inv_ids.ids),
...@@ -1273,7 +1296,7 @@ class Bordereau(models.Model): ...@@ -1273,7 +1296,7 @@ class Bordereau(models.Model):
) )
schedule = list(dict.fromkeys(move_lines.mapped("date_maturity"))) schedule = list(dict.fromkeys(move_lines.mapped("date_maturity")))
schedule.sort() schedule.sort()
schedule_plan = []
for date in schedule: for date in schedule:
amount = 0 amount = 0
for item in move_lines: for item in move_lines:
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter