我对一些odoo工作室的个性化有疑问。除非发票行只有3行,否则发票行不应出现在印象中,否则,整个内容应显示在另一个报告中。 我开始创建一个复选框,并将其称为“附件”,并且在发票行下的可见性条件下,它们仅在选中该复选框时才会显示。但是一旦发票行超过3个或其他建议,我需要自动采取措施检查附件。 (我正在使用云版本)
答案 0 :(得分:0)
由于您尚未提供任何代码,因此我能提供的最好的答案是广泛的答案。
您可能已经做过,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
如果订单行数大于3,则annexe
将发出信号。
然后,您需要修改生成发票的报告:
sale.order
”。 sale.report_saleorder
的记录sale.report_saleorder_document
的记录<table class="table table-sm o_main_table">
,即包含订单行的表格。您可能要复制该标签内的代码返回到“ 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>