这个问题是在我实现这一点之后出现的。
总而言之,我在销售订单中为折扣创建了一个新的额外字段。它是按小计计算的。它作为销售订单的一部分按预期工作。
之后,我确认了它,发送了产品,并创建了发票。
我发现从该 SO 创建的发票中的小计与 SO 中的值不同,因为发票中的小计不是通过包括额外折扣来计算的。
我研究_create_invoices
了销售模型中的方法,但我不知道小计计算发生在哪里。
我的目标是让发票小计计算得到与当前 SO 小计相同的值。当然,小计之后的其他计算字段,如未征税金额、税收和总计也必须与 SO 匹配。
=================
更新
好的,现在我知道要使用哪些了。我只覆盖_get_price_total_and_subtotal_model
and _prepare_invoice_line
。这使我能够将额外的折扣从销售发送到发票。但是,当我从销售创建发票时,发票中显示的单价会减少折扣,但是如果我从发票手动创建发票(发票中也有额外的折扣字段),单价不会因额外的折扣而减少,只有小计打折,这是我正在寻找的结果。唯一的问题是为什么从销售创建发票会改变单价?