Version de développement
Cette documentation décrit la version « next » (develop), non encore publiée. Pour la version stable, basculez sur « v5 » dans l'en-tête.
Développeurs

DocType Settings Map

Afficher des champs de paramètres Single dans l'onglet Général du dialogue Paramètres du type de document.

DocType Settings Map

Un DocType Settings Map affiche des champs de types de documents Single (par exemple Paramètres de vente ou Paramètres de stock) dans l'onglet Général de la boîte de dialogue des paramètres d'un type de document. L'utilisateur modifie ces paramètres sans ouvrir chaque formulaire de paramètres.

Prérequis

  • Le rôle System Manager. C'est le seul rôle qui a les permissions sur ce type de document.
  • Pour une carte standard (livrée avec une application) : le mode développeur activé.

Champs

DocType Settings Map :

Libellé (fr)Nom du champTypeDescription
S'applique au DocTypeapplies_to_doctypeLink (DocType)Type de document qui affiche les paramètres. Obligatoire.
Est un formulaire standardis_standardCheckCarte livrée avec une application. Modifiable seulement en mode développeur.
ModulemoduleLink (Module Def)Module de la carte standard. Rempli avec le module du type de document.
Est Activeis_activeCheckLa carte utilisée pour ce type de document.
MappagesmappingsTable (DocType Settings Map Item)Une ligne par champ à afficher.

DocType Settings Map Item (lignes de Mappages) :

Libellé (fr)Nom du champTypeDescription
DocType des paramètressettings_doctypeLink (DocType)Type de document Single source. Le sélecteur ne propose que les types Single. Obligatoire.
Champ de paramétragesetting_fieldAutocompleteNom du champ dans le type Single. La liste propose les champs qui ont une valeur (pas les sauts de section, boutons…). Obligatoire.

Le champ garde son libellé, son type, sa description et sa valeur d'origine. Il n'y a pas de renommage.

Nom et unicité

Type de carteNom du documentRègle
Personnalisée (is_standard décoché)Le nom du type de document, par exemple Sales InvoiceUne seule carte personnalisée par type de document
Standard (is_standard coché)<type de document> - <module>, par exemple Sales Invoice - AccountsUne seule carte standard par module et par type de document

Une seule carte est active par type de document :

  • Activer une carte désactive les autres cartes du même type de document. Une carte personnalisée active remplace donc la carte standard.
  • Désactiver la seule carte active réactive une autre carte, de préférence la carte standard.
  • Supprimer la carte active réactive une autre carte, de préférence la carte standard.

Créer une carte personnalisée

  1. Ouvrez la liste Carte des paramètres du DocType (DocType Settings Map) depuis la barre de recherche.
  2. Cliquez sur Créer un·e Carte des paramètres du DocType.
  3. Dans S'applique au DocType, sélectionnez le type de document, par exemple Facture de vente (Sales Invoice).
  4. Laissez Est un formulaire standard décoché.
  5. Cochez Est Active.
  6. Dans Mappages, ajoutez une ligne par paramètre :
    • DocType des paramètres : par exemple Paramètres de vente (Selling Settings).
    • Champ de paramétrage : par exemple so_required.
  7. Enregistrez.

Exemple

ERPNext livre une carte standard pour Facture de vente (erpnext/accounts/doctype_settings_map/sales_invoice.json). En voici un extrait :

DocType des paramètresChamp de paramétrage
Selling Settingsmaintain_same_sales_rate
Selling Settingsdn_required
Selling Settingsso_required
Stock Settingsallow_to_make_quality_inspection_after_purchase_or_delivery

Livrer une carte standard avec une application

En mode développeur, l'enregistrement d'une carte standard écrit le fichier <module>/doctype_settings_map/<type_de_document>.json dans l'application du module. bench migrate importe ces fichiers (frappe/model/sync.py). Supprimer une carte standard en mode développeur supprime aussi son fichier.

Les cartes personnalisées restent dans la base du site. Elles ne sont pas exportées.

Affichage et permissions

L'onglet Général lit la carte active par frappe.desk.doctype_settings.settings_map.get_settings_map(doctype). has_settings_map(doctype) indique si l'onglet doit être affiché.

  • L'utilisateur doit avoir la lecture sur le type de document cible.
  • Un type de document source qui n'est pas Single, ou que l'utilisateur ne peut pas lire, est ignoré.
  • Un champ dont le niveau de permission (permlevel) n'est pas lisible par l'utilisateur est ignoré.
  • Un champ est modifiable seulement avec l'écriture sur le document et sur son niveau de permission. L'enregistrement passe par frappe.client.set_value, qui contrôle de nouveau les permissions.

Dépannage

SymptômeCause probable
L'onglet Général n'apparaît pasAucune carte active pour ce type de document, ou pas de lecture sur ce type de document
Un champ n'apparaît pasLe champ n'a pas de valeur (saut de section, bouton…), ou l'utilisateur ne peut pas lire son niveau de permission
Un champ est en lecture seuleL'utilisateur n'a pas l'écriture sur le type Single ou sur le niveau de permission du champ
« Standard DocType Settings Map can only be changed in Developer Mode. »Vous modifiez une carte standard hors mode développeur. Créez une carte personnalisée active à la place
« A custom settings map already exists for {0}. »Une carte personnalisée existe déjà pour ce type de document. Modifiez-la

Voir aussi