4

我想根据另一个文档类型中的记录动态添加子表。

4

4 回答 4

4

@萨吉德利亚兹,

您可以使用 append 方法在子表中添加行

例如

doc = frappe.get_doc('Sales Order', 'SO-00002')
doc.append('items', {
    'company': 'company_name',
    'item_code': 'item_code',
    'item_name': 'item_name',
    'field': 'field_value'
})
doc.save()

items子表的字段名在哪里。

于 2019-04-12T09:56:53.780 回答
3

有几种方法可以在父文档中添加子文档:

方法一:

`

import frappe
parent = frappe.get_doc('Sales Order', 'SO-00002')
child = frappe.new_doc("Sales Order Item")
child.update({
    'company': 'company_name',
    'item_code': 'item_code',
    'item_name': 'item_name',
    'field': 'field_value'
    'parent': parent.name,
    'parenttype': 'Sales Order',
    'parentfield': 'items'
})
parent.items.append(child)

方法二:

import frappe

parent = frappe.get_doc('Sales Order', 'SO-00002')
child = frappe._dict({
     'company': 'company_name',
    'item_code': 'item_code',
    'item_name': 'item_name',
    'field': 'field_value'
})
parent.items.append(child)

`

于 2019-05-03T16:16:16.197 回答
1

这是可能的,因为 DocTypes 在 Frappe 框架中被视为数据。但是,在运行时添加的动态字段必须添加为自定义字段。

from frappe.custom.doctype.custom_field.custom_field import create_custom_field

create_custom_field('Task' {
    "fieldname": 'values',
    "label": 'Values',
    "fieldtype": 'Table',
    "options": 'Child Table'
})
于 2020-10-18T08:27:51.560 回答
0
parent = frappe.get_doc('Sales Order', 'SO-00002')
parent.append("items", {
    'company': 'company_name',
    'item_code': 'item_code',
    'item_name': 'item_name'
})
parent.save()
frappe.db.commit()
于 2021-11-22T22:43:40.830 回答