Skip to content
Extraits de code Groupes Projets
Valider ac899779 rédigé par Rémi - Le Filament's avatar Rémi - Le Filament
Parcourir les fichiers

[FIX] bank statement creation

parent e2cee861
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -48,11 +48,28 @@ class EbicsStatementRopImport(models.TransientModel):
<hr/>
"""
ebics_mvt_file_id = ebics_wizard_act.get("context").get("ebics_file_ids")
ebics_mvt_file = self.env["ebics.file"].search(
[("id", "in", ebics_mvt_file_id)]
)
ebics_mvt_file = self.env["ebics.file"].browse(ebics_mvt_file_id)
if ebics_mvt_file:
ebics_mvt_file.ensure_one()
# Process EBICS MVT (= create bank statement)
ebics_mvt_file.process()
bank_statement = ebics_mvt_file.bank_statement_ids
bank_statement.ensure_one()
self.log += f"""
<strong><u>Import des mouvements enrichis<u></strong><br/>
Référence : {bank_statement.name}
- Journal : {bank_statement.journal_id.name}
- Date : {bank_statement.date} <br/>
Solde Initial : {bank_statement.balance_start} €<br/>
Solde Final : {bank_statement.balance_end}
<hr/>
"""
else:
self.log += """
<strong><u>Import des mouvements enrichis<u></strong><br/>
Aucune donnée n'a pu être téléchargée,
il n'y a donc pas de données à importer.
<hr/>
"""
# Download EBICS ROP
ebics_rop_obj = self.env["ebics.xfer"].create(
......@@ -71,50 +88,11 @@ class EbicsStatementRopImport(models.TransientModel):
<hr/>
"""
ebics_rop_file_id = ebics_rop_wizard_act.get("context").get("ebics_file_ids")
ebics_rop_file = self.env["ebics.file"].search(
[("id", "in", ebics_rop_file_id)]
)
if ebics_rop_file:
ebics_rop_file.ensure_one()
# Import EBICS mvt file
if ebics_mvt_file:
journal_id = self.env["account.journal"].search(
[("bank_account_id", "=", ebics_conf_id.bank_id.id)]
)
import_mvt = self.env["account.bank.statement.import"].create(
{
"data_file": ebics_mvt_file.data,
"filename": ebics_mvt_file.name,
}
)
import_mvt_act = import_mvt.with_context(
journal_id=journal_id.id
).import_file()
bank_statement_id = import_mvt_act.get("context").get("statement_ids")
bank_statement = self.env["account.bank.statement"].browse(
bank_statement_id
)
bank_statement.ensure_one()
self.log += f"""
<strong><u>Import des mouvements enrichis<u></strong><br/>
Référence : {bank_statement.name}
- Journal : {bank_statement.journal_id.name}
- Date : {bank_statement.date} <br/>
Solde Initial : {bank_statement.balance_start} €<br/>
Solde Final : {bank_statement.balance_end}
<hr/>
"""
ebics_rop_file = self.env["ebics.file"].browse(ebics_rop_file_id)
else:
self.log += """
<strong><u>Import des mouvements enrichis<u></strong><br/>
Aucune donnée n'a pu être téléchargée,
il n'y a donc pas de données à importer.
<hr/>
"""
if ebics_rop_file and ebics_mvt_file:
if ebics_rop_file and bank_statement:
# Process EBICS ROP file
ebics_rop_file.ensure_one()
# Suppression de lignes CORPORATE
line_to_delete = bank_statement.line_ids.filtered(
lambda line: "CORPORATE CARD" in line.name
......@@ -132,6 +110,7 @@ class EbicsStatementRopImport(models.TransientModel):
for ropl in rop_lines:
ropl.update({"statement_id": bank_statement.id})
self.env["account.bank.statement.line"].create(ropl)
ebics_rop_file.state = "done"
self.log += f"""
<strong><u>Création des lignes ROP<u></strong><br/>
......
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