使用Jinja标签获取子表值

Jinja 模板可用于引用 ERPNext 中任何 DocType 上的任意字段。只需在打印格式中调用 {{doc.field_name}} 即可实现,其中 ‘doc.name’ 是某个字段的变量名。

然而,这种方法不适用于 DocType 内部的子表。本文将帮助您遍历并显示任何 DocType 中子表的所有行。

前置条件

我们需要知道子表在对应 DocType 上的变量名。可以通过所需 DocType 的“自定义表单”部分查看。如下所示

我们还需要知道子表中需要引用的所有字段的变量名。可以通过对应子表的“自定义表单”部分获取,如下所示

方法 1. 在无序列表中显示子表的行

{% for row in doc.items %}

  • 项目代码: {{ row.get_formatted(“item_code”, doc) }}

数量: {{ row.get_formatted(“qty”, doc) }}

单价: {{ row.get_formatted(“rate”, doc) }}

金额: {{ row.get_formatted(“amount”, doc) }}

{% endfor %}

在打印格式上的输出如下所示

方法 2. 以表格形式显示子表的行

项目代码 数量 单价 金额
{{item.item_code }} {{item.qty}} {{item.rate}} {{item.amount}}

在打印格式上的输出如下所示

此模板可供参考。子表字段中的任何其他字段都可以通过修改 Jinja 模板以类似方式获取。