Utilisation

PersonnaliserLInterface

--- title: "Personnaliser l'interface et les comportements" description: "Étendre les fonctionnalités de Dokos avec des hooks et des scripts personnalisés" icon: i-mdi-puzzle-edit-outline ---

--- title: "Personnaliser l'interface et les comportements" description: "Étendre les fonctionnalités de Dokos avec des hooks et des scripts personnalisés" icon: i-mdi-puzzle-edit-outline ---

Personnaliser l'interface et les comportements

Dokos permet d'étendre ses fonctionnalités grâce à des hooks et des scripts personnalisés. Voici comment adapter le calcul des taxes et d'autres comportements spécifiques.

Hooks disponibles

Résolveur de base taxable pour les types de frais personnalisés

Cas d'usage :

  • Calculer des taxes sur le prix maximum de vente (MRP) en Inde
  • Déterminer des valeurs taxables spécifiques pour certains impôts au Brésil

Implémentation :

  1. Déclarez le hook dans le fichier hooks.py de votre application :
# hooks.py
erpnext_taxable_base_resolvers = {"Sur MRP": "mon_app.taxes.sur_mrp"}
  1. Créez la fonction de calcul dans votre module :
# mon_app/taxes.py
def sur_mrp(calc, item, tax):
    """Calcule la base taxable sur le prix maximum de vente (MRP)"""
    return item.price_list_rate * item.qty
  1. Implémentez le miroir côté client (JavaScript) :
// Dans un fichier JavaScript de votre application
erpnext.taxable_base_resolvers["Sur MRP"] = (calc, item) => item.price_list_rate * item.qty;

Exemple concret :

  • Article : prix de vente 1000, MRP 1200
  • Taxe de 10% incluse dans le prix → 120
  • Prix net du produit = 880

::: tip Pour les développeurs :

  • Le hook reçoit les objets calc (calculateur de taxes), item (ligne d'article) et tax (configuration de la taxe)
  • La fonction doit retourner la valeur taxable calculée
  • Le miroir client doit retourner le même résultat que la version serveur :::

Autres personnalisations courantes

(Contenu existant préservé intégralement...)