Frappe Framework
Appels serveur (AJAX)
Le bureau interroge le serveur avec frappe.call et les raccourcis frappe.db : lire, lister, compter, insérer, modifier, supprimer.
frappe.call
frappe.call envoie une requête AJAX. method est le chemin pointé d’une méthode Python en liste blanche. La valeur de retour revient dans la réponse. L’appel peut être une chaîne (frappe.call("ping") répond {message: "pong"}), une chaîne plus un objet d’arguments, ou un objet complet : method, args, btn pour désactiver le bouton, freeze pour figer l’écran, callback et error. Le guide Appel AJAX Frappe détaille les mêmes options.
Lire
| Méthode | Effet |
|---|---|
frappe.db.get_doc(doctype, name, filters) | Le document. Sans nom, le premier qui correspond aux filtres. |
frappe.db.get_list(doctype, { fields, filters }) | Liste de fiches |
frappe.db.get_value(doctype, name, fieldname) | Une valeur ou une liste. Le nom peut être un filtre. Le résultat est dans r.message. |
frappe.db.get_single_value(doctype, field) | Un champ d’un DocType Single, par exemple le fuseau de System Settings |
frappe.db.count(doctype, filters) | Nombre de fiches |
frappe.db.exists(doctype, name) | Vrai si la fiche existe |
L’exemple de liste demande subject et description des tâches ouvertes. get_value sur une tâche renvoie status seul, ou status et subject. Un filtre {status: "Open"} peut remplacer le nom.
Écrire
frappe.db.set_value met à jour via frappe.get_doc et doc.save côté serveur. Un champ : statut Open. Plusieurs champs : un objet status et priority. Le document renvoyé est r.message.
frappe.db.insert crée un document, par exemple une Task avec un subject. frappe.db.delete_doc(doctype, name) supprime la fiche nommée.
Point d’attention
set_value passe par un enregistrement du document, pas par une écriture SQL isolée décrite ici. get_doc sans nom prend le premier document des filtres. delete_doc de l’exemple ne montre pas de rappel.
