Documentation Frappe Framework

Frappe Framework

Guides : développement d’applications

Ces guides montrent comment résoudre des besoins courants de développement d’applications Frappe : boutons et actions personnalisés, événements de DocType, tâches de fond, dialogues, OAuth, cache, personnalisations exportées.

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

Dans ce chapitre

  1. 01Action personnalisée dans un champ LinkOn ajoute une option au champ Lien standard en affectant une fonction à ControlLink.link_options.
  2. 02Exécuter du code sur les événements d’un DocTypeLe code qui réagit au cycle de vie d’un document s’écrit dans la classe contrôleur du DocType, pas à côté.
  3. 03Améliorer un contrôle standardPour ne pas répéter une fonction sur chaque DocType, on enrichit le contrôle. Le mot Translatable dans options décide quels champs sont concernés.
  4. 04Lancer des tâches de fondUne requête trop longue se met en file pour un worker. Frappe utilise Python RQ, avec les files default, long et short.
  5. 05Ajouter un bouton personnalisé à un formulaireLe fichier JavaScript du DocType ajoute un bouton au formulaire avec frm.add_custom_button, au rafraîchissement.
  6. 06Déclencher un événement à la suppression d’une ligne de grilleLe clic sur supprimer une ligne de grille déclenche fieldname_remove sur le DocType enfant. L’ajout, le déplacement et l’avant-suppression ont leur événement.
  7. 07Types de dialoguesCinq dialogues couvrent le message léger, la saisie, la confirmation, l’information et le formulaire libre.
  8. 08Surcharger la requête d’un champ Link par scriptUn script client remplace la requête standard d’un lien. On filtre sur place, ou on appelle une méthode qui renvoie les lignes proposées.
  9. 09Configurer une Connected AppLa Connected App stocke les points d’entrée OAuth, l’identifiant client et les périmètres. Le bouton Connecter ouvre l’écran de consentement du fournisseur.
  10. 10Icône de module personnaliséeL’icône d’un module est un SVG dont le chemin est déclaré dans desktop/config.py. Le premier affichage passe par un appel AJAX.
  11. 11Insérer un document via l’APIUn script crée un document avec frappe.get_doc, puis insert. On peut ignorer les permissions, valider, ou remplir une table enfant.
  12. 12Créer des champs personnalisés à l’installation d’une appLes champs personnalisés créés dans le bureau s’exportent en fixtures et sont réimportés quand l’application est installée ou mise à jour.
  13. 13Utiliser des templates HTML en JavaScriptLes interfaces JavaScript du bureau rendent un fichier HTML via frappe.render, après l’avoir inclus dans build.json.
  14. 14Activer le mode développeurLe mode développeur fait écrire dans le dépôt les changements de DocTypes et de rapports. On l’active dans la configuration, puis on vide le cache.
  15. 15Récupérer la valeur d’un champ d’un document dans une transactionUn champ personnalisé du fournisseur se recopie sur la commande. En lecture seule il est toujours réécrit. Sinon, il ne se remplit que s’il est vide.
  16. 16Ajouter des icônes de module sur le bureauLa version 12 place l’icône du module dans config/desktop.py et les actions dans un fichier au nom du module. Les vues dépendent des permissions.
  17. 17DocType de type SingleUn DocType Single n’a pas sa propre table. Il n’existe qu’un document, enregistré dans tabSingles, adapté aux réglages globaux.
  18. 18Client OAuth génériqueLa Connected App garde les identifiants OAuth. L’intégration la désigne depuis un DocType de réglages, puis obtient une session authentifiée.
  19. 19Ajouter un fournisseur de connexion socialeUn nouveau fournisseur se déclare dans le code, dans les options du DocType Social Login Key, puis dans une méthode de connexion accessible aux invités.
  20. 20Exporter les personnalisations vers votre appPersonnaliser le formulaire exporte les personnalisations d’un DocType dans le dossier custom du module. Une mise à jour les resynchronise.
  21. 21CacheChaînes et hashes couvrent l’usage courant. Un calcul déterministe se range sous une clé unique, avec une durée de vie ou un effacement manuel.
  22. 22Personnaliser le champ Geolocation / carteLa carte par défaut est une rue centrée sur Mumbai. On change ce défaut pour tout le système, ou le rendu d’une seule carte.
  23. 23Mettre à jour un champ depuis un DocType liéSans script, un champ affiche une valeur du document choisi dans un lien. La copie est simple : pas de condition ni de calcul.
Guides Frappe : développement d’applications | ERPNext Lab