Documentation Frappe Framework

Frappe Framework

Insérer un document via l’API

Un script crée un document avec frappe.get_doc, puis insert. On peut ignorer les permissions, valider, ou remplir une table enfant.

1 min de lectureMis à jour le Source : docs.frappe.io

À quoi sert get_doc

Un script insère un document avec frappe.get_doc, puis insert.

Exemples

Tâche simple

python
todo = frappe.get_doc({"doctype": "ToDo", "description": "test"})
todo.insert()

Sans contrôle des permissions de l’utilisateur

python
todo = frappe.get_doc({"doctype": "ToDo", "description": "test"})
todo.insert(ignore_permissions=True)

Valider après l’insertion

python
todo = frappe.get_doc({"doctype": "ToDo", "description": "test"})
todo.insert(ignore_permissions=True)
todo.submit()

À l’enregistrement d’un autre document

python
class MyType(Document):
    def on_update(self):
        todo = frappe.get_doc({"doctype": "ToDo", "description": "test"})
        todo.insert()

Avec une table enfant

python
sales_order = frappe.get_doc({
    "doctype": "Sales Order",
    "company": "_Test Company",
    "customer": "_Test Customer",
    "delivery_date": "2013-02-23",
    "sales_order_details": [
        {
            "item_code": "_Test Item Home Desktop 100",
            "qty": 10.0,
            "rate": 100.0,
            "warehouse": "_Test Warehouse - _TC",
        }
    ],
})
sales_order.insert()

Les lignes de la commande de vente (Sales Order) sont dans la clé sales_order_details.

Point d’attention

ignore_permissions=True saute le contrôle des permissions de l’utilisateur. submit vient après insert. L’insertion depuis on_update se produit à chaque mise à jour du document parent : la source ne montre pas de garde contre les doublons.

Insérer un document Frappe avec get_doc | ERPNext Lab