Fetch child table values using Jinja tags
Fetch child table values using Jinja tags
Jinja templating can be used to reference any field on any DocType in OneHash. This can simply be done by calling {{ doc.field_name }} on a print format, where 'doc.name' is the variable name for a certain field.
However this approach does not work for Child Tables inside a DocType. This article will help you traverse and display all rows pertaining to a child table inside any DocType.
Pre Requisites
We would require the variable name of the child table on the corresponding DocType. This can be viewed from the 'Customize Form' section for the required DocType. The same is illustrated below
We will also require the variable names of all the fields inside the child table which need to be referenced. This can be obtained from the 'Customize Form' section of the corresponding child table as shown below
Method 1. Displaying rows of a Child Table on an unordered list
{% for row in doc.items %}
Item Code: {{ row.get\_formatted("item_code", doc) }} Quantity: {{ row.get\_formatted("qty", doc) }} Rate: {{ row.get\_formatted("rate", doc) }} Amount: {{ row.get\_formatted("amount", doc) }}
{% endfor %}
The output on a print format would be as follows
Method 2. Displaying rows of a Child Table as a table
The output on a print format would be as follows
This template can be used for reference. Any additional fields on the child table field can be fetched in a similar manner, by amending the Jinja template.
Updated on: 05/09/2023
Thank you!