[FIX] Fix same eror in camt54 module

This commit is contained in:
Stefan Rijnhart
2021-02-02 09:42:39 +01:00
parent a186725633
commit b2c8622e87
8 changed files with 20 additions and 34 deletions

View File

@@ -219,8 +219,6 @@ class CamtParser(models.AbstractModel):
result["date"] = sorted( result["date"] = sorted(
transactions, key=lambda x: x["date"], reverse=True transactions, key=lambda x: x["date"], reverse=True
)[0]["date"] )[0]["date"]
for seq, vals in enumerate(transactions, start=1):
vals["sequence"] = seq
return result return result
def check_version(self, ns, root): def check_version(self, ns, root):

View File

@@ -10,13 +10,11 @@
'narration': 'CRÉDIT GROUPÉ BVR TRAITEMENT DU 22.03.2017 NUMÉRO CLIENT 01-70884-3 PAQUET ID: 123456CHCAFEBABE', 'narration': 'CRÉDIT GROUPÉ BVR TRAITEMENT DU 22.03.2017 NUMÉRO CLIENT 01-70884-3 PAQUET ID: 123456CHCAFEBABE',
'partner_name': 'Banque Cantonale Vaudoise', 'partner_name': 'Banque Cantonale Vaudoise',
'payment_ref': '/', 'payment_ref': '/',
'ref': '302388292000011111111111111', 'ref': '302388292000011111111111111'},
'sequence': 1},
{'account_number': 'CH3333000000123456789', {'account_number': 'CH3333000000123456789',
'amount': 1296.0, 'amount': 1296.0,
'date': '2017-03-22', 'date': '2017-03-22',
'narration': 'CRÉDIT GROUPÉ BVR TRAITEMENT DU 22.03.2017 NUMÉRO CLIENT 01-70884-3 PAQUET ID: 123456CHCAFEBABE', 'narration': 'CRÉDIT GROUPÉ BVR TRAITEMENT DU 22.03.2017 NUMÉRO CLIENT 01-70884-3 PAQUET ID: 123456CHCAFEBABE',
'partner_name': 'Banque Cantonale Vaudoise', 'partner_name': 'Banque Cantonale Vaudoise',
'payment_ref': '/', 'payment_ref': '/',
'ref': '302388292000022222222222222', 'ref': '302388292000022222222222222'}]}])
'sequence': 2}]}])

View File

@@ -9,26 +9,22 @@
'date': '2014-01-05', 'date': '2014-01-05',
'partner_name': 'INSURANCE COMPANY TESTX', 'partner_name': 'INSURANCE COMPANY TESTX',
'payment_ref': 'MKB Insurance 859239PERIOD 01.01.2014 - 31.12.2014', 'payment_ref': 'MKB Insurance 859239PERIOD 01.01.2014 - 31.12.2014',
'ref': '435005714488-ABNO33052620', 'ref': '435005714488-ABNO33052620'},
'sequence': 1},
{'account_number': 'NL46ABNA0499998748', {'account_number': 'NL46ABNA0499998748',
'amount': -564.05, 'amount': -564.05,
'date': '2014-01-05', 'date': '2014-01-05',
'partner_name': 'Test Customer', 'partner_name': 'Test Customer',
'payment_ref': 'Direct debit S14 0410 AC07 Rek.nummer blokkade TESTBANK/NL/20141229/01206408', 'payment_ref': 'Direct debit S14 0410 AC07 Rek.nummer blokkade TESTBANK/NL/20141229/01206408',
'ref': 'TESTBANK/NL/20141229/01206408', 'ref': 'TESTBANK/NL/20141229/01206408'},
'sequence': 2},
{'account_number': 'NL46ABNA0499998748', {'account_number': 'NL46ABNA0499998748',
'amount': -100.0, 'amount': -100.0,
'date': '2014-01-05', 'date': '2014-01-05',
'partner_name': 'Test Customer', 'partner_name': 'Test Customer',
'payment_ref': 'Direct debit S14 0410 AC07 Rek.nummer blokkade TESTBANK/NL/20141229/01206408', 'payment_ref': 'Direct debit S14 0410 AC07 Rek.nummer blokkade TESTBANK/NL/20141229/01206408',
'ref': 'TESTBANK/NL/20141229/01206407', 'ref': 'TESTBANK/NL/20141229/01206407'},
'sequence': 3},
{'account_number': 'NL69ABNA0522123643', {'account_number': 'NL69ABNA0522123643',
'amount': 1405.31, 'amount': 1405.31,
'date': '2014-01-05', 'date': '2014-01-05',
'partner_name': '3rd party Media', 'partner_name': '3rd party Media',
'payment_ref': '#RD PARTY MEDIA CUSNO 90782 4210773', 'payment_ref': '#RD PARTY MEDIA CUSNO 90782 4210773',
'ref': '115', 'ref': '115'}]}])
'sequence': 4}]}])

View File

@@ -118,6 +118,7 @@ class TestImport(TransactionCase):
) )
with open(testfile, "rb") as datafile: with open(testfile, "rb") as datafile:
camt_file = base64.b64encode(datafile.read()) camt_file = base64.b64encode(datafile.read())
self.env["account.statement.import"].create( self.env["account.statement.import"].create(
{ {
"statement_filename": "test import", "statement_filename": "test import",
@@ -156,4 +157,5 @@ class TestImport(TransactionCase):
[("name", "in", ["1234Test/2", "1234Test/3"])] [("name", "in", ["1234Test/2", "1234Test/3"])]
) )
self.assertTrue(all([st.line_ids for st in bank_st_record])) self.assertTrue(all([st.line_ids for st in bank_st_record]))
self.assertEqual(bank_st_record[0].line_ids.mapped("sequence"), [1, 2, 3])

View File

@@ -25,11 +25,10 @@ class AccountStatementImport(models.TransientModel):
amount = -amount amount = -amount
statement.line_ids.create( statement.line_ids.create(
{ {
"name": statement.name,
"amount": amount, "amount": amount,
"statement_id": statement.id, "statement_id": statement.id,
"date": statement.date, "date": statement.date,
"payment_ref": "/", "payment_ref": statement.name,
} }
) )
statement.balance_end_real = statement.balance_start statement.balance_end_real = statement.balance_start

View File

@@ -58,7 +58,7 @@ class CamtParser(models.AbstractModel):
"./ns:RmtInf/ns:Strd/ns:CdtrRefInf/ns:Ref", namespaces={"ns": ns} "./ns:RmtInf/ns:Strd/ns:CdtrRefInf/ns:Ref", namespaces={"ns": ns}
) )
if len(isr_number): if len(isr_number):
transaction["name"] = isr_number[0].text transaction["payment_ref"] = isr_number[0].text
partner_ref = self._get_partner_ref(isr_number[0].text) partner_ref = self._get_partner_ref(isr_number[0].text)
if partner_ref: if partner_ref:
transaction["partner_ref"] = partner_ref transaction["partner_ref"] = partner_ref
@@ -68,11 +68,11 @@ class CamtParser(models.AbstractModel):
"./ns:AddtlNtryInf", "./ns:AddtlNtryInf",
"/ns:Refs/ns:InstrId", "/ns:Refs/ns:InstrId",
] ]
name = transaction["name"] payment_ref = transaction["payment_ref"]
for xpath_expr in xpath_exprs: for xpath_expr in xpath_exprs:
found_node = node.xpath(xpath_expr, namespaces={"ns": ns}) found_node = node.xpath(xpath_expr, namespaces={"ns": ns})
if found_node: if found_node:
name = found_node[0].text payment_ref = found_node[0].text
break break
trans_id_node = ( trans_id_node = (
node.getparent() node.getparent()
@@ -80,9 +80,9 @@ class CamtParser(models.AbstractModel):
.xpath("./ns:AcctSvcrRef", namespaces={"ns": ns}) .xpath("./ns:AcctSvcrRef", namespaces={"ns": ns})
) )
if trans_id_node: if trans_id_node:
name = "{} ({})".format(name, trans_id_node[0].text) payment_ref = "{} ({})".format(payment_ref, trans_id_node[0].text)
if name: if payment_ref:
transaction["name"] = name transaction["payment_ref"] = payment_ref
# End add esr to the label. # End add esr to the label.
# add transaction id to ref # add transaction id to ref

View File

@@ -27,21 +27,21 @@ class TestGetPartnerRef(common.TransactionCase):
self.ICP.set_param("isr_partner_ref", "12") self.ICP.set_param("isr_partner_ref", "12")
ref = "11 11111 11112 34567 11111 11111".replace(" ", "") ref = "11 11111 11112 34567 11111 11111".replace(" ", "")
partner_ref = self.Parser._get_partner_ref(ref) partner_ref = self.Parser._get_partner_ref(ref)
self.assertEquals(partner_ref, "234567") self.assertEqual(partner_ref, "234567")
def test_ICP_full(self): def test_ICP_full(self):
"""Test full format of partner ref definition""" """Test full format of partner ref definition"""
self.ICP.set_param("isr_partner_ref", "12,6") self.ICP.set_param("isr_partner_ref", "12,6")
ref = "11 11111 11112 34567 11111 11111".replace(" ", "") ref = "11 11111 11112 34567 11111 11111".replace(" ", "")
partner_ref = self.Parser._get_partner_ref(ref) partner_ref = self.Parser._get_partner_ref(ref)
self.assertEquals(partner_ref, "234567") self.assertEqual(partner_ref, "234567")
def test_zero_stripped(self): def test_zero_stripped(self):
"""Test full format of partner ref definition""" """Test full format of partner ref definition"""
self.ICP.set_param("isr_partner_ref", "12,6") self.ICP.set_param("isr_partner_ref", "12,6")
ref = "11 11111 11110 00560 11111 11111".replace(" ", "") ref = "11 11111 11110 00560 11111 11111".replace(" ", "")
partner_ref = self.Parser._get_partner_ref(ref) partner_ref = self.Parser._get_partner_ref(ref)
self.assertEquals(partner_ref, "560") self.assertEqual(partner_ref, "560")
def test_bad_ICP(self): def test_bad_ICP(self):
"""Test ir config parameter validation""" """Test ir config parameter validation"""

View File

@@ -3,8 +3,6 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import base64 import base64
import mock
from odoo.modules.module import get_module_resource from odoo.modules.module import get_module_resource
from odoo.tests.common import SavepointCase from odoo.tests.common import SavepointCase
@@ -39,12 +37,7 @@ class TestGenerateBankStatement(SavepointCase):
} }
) )
@mock.patch( def _load_statement(self):
"odoo.addons.account.models.sequence_mixin."
"SequenceMixin._constrains_date_sequence",
side_effect=False,
)
def _load_statement(self, constraint):
testfile = get_module_resource( testfile = get_module_resource(
"account_statement_import_camt", "test_files", "test-camt053" "account_statement_import_camt", "test_files", "test-camt053"
) )