Lấy giá trị bảng con (child table) bằng các thẻ Jinja
Tài liệu ERPNext tiếng Việt: Lấy giá trị bảng con (child table) bằng các thẻ Jinja
Bản dịch máy từ tài liệu ERPNext chính thức. Chưa được rà soát toàn văn về thuật ngữ chuyên ngành. Cần đối chiếu bản gốc khi áp dụng nghiệp vụ.
Bạn có thể sử dụng mẫu Jinja để tham chiếu đến bất kỳ trường nào trên bất kỳ DocType nào trong ERPNext. Việc này có thể được thực hiện đơn giản bằng cách gọi {{doc.field_name}} trên định dạng in (print format), trong đó 'doc.name' là tên biến cho một trường nhất định.
Tuy nhiên, cách tiếp cận này không hiệu quả đối với các bảng con nằm bên trong một DocType. Bài viết này sẽ giúp bạn duyệt và hiển thị tất cả các hàng liên quan đến một bảng con trong bất kỳ DocType nào.
Điều kiện tiên quyết
Chúng ta sẽ cần tên biến của bảng con trên DocType tương ứng. Bạn có thể xem thông tin này từ phần 'Customize Form' (Tùy chỉnh biểu mẫu) cho DocType cần thiết. Điều này được minh họa dưới đây:

Chúng ta cũng sẽ cần tên biến của tất cả các trường bên trong bảng con cần tham chiếu. Bạn có thể lấy thông tin này từ phần 'Customize Form' của bảng con tương ứng như dưới đây:




Cách 1. Hiển thị các hàng của Bảng con dưới dạng danh sách không thứ tự
{% for row in doc.items %}
- Mã mặt hàng: {{ row.get_formatted("item_code", doc) }}
Số lượng: {{ row.get_formatted("qty", doc) }}
Đơn giá: {{ row.get_formatted("rate", doc) }}
Thành tiền: {{ row.get_formatted("amount", doc) }}
{% endfor %}
Kết quả trên định dạng in sẽ như sau:

Cách 2. Hiển thị các hàng của Bảng con dưới dạng bảng
| Mã mặt hàng | Số lượng | Đơn giá | Thành tiền |
|---|---|---|---|
| {{item.item_code }} | {{item.qty}} | {{item.rate}} | {{item.amount}} |
Kết quả trên định dạng in sẽ như sau:

Mẫu này có thể được sử dụng để tham khảo. Bất kỳ trường bổ sung nào trên trường bảng con đều có thể được lấy theo cách tương tự bằng cách sửa đổi mẫu Jinja.