如果超过5行,如何在odoov12中隐藏发票行

2024-04-26 00:04:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我对奥多工作室的拘禁有意见。发票行不应该出现在印象中,除非它只有3行,因为更多的全部内容应该出现在另一个报告。 我开始创建一个复选框,并将其命名为“Annexe”,在发票行下的可见性条件中,只有选中复选框时,它们才会出现。但我需要一个自动操作来检查附件一旦发票行超过3或任何其他建议。(我正在使用云版本)


Tags: 版本附件报告发票条件命名建议复选框
1条回答
网友
1楼 · 发布于 2024-04-26 00:04:39

由于您还没有提供任何代码,因此我只能给出一个大致的答案。你知道吗

正如您可能已经做过的,annexe字段具有以下属性:computed=_compute_count_order_lines, store=True, readonly=True,并且您还声明了如下函数:

@api.depends('order_line')
def _compute_count_order_lines(self):
  for order in self:
    order.annexe = len(order.order_line.filtered(lambda x: x.state != 'cancel')) > 3

因此annexe将在订单行数大于3时发出信号。你知道吗

然后需要修改生成发票的报告:

  1. 在调试模式下,转到“设置/技术/报告/报告” 搜索“Model:sale.order”。你知道吗
  2. 单击其模板名为sale.report_saleorder的记录
  3. 点击“QWeb视图”按钮
  4. 单击其“外部ID”为sale.report_saleorder_document的记录
  5. 查找<table class="table table-sm o_main_table">这是带有订单行的表。您可能希望复制该标记中的代码
  6. 返回到“QWeb视图”,创建一个继承sale.report_saleorder_document的视图,其arch字段包含如下内容:

    <xpath expr="//table[hasclass('o_main_table')]" position="replace">
      <t t-if="doc.annexe">
        <!  Code for more than 3 items  >
      </t> <t t-else>
        <table class="table table-sm o_main_table">
          <!  Code for 3 items or less  > 
        </table>
      </t>
    </xpath>
    

相关问题 更多 >

    热门问题