我们在odoo 11中使用租赁模块。在创建销售订单时,我们有订单/报价和形式上的保有权信息。但是,当转到account.invoice时,我无法显示信息,也无法在QWeb中从account.invoice.document引用信息,因为发票和销售订单之间似乎没有联系。
我试图从report_saleorder_document 复制的代码
<!-- Lines associated -->
<t t-foreach="layout_category['lines']" t-as="l">
<tr>
<td><span t-field="l.name"/>
<t t-if="l.rental_tenure != 0.0">
<span t-field="l.rental_tenure"/>
<span t-field="l.rental_uom_id"/>
<span> for </span>
<span t-field="l.price_unit" t-options="{'widget': 'monetary', 'display_currency': doc.pricelist_id.currency_id}"/>
<span><strong> for rental</strong></span>
</t>.......
在account.invoice_document中,我想在以下代码下添加上面带有rental_tempty等的字段:
<tr t-foreach="o.invoice_line_ids" t-as="l">
<td><span t-field="l.name"/></td>```
Any advice on how to achieve this just in Qwebs?
横向
在Invoice Report
上调用将链接到Sale Order
的function
XML:
<t t-set="sale_order" t-value="o.get_sale_order_data()"/>
PY:
@api.multi
def get_sale_order_data(self):
for rec in self:
orders = self.env['sale.order'].search([(
'order_line.invoice_lines.invoice_id', '=', rec.id)], limit=1)
return orders
在报告中,您可以从'Sale.Order'
中获取任何fileds
。示例:<span t-esc="sale_order.partner_id.name"/>
在odoo 13之后,您需要:
-
从account.move继承以创建额外的字段(如果它们不存在(
-
覆盖方法_prepare_vinvoice
def _prepare_invoice(self): values = super(SaleOrder, self)._prepare_invoice() values['field_name_in_account_move'] = self.field_source return values