From c981beac44bbeaec93d33288e9ba95083965708b Mon Sep 17 00:00:00 2001
From: Daniil Digtyar Vasilieva <daniildigtyar@gmail.com>
Date: Tue, 26 Sep 2023 12:28:22 +0200
Subject: [PATCH] [IMP] energy_selfconsumption: added formula for qty

---
 .../wizards/contract_generation_wizard.py           | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/energy_selfconsumption/wizards/contract_generation_wizard.py b/energy_selfconsumption/wizards/contract_generation_wizard.py
index bcb92ea09..76c02ebf6 100644
--- a/energy_selfconsumption/wizards/contract_generation_wizard.py
+++ b/energy_selfconsumption/wizards/contract_generation_wizard.py
@@ -42,6 +42,13 @@ class ContractGenerationWizard(models.TransientModel):
             }
         )
 
+        formula_contract_id = self.env["contract.line.qty.formula"].create(
+            {
+                "name": _("Formula - %s") % (self.selfconsumption_id.name),
+                "code": "result = line.supply_point_assignation_id.distribution_table_id.selfconsumption_project_id.power * line.supply_point_assignation_id.coefficient * 30",
+            }
+        )
+
         journal_id = self.env["account.journal"].search(
             [("company_id", "=", self.env.company.id), ("type", "=", "sale")], limit=1
         )
@@ -109,10 +116,12 @@ class ContractGenerationWizard(models.TransientModel):
                         0,
                         {
                             "product_id": product_id.id,
+                            "automatic_price": True,
                             "company_id": self.env.company.id,
-                            "qty_type": "fixed",
-                            "quantity": 1,
+                            "qty_type": "variable",
+                            "qty_formula_id": formula_contract_id.id,
                             "name": _(supply_point_assignation_id.supply_point_id.code),
+                            "supply_point_assignation_id": supply_point_assignation_id.id,
                         },
                     )
                 )
-- 
GitLab