diff options
| author | Nicolas Martinelli <nim@odoo.com> | 2019-05-08 09:59:20 +0000 |
|---|---|---|
| committer | Nicolas Martinelli <nim@odoo.com> | 2019-05-09 07:19:15 +0000 |
| commit | 3303f871028f7f84539020c12125ee6c3b3dd5e4 (patch) | |
| tree | 661b31c9820f47436b665687402a961cb803a0af /addons/web/static/tests/fields/basic_fields_tests.js | |
| parent | babef9ecfc9ef87c1435feae3751d6023261faf0 (diff) | |
[FIX] account: reconciliation multi-company
- Create 2 companies C1 and C2
- Do not share partners between companies
- Create a partner P1 in C1:
Name: PartnerA
AccountNumber: 1234
- Create a partner P2 in C2:
Name: PartnerA
AccountNumber: 1234
- Create an invoice in C2 for P2, validate and pay
- Add the fields `account_number` and `partner_name` to the bank
statement lines for convenience.
- Create a bank statement with a line:
Partner Name: PartnerA
Account Number: 1234
- Run the following query (on which no record rule is applied for bank
statement reconciliation):
```sql
SELECT
st_line.id AS id,
COALESCE(p1.id,p2.id,p3.id) AS partner_id,
p1.id AS p1,
p2.id AS p2,
p3.id AS p3
FROM account_bank_statement_line st_line
LEFT JOIN res_partner_bank bank ON bank.id = st_line.bank_account_id OR bank.acc_number = st_line.account_number
LEFT JOIN res_partner p1 ON st_line.partner_id=p1.id
LEFT JOIN res_partner p2 ON bank.partner_id=p2.id
LEFT JOIN res_partner p3 ON p3.name ILIKE st_line.partner_name
WHERE st_line.id IN (XX);
```
The result is:
| id | partner_id| p1| p2| p3|
|----------|-------------|--------|------|------|
| XX| P1| null| P1| P1|
| XX| P2| null| P2| P1|
P1 should not appear in any of the results. In some configuration, P1
will be selected for matching and will trigger an access error.
Commit 1fc0b08e146d3c256b05780fa71f26bd1c57fd3f introduced the record
rules for `p3`, but was wrongly set at the end of the query. We
introduce the rules for `p3` as well as `bank`, so the result is now:
| id | partner_id| p1| p2| p3|
|----------|-------------|--------|------|------|
| XX| P2| null| P2| null|
Which is the expected result.
Fixes #32954
opw-1974649
closes odoo/odoo#33245
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Diffstat (limited to 'addons/web/static/tests/fields/basic_fields_tests.js')
0 files changed, 0 insertions, 0 deletions
