Personnalisation de l'interface
Personnalisation de l'interface
Dokos vous permet de personnaliser l'interface pour l'adapter au mieux à vos besoins. Les outils de personnalisation sont regroupés dans l'espace de travail Développement, ouvert depuis l'icône Administration de la grille d'applications de l'accueil.
Identité visuelle
- Remplacez le logo Dokos par le vôtre.
- Ajoutez un widget d'annonce pour diffuser des messages à toute l'équipe.
Tableaux de bord et statistiques

L'espace de travail Développement affiche les raccourcis Type de document et Module Def, puis des cartes de liens :
- Vues : Rapport, Tableau de bord, Format d'impression, Page, Espace de travail, Graphique du tableau de bord.
- Personnalisations : Personnaliser un formulaire, Champ personnalisé, Traduction personnalisée, Paramètres de la barre de navigation.
- Script : Script Serveur (Python), Script client, Type de tâche de fond programmée.
- Modules, Paquets et Journaux système.
Pour modifier l'espace de travail, utilisez le menu … en haut à droite.
Dokos propose de nombreux outils de visualisation :
- Cartes statistiques (près de 100 préexistantes).
- Graphiques de tableau de bord.
- Cartes de résumé (particulièrement utiles pour les moyennes et grandes entreprises).
Types de documents personnalisés
Dokos vous offre la possibilité de créer vos propres types de documents adaptés à vos besoins spécifiques. Par exemple :
- Un document "annonce" pour publier des offres.
- Un formulaire web pour permettre des réservations.
- Des documents interconnectés pour suivre votre processus métier.
À noter : Les personnalisations que vous effectuez (ajout/suppression de champs) ne seront jamais écrasées lors des mises à jour.
Mises en page de type de document
Exemple — Bureau Moderne Bureau Moderne gère ses entrées de stock selon différents usages : transferts internes, réceptions fournisseur, expéditions. L'administrateur a créé une mise en page "Transfert interne" sur Entrée de stock. Depuis la barre de recherche, n'importe quel collaborateur peut taper "Transfert interne", sélectionner la mise en page et accéder directement à la liste des entrées de stock filtrées sur ce type d'opération, avec les champs et les libellés adaptés à ce contexte.
Les mises en page de type de document permettent de proposer des vues simplifiées ou contextualisées d'un même formulaire. Par exemple, une mise en page "Réception fournisseur" sur Entrée de stock n'affichera que les champs pertinents pour ce flux, avec des libellés adaptés au vocabulaire de l'équipe.
Rechercher une mise en page depuis la barre Awesome
Toutes les mises en page auxquelles vous avez accès sont désormais recherchables directement depuis la barre de recherche globale (⌘K / Ctrl+K ou icône de loupe de la barre latérale).
- Ouvrez la barre de recherche (⌘K / Ctrl+K).
- Tapez le titre de la mise en page (ex. : "Transfert interne").
- La mise en page apparaît dans les résultats.
- Cliquez dessus : la liste du type de document de base s'ouvre, filtrée automatiquement selon la condition définie sur la mise en page.
Bon à savoir : Seules les mises en page portant sur des types de documents auxquels vous avez le droit d'accès en lecture apparaissent dans les résultats.
Navigation et fil d'Ariane
Lorsque vous naviguez dans une mise en page, le contexte est visible dans le fil d'Ariane en haut du formulaire. Le badge de la mise en page active y est affiché, ce qui permet de toujours savoir dans quel contexte vous travaillez sans encombrer l'en-tête du formulaire.
Si vous renommez un document ouvert sous une mise en page, le contexte de mise en page est automatiquement conservé après la redirection — vous restez dans la même vue.
Bouton "Aller à la liste"
Depuis le formulaire d'une mise en page, le bouton Aller à la liste vous ramène à la liste du type de document de base, avec les filtres issus de la condition de la mise en page déjà appliqués. Vous retrouvez ainsi exactement les documents correspondant à ce contexte.
Pour les administrateurs — Configurer une mise en page
Les mises en page se créent depuis Mise en page de type de document (recherche dans la barre Awesome). Les points clés de configuration :
- Type de document : le doctype de base sur lequel porte la mise en page (ex. Entrée de stock).
- Titre : nom affiché dans la barre Awesome et dans le fil d'Ariane. Ne sera pas traduit automatiquement — saisissez-le dans la langue souhaitée.
- Condition : expression Javascript au format
doc.champ == "valeur"(combinaisons avec&&uniquement). Cette condition est convertie en filtres de liste pour la navigation. Les conditions utilisant||ne génèrent pas de filtres automatiques. - Champs : liste des champs à afficher dans cette mise en page, avec leurs éventuelles dépendances (
depends_on,mandatory_depends_on,read_only_depends_on) — ces champs acceptent désormais des expressions multi-lignes.
État vide de l'Awesomebar
Exemple — Maison Verte SARL Un nouvel utilisateur se connecte pour la première fois sur le site Dokos de Maison Verte SARL. Il ouvre la barre Awesome (⌘K / Ctrl+K) pour naviguer, mais aucun historique de navigation n'existe encore. Un message d'aide s'affiche alors avec une illustration et des suggestions de commandes pour l'aider à démarrer.
Lorsque la barre Awesome ne contient aucun historique de navigation (par exemple sur un site fraîchement installé ou pour un nouvel utilisateur), un état vide s'affiche automatiquement pour guider les utilisateurs.
Ce qui s'affiche
- Une illustration visuelle pour rendre l'interface plus accueillante.
- Des suggestions de commandes utiles pour découvrir les fonctionnalités de l'Awesomebar :
new ...: pour créer rapidement un nouveau document (ex.new Facture de vente).... in ...: pour filtrer des listes par contexte (ex.Factures de vente in Maison Verte SARL).⌘G: rappel du raccourci pour la recherche globale.
Comportement dynamique
- L'état vide disparaît automatiquement dès que l'utilisateur commence à saisir du texte dans la barre de recherche.
- Il ne réapparaît plus une fois que l'utilisateur a un historique de navigation (liens récents ou fréquents).
- L'illustration et les suggestions sont cohérentes avec le style visuel de Dokos, utilisant les mêmes éléments que l'état vide de la recherche globale.
Totaux et montants sur les liens du tableau de bord
Exemple — Maison Verte SARL Sur la fiche client de Maison Verte SARL, le tableau de bord affiche non seulement le nombre de factures de vente, mais aussi le total facturé (4 800,00 €) et le montant encore dû (1 200,00 €). Le commercial voit en un coup d'œil la situation financière du client sans ouvrir chaque facture.
Le tableau de bord d'une fiche (client, fournisseur, article…) affiche des liens vers les documents liés avec, en option, des totaux monétaires calculés à la volée. Cette configuration est réservée aux administrateurs et développeurs : elle se définit dans le fichier de configuration du tableau de bord du type de formulaire concerné.
Configuration pour les administrateurs et développeurs
Chaque groupe de liens dans la configuration du tableau de bord peut recevoir une clé summary_fields associant un type de formulaire à un calcul de total. Les options disponibles sont :
| Clé | Rôle |
|---|---|
field | Champ numérique dont la somme est calculée (ex. net_total) |
label | Libellé affiché pour le total (ex. "Total facturé") |
fieldtype | Type d'affichage : Currency, Float, Int |
open_field | Champ pour le calcul du sous-total "ouvert" (ex. outstanding_amount) |
open_label | Libellé du sous-total ouvert (ex. "En attente") |
open_filters | Filtres supplémentaires pour le sous-total ouvert (ex. {"docstatus": 1, "outstanding_amount": [">", 0]}) |
Exemple tiré de la fiche client :
"summary_fields": {
"Sales Invoice": {
"field": "net_total",
"label": _("Total Billed"),
"fieldtype": "Currency",
"open_field": "outstanding_amount",
"open_label": _("Outstanding"),
"open_filters": {"docstatus": 1, "outstanding_amount": [">", 0]},
},
}
Icônes sur les types de formulaires
Exemple — Dupont Conseil L'administrateur de Dupont Conseil crée un type de formulaire personnalisé "Dossier client" et lui attribue l'icône
folder. Partout où un lien vers ce formulaire apparaît dans l'interface — champs de recherche, listes liées, résultats de recherche globale — une petite icône dossier s'affiche à gauche pour distinguer visuellement ce type de document.
Chaque type de formulaire dans Dokos peut recevoir une icône issue de la bibliothèque d'icônes Frappe. Cette icône s'affiche à gauche des champs de saisie qui pointent vers ce formulaire, aidant les utilisateurs à identifier le type de document associé sans lire le nom complet.
La configuration de l'icône se fait directement sur le formulaire du Type de document, dans le champ Icône. Cette option est destinée aux administrateurs et développeurs qui créent ou modifient des types de formulaires personnalisés. Les types de formulaires fournis par Dokos sont déjà configurés avec leurs icônes par défaut.
Modification en masse dans les tables enfants
Exemple — Maison Verte SARL Un gestionnaire saisit un bon de commande pour Maison Verte SARL avec vingt lignes d'articles. Il réalise que la date de livraison prévue est incorrecte sur dix d'entre elles. Au lieu de corriger chaque ligne une par une, il coche les dix lignes concernées, clique sur Modifier, saisit la nouvelle date une seule fois, et toutes les lignes sélectionnées sont mises à jour instantanément.
Lorsqu'un formulaire contient une table enfant (lignes d'articles, plannings, etc.), il est possible de modifier plusieurs lignes simultanément. Cette fonctionnalité évite les saisies répétitives et réduit les risques d'erreur.
Comment l'utiliser
- Ouvrez le document concerné (bon de commande, facture, feuille de temps…).
- Dans la table enfant, cochez les cases à gauche des lignes à modifier.
- Un bouton Modifier {n} lignes apparaît dans la barre d'outils de la table.
- Cliquez sur ce bouton : la fenêtre « Modifier en masse » s'ouvre avec les champs modifiables.
- Renseignez uniquement les champs à changer — les champs laissés vides ne seront pas affectés.
- Cliquez sur Mettre à jour : toutes les lignes sélectionnées sont mises à jour dans le formulaire.
- Enregistrez le document pour valider les changements.
Bon à savoir : Sur un document déjà soumis, seuls les champs autorisés à la modification après soumission apparaissent dans la fenêtre de modification en masse.
Activer ou désactiver cette option
Par défaut, la modification en masse est activée sur chaque type de document enfant. Un administrateur peut la désactiver pour un type de ligne depuis Personnaliser un formulaire :
- Ouvrez Personnaliser un formulaire (carte Personnalisations de l'espace de travail Développement, ou recherche avec
Ctrl+K). - Choisissez le type de document enfant (ex. Sales Order Item, les lignes de la commande client), pas le document parent.
- Décochez « Autoriser les modifications en masse ».
- Cliquez sur Mettre à jour.
Pour les développeurs : l'option est la propriété allow_bulk_edit du DocType enfant (case visible quand « Est une table enfant » est cochée). Le champ Table a aussi une propriété allow_bulk_edit, qui ne commande pas ce bouton.
Largeur des colonnes dans la vue liste
Exemple — Bureau Moderne La responsable achats de Bureau Moderne consulte la liste des bons de commande. La colonne "Fournisseur" est trop étroite et tronque les noms. Elle fait glisser le bord de la colonne vers la droite pour l'élargir : la largeur est enregistrée et reste en place à chaque ouverture de la liste.
Dans toutes les vues liste de Dokos, vous pouvez ajuster la largeur de chaque colonne. Avec une disposition de liste active que vous pouvez modifier, la largeur est enregistrée dans la disposition. Sinon, elle est enregistrée dans les paramètres de liste du type de document et vaut pour tous les utilisateurs.
Trois façons d'ajuster les largeurs
1. Glisser-déposer directement dans l'en-tête de liste
C'est la méthode la plus rapide pour un ajustement ponctuel :
- Positionnez le pointeur sur le séparateur vertical entre deux en-têtes de colonne — une fine poignée apparaît.
- Cliquez et faites glisser vers la gauche ou la droite pour modifier la largeur.
- Relâchez : la nouvelle largeur est enregistrée automatiquement dans les Paramètres de la vue liste.
Bon à savoir : Les poignées de redimensionnement sont toujours légèrement visibles au repos. Survolez la ligne d'en-têtes pour les faire apparaître toutes en même temps. Survolez directement une poignée pour la mettre en évidence.
2. Paramètres de la vue liste
Pour régler les largeurs de plusieurs colonnes à la fois :
- Cliquez sur le menu ⋮ (en haut à droite de la liste) puis sur Paramètres de la liste (réservé au rôle System Manager).
- Dans le dialogue, la colonne Largeur (px) apparaît à côté de chaque champ affiché.
- Saisissez la valeur souhaitée en pixels (minimum 50 px, maximum 400 px).
- Cliquez sur Enregistrer.
3. Définition sur le champ (administrateurs)
Un administrateur peut définir une largeur par défaut sur un champ (propriété « Largeur ») depuis Personnaliser un formulaire. Elle s'applique quand aucune largeur n'est enregistrée pour la colonne.
Contraintes
| Paramètre | Valeur |
|---|---|
| Largeur minimale | 50 px |
| Largeur maximale | 400 px |
| Sauvegarde | Automatique après chaque glisser-déposer |
| Portée | La disposition active, ou le type de document pour tous les utilisateurs |
Masquer des colonnes dans la vue liste d'une grille par script
Exemple — Maison Verte SARL Sur le bon de commande de Maison Verte SARL, la grille des articles affiche par défaut la colonne "Taux unitaire". Un développeur souhaite la masquer uniquement dans cette grille, sans affecter d'autres formulaires utilisant le même type de ligne d'article. Grâce à
set_column_disp_in_list_view, la colonne disparaît de la vue liste de cette grille uniquement, et reste visible partout ailleurs.
Dans un formulaire Dokos, une grille (table enfant) peut afficher ses lignes sous deux formes : la vue liste (lecture seule, affichage condensé des lignes) et la vue édition (formulaire d'une ligne). Il est parfois utile de masquer une colonne dans la vue liste d'une grille précise, sans impacter les autres grilles qui partagent le même type de document enfant.
Pour les développeurs — set_column_disp_in_list_view
La méthode set_column_disp_in_list_view(fieldname, show) disponible sur l'objet Grid permet de masquer ou d'afficher une colonne dans la vue liste d'une grille, de manière locale à cette grille uniquement.
Contrairement à set_column_disp qui modifie le méta-champ partagé (et affecte donc toutes les grilles du même doctype enfant sur le formulaire), set_column_disp_in_list_view stocke la visibilité comme une surcharge propre à l'instance de la grille et reconstruit la disposition des colonnes sans effet de bord.
Signature
frm.fields_dict["nom_de_la_table"].grid.set_column_disp_in_list_view(fieldname, show);
| Paramètre | Type | Description |
|---|---|---|
fieldname | string | Nom interne du champ à masquer ou afficher |
show | boolean | true pour afficher, false pour masquer |
Exemple — masquer la colonne "Taux unitaire" dans la grille des articles
// Dans le script client du bon de commande
frappe.ui.form.on("Sales Order", {
refresh(frm) {
frm.fields_dict["items"].grid.set_column_disp_in_list_view("rate", false);
}
});
Différence avec set_column_disp
| Méthode | Portée | Vue affectée |
|---|---|---|
set_column_disp | Change la propriété « Masqué » du champ, partagée par les grilles du même doctype enfant | Vue liste et vue édition |
set_column_disp_in_list_view | Locale à la grille ciblée uniquement | Vue liste (lignes condensées) |
Ces deux méthodes sont complémentaires et peuvent être utilisées conjointement selon les besoins de mise en page.
Migration vers le thème Espresso
Dokos migre progressivement vers le thème Espresso, un système de design unifié qui harmonise l'apparence de toutes les applications (Dokos, HRMS, Payments, etc.). Cette migration impacte principalement :
- Les couleurs : Les couleurs passent par des jetons nommés selon leur rôle :
--surface-*(fonds),--ink-*(textes),--outline-*(bordures). - Les composants : Les badges, boutons et autres éléments d'interface adoptent un style standardisé.
- Les espacements et radius : Les valeurs par défaut pour les marges, paddings et coins arrondis sont mises à jour.
Ce qui change pour les utilisateurs
- Nouvelle apparence : L'interface devient plus moderne et cohérente, avec des couleurs plus douces et des espacements optimisés.
- Badges : Les anciennes "pilules d'indicateur" (
indicator-pill) sont remplacées par des badges Espresso, plus flexibles et accessibles. - Compatibilité : Les anciennes personnalisations (couleurs, styles) peuvent nécessiter des ajustements pour rester fonctionnelles.
Ce qui change pour les administrateurs
- CSS personnalisé : Utilisez les jetons Espresso (
--surface-*,--ink-*,--outline-*,--radius-*) plutôt que des couleurs en dur. Il n'y a pas d'écran de réglage du thème : les jetons se changent par CSS.
Pour une documentation complète sur le thème Espresso et ses options de personnalisation, consultez la page dédiée :