Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 
 

3.1 KiB

Nommage et relation entre DocType

Définissons un nouveau DocType:

  1. Library Member (First Name, Last Name, Email Address, Phone, Address)
Doctype Saved

Le nommage des DocTypes

Les DocTypes peuvent être nommés de différentes facons:

  1. Sur la base d’un champ
  2. Sur la base d’une série
  3. Par le controlleur (code)
  4. Par la console

Cela peut être configuré par le champs Autoname. Pour le controleur, laissez vide.

Search Fields: Un DocType peut être nommé sur la base d’une serie mais nous devons toujours pouvoir le chercher par un nom. Dans notre cas, l’arcicle peut etre cherché par un titre ou par l’auteur. Remplissons donc le champs Search Fields.

Autonaming and Search Field

Relation et champs select

Les clés étrangères sont, dans Frappe, traduits par un champs de type Link. Le DocType ciblé doit être mentionné dans le champs Options.

Dans notre exemple, pour le doctype Library Transaction, nous avons un lien vers Library Member et vers Article.

Note: Souvenez vous que les champs Link ne sont pas automatiquement enregistré comme clé étrangère afin d'éviter d’indexer la colonne. Cela pourrait ne pas être optimum, c’est pour cela que la validation de la clé étrangère est faite par le framework.

Link Field

Pour les champs select, comme mentionné plus tôt, ajoutez chacune des options dans le champs Options, chaque option sur une nouvelle ligne.

Select Field

faites de même pour les autres modèles.

Valeurs liées

Un modèle standard c’est lorsque vous selectionnez un ID, admettons Library Member dans Library Membership, alors, les noms et prénoms du membre doivent être copiés dans le champs adequat lors d’enregistrements dans Library Membership Transaction.

Pour cela, nous pouvons utiliser des champs en lecture seules et, dans les options, nous pouvons définir le nom du lien et le nom du champs de la propriété que nous voulons parcourir. Dans cet exemple, dans Member First Name nous pouvons définir library_member.first_name

Fetch values

Completer les Modeles

De la même facon, vous pouvez compléter les autres modèles pour qu’au final le résultat soit:

Article

Article

Library Member

Library Member

Library Membership

Library Membership

Library Transaction

Library Transaction

Vérifiez que le modèles Librarian aient les permissions sur chaque DocType.

{next}