to select ↑↓ to navigate
Frappe Framework

Frappe Framework

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

DocTypes

DocTypes

Een DocType is Frappes kernmodel — als een databasetabel, maar met schema, permissies, lifecycle-hooks en gegenereerde UI.

Wat een DocType heeft

Eigenschap Doel
Naam Enkelvoud conventie (Sales Invoice, niet Sales Invoices)
Module Bij welke app/module hoort het
Velden Kolommen — elk met type, label en eigenschappen (zie Veldtypes hieronder)
Permissies Regels per rol
Naamgeving Hoe nieuwe records hun primary key krijgen (Naming Series, hash, op veld)
Workflow Optionele toestandsmachine

Soorten DocType

Type Gebruik
Document Heeft DB-tabel; gebruikers maken veel records
Single Slechts één record — voor instellingen (System Settings, Email Settings)
Child Table Embedded in een parent — Sales Invoice Item zit in Sales Invoice
Submittable Heeft Submit-actie; ingediende records zijn immutable, wijzigingen via Cancel + Amend

Standard vs Custom

Type Herkomst
Standard Gedefinieerd door een app — code in <app>/<module>/doctype/
Custom Aangemaakt in het Desk door admin — opgeslagen in de database

Voor eenmalige behoeften is een Custom DocType snel. Voor herbruikbare modellen over meerdere sites: maak een Frappe-app. Zie Ontwikkelaars.

Naamgevingsconventies

  • DocTypes zijn enkelvoud: Sales Invoice, niet Sales Invoices
  • Veldnamen zijn snake_case: customer_name, posting_date
  • Title Case in labels (wat gebruikers zien), snake_case in fieldnames (wat code gebruikt)

Veldtypes

Bij het definiëren van een DocType heeft elk veld een type dat opslag en rendering bepaalt.

Tekst & inhoud

Type Opslag Gebruik
Data varchar(140) Korte strings — namen, codes
Small Text text Tot ~64KB
Long Text longtext Tot 4GB — artikelen, inhoud
Text Editor longtext Rich HTML-bewerking
Code longtext Code met syntax highlighting
Markdown Editor longtext Markdown met preview
HTML Editor longtext Directe HTML-bewerking

Getallen

Type Opslag Gebruik
Int int Hele getallen
Float float Drijvende komma
Currency decimal(18,6) Geldbedragen — locale-geformatteerd
Percent float Getoond met %-achtervoegsel

Datums

Type Format
Date YYYY-MM-DD
Time HH:MM:SS
Datetime YYYY-MM-DD HH:MM:SS
Duration Uren/min/sec — interval
Type Gebruik
Select Dropdown met vaste opties
Link Verwijzing naar ander DocType — autocomplete
Dynamic Link Link waarvan het target-DocType zelf een veld is
Table Child table — embedded lijst
Table MultiSelect Multi-select uit ander DocType
Autocomplete Vrije tekst met suggesties

Bestanden & media

Type Gebruik
Attach Bestandslink — slaat URL op
Attach Image Zelfde met image-preview
Color Color picker — hex-waarde
Signature Tekencanvas, opgeslagen als image

Layout

Type Gebruik
Section Break Visuele groepering
Column Break Nieuwe kolom in huidige sectie
Tab Break Top-level tab
Fold Inklapbare groep
HTML Statische HTML in het formulier
Heading Visuele kop

Speciaal

Type Gebruik
Check Boolean — 0 of 1
Password Encrypted opgeslagen
JSON Geldige JSON; gevalideerd bij save
Geolocation Kaartkiezer
Rating Sterrenwidget
Read Only Alleen tonen, geen invoer
Barcode Rendert barcode uit waarde
Last updated 3 days ago
Was this helpful?
Thanks!