当您在Odoo中添加widget="payment"
类似于facturation模块时,您会得到此信息(红色箭头旁边)。
如何从数据库中访问此小部件中的值? (从开发模式,它表示该字段是account_invoice的payments_widget,在数据库中不存在。)
在我的情况下,我只是想通过修改数据库来修改付款值的所有出现(在验证后我必须纠正的条目错误)。
根据this post,它只是一个计算字段。然后它不应该存储在数据库中。
但是在更改了数据库中我的金额的其他每个出现后,小部件中的金额没有变化。
那么为什么这些数据是持久的,哪里可以在数据库中找到?
答案 0 :(得分: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
模型中的相应值外,所有这些都是