Odoo:从数据库访问付款小部件

问题描述 投票:1回答:1

当您在Odoo中添加类似于facturation模块的widget="payment"时,您会得到此信息(红色箭头旁边)。

enter image description here

如何从数据库中访问此小部件中的值? (从开发模式,它表示该字段是account_invoice的payments_widget,它在数据库中不存在)。

在我的情况下,我只是想通过修改数据库来修改付款值的所有出现(在验证之后我必须纠正的条目期间的错误)。

根据this post,它只是一个计算字段。然后它不应该存储在数据库中。

但是在更改数据库中每次出现的金额后,窗口小部件中的金额不会更改。

那么为什么这些数据是持久的,哪里可以在数据库中找到呢?

odoo odoo-11 computed-field
1个回答
0
投票

由于不正确的货币转换或税收四舍五入问题,这也困扰了我很长一段时间。经过一些挖掘和一些测试后,这对我有用,我希望它适用于你和其他任何困扰相同或类似问题的人。

支付小部件访问account.move模型。因此,这些值并不是以您只需更改一个值来更正问题的方式存储的。

令人惊讶的是,要更改此值,需要修改account_move_line表中的四个记录。其中两个记录可以通过invoice number识别,另外两个记录可以通过invoice id识别。

SELECT * FROM account_move_line
    WHERE ref = 'FAC/2018/0002'
    OR invoice_id = (
        SELECT id FROM account_invoice
            WHERE number = 'FAC/2018/0002'
    );

这应该列出有问题的四个记录。需要更新的值如下:

  • credit_cash_basis
  • debit
  • debit_cash_basis
  • credit
  • balance_cash_basis
  • amount_currency
  • balance

对于具有信用值的每一行,将存在具有借方值的相应条目。这是用于帐户对帐。保持负值为负值,正值为正值。所有执行官amount_currency都是贵公司的主要货币,而amount_currency是您合作伙伴货币的价值。

所有这些当然除了纠正account.payment模型中的相应值之外。

© www.soinside.com 2019 - 2024. All rights reserved.