【问题标题】:Odoo Point of Sale + Posbox : How to modify receiptOdoo 销售点 + Posbox:如何修改收据
【发布时间】:2015-11-04 16:09:35
【问题描述】:

我需要修改销售点收据

在 Odoo 销售点,有两个打印收据的模板: XmlReceipt 和 PostTicket

由于我使用的是 Posbox,我想我必须修改 XmlReceipt。 我想知道是否有办法继承原始模板? 我找到了有关如何使用 PosTicket 模板执行此操作的示例,但 Xmlreceipt 的工作方式似乎不同。

有什么想法吗?

谢谢。

【问题讨论】:

    标签: openerp


    【解决方案1】:

    我扩展模板“PosTicket”,通过 t-jquery 查找元素,替换为我的数据(在产品名称中添加“免费”)

    <templates id="template" >
    <t t-extend="PosTicket">
        <t t-jquery=".receipt-orderlines .product_line" t-operation="inner">
            <t t-if="orderline.get_reward() and orderline.get_reward().type == 'gift'">Free </t>
            <t t-esc="orderline.get_product().display_name"/>
        </t>
    </t>
    

    【讨论】:

      【解决方案2】:

      据我所知,XmlReceipt 和 PosTicket 模板都是在 pos.xml 中定义的,因此您可以以相同的方式继承它们。 继承 XmlReceipt 示例:

      <?xml version="1.0" encoding="UTF-8"?>
      <templates id="myReceiptTemplate" xml:space="preserve">
          <t t-extend="XmlReceipt">
              "your code here"
          </t>
      </templates>
      

      【讨论】:

      • 感谢您的回答。 Qweb doc 解释说,该指令必须基于“父模板中的 CSS 选择器”使用“t-jquery=selector”。但我认为 XmlReceipt 没有 CSS ...
      【解决方案3】:

      好的,我找到了解决方案。 打印含税单价的示例,我的 xml 是这样写的:

      <?xml version="1.0" encoding="UTF-8"?>
      <templates id="myReceiptTemplate" xml:space="preserve">
          <t t-extend="XmlReceipt">
               <t t-jquery="t[t-esc='line.price']" t-operation="replace">
                  <t t-esc='line.price_with_tax / line.quantity ' />
              </t>      
          </t>
      </templates>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-28
        相关资源
        最近更新 更多