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.
À 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.
