1

当你widget="payment"在 Odoo 中添加一个类似的构建模块时,你会得到这个(在红色箭头旁边)。

在此处输入图像描述

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

就我而言,我只是想通过修改数据库来修改所有出现的付款值(输入期间的错误,我必须在验证后更正)。

根据这篇文章,它只是一个计算域。那么它不应该存储在数据库中。

但是在更改数据库中我的金额的所有其他出现之后,小部件中的金额并没有改变。

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

4

1 回答 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

对于具有贷方值的每一行,都会有一个具有借方值的对应条目。这是为了对账。保持负值为负,正值为正。所有 execptamount_currency都以贵公司的主要货币表示,而amount_currency以您的合作伙伴的货币表示的价值。

所有这一切当然是除了修正account.payment模型中的对应值之外。

于 2019-04-01T19:08:54.383 回答