# 字段类型
Frappe框架提供了多种字段类型。每种字段类型都有其特定的用例,可用于在文档中输入和存储不同类型的数据。字段类型用于在桌面和Web表单中呈现组件。

# 数据(Data)
数据字段将是一个简单文本字段。它允许您输入最多140个字符的值,使其成为最通用的字段类型。
您可以通过将选项设置为"Name"、"Email"、"Phone"或"URL",分别为以下类型的数据启用验证:
- 名称
- 电子邮件
- 电话
- URL

# 链接(Link)
链接字段与另一个主记录相连,从中获取数据。例如,在报价单主记录中,客户是一个链接字段。了解更多信息,请点击这里。
# 动态链接(Dynamic Link)
动态链接字段是可以搜索并保存任何文档/DocType的值的字段。点击这里了解动态链接字段的工作原理。
# 勾选(Check)
这将允许您在这里有一个复选框。您可以将默认值设置为1,它将默认被勾选。


# 选择(Select)
使用字段类型"选择",您可以创建一个下拉字段。您可以在_选项_字段中指定所有可选值,每个值用新行分隔。
可选值之一可以复制到_默认_字段中。然后,该值将在新表单中默认被选中。
如果您启用了_排序选项_复选框,值将按字母顺序显示(以用户的语言为准)。
以下截图显示了如何在DocType中或通过自定义表单定义"选择"字段:

这是它在新表单中的呈现方式:

# 表格(Table)
使用"表格"字段,您可以在表单中将另一个DocType呈现为子表格。
首先,您需要选择或定义一个启用了复选框_是子表格_的DocType。然后您可以添加一个类型为"表格"的字段,并将您的子表格DocType的名称粘贴到_选项_字段中。
例如,ERPNext定义了一个名为"采购收据项"的子DocType,启用了_是子表格_:
另一个名为"采购收据"的DocType有一个类型为"表格"的字段,_选项_设置为上述子DocType"采购收据项":
最后,子表格将在采购收据表单中呈现:
# 附件(Attach)
附件字段允许您从文件管理器中浏览字段并在此附加相同的内容。
# 附件图片(Attach Image)
附件图片是一个字段,您可以在其中附加jpeg、png等格式的图片。这将成为代表特定DocType的图片。例如,如果您想要在项目DocType中显示项目的图片,您可以选择字段为附件图片字段。
# 文本编辑器(Text Editor)
文本编辑器是一个文本字段,呈现一个**所见即所得(WYSIWYG)**编辑器用于输入。它有各种文本格式化选项。
# 日期(Date)
此字段将允许您在此字段中输入日期。
# 日期和时间(Date and Time)
此字段将为您提供日期和时间选择器。默认情况下会设置为当前日期和时间(由您的计算机提供)。
# 条形码(Barcode)
在此字段中,您可以指定字段为条形码,允许您输入条形码号。一旦您这样做,条形码将自动针对该数字生成。
# 按钮(Button)
此字段允许您在文档中放置一个按钮。这可用于执行特定操作,如发布博客文章、触发操作等。
# 代码(Code)
这种字段类型可用于输入代码。在文档表单中呈现代码编辑器。您可以选择性地在字段类型选项中提供一种语言以启用语法高亮。例如,下面是一个选项设置为Python的代码类型字段:
您可以通过设置"选项"来为以下语言启用基本语法验证。
Python(用于脚本)
PythonExpression(用于必须计算为值的简单单行表达式)例如。赋值规则条件
# 颜色(Color)
这将允许用户通过呈现的颜色选择器输入颜色,或直接输入十六进制颜色。
# 列间断(Column Break)
这是一个元字段类型,不存储任何输入数据,但可用于在文档视图或表单中指示列间断。
例如,
将产生以下结果:
# 货币(Currency)
货币字段保留数值,如商品价格、金额等。货币字段的值可以达到六位小数。此外,您可以显示货币字段的货币符号。
# 浮点数(Float)
浮点数字段携带数值,最多九位小数。
# 地理位置(Geolocation)
地理位置字段将显示地图视图,在该视图上您可以绘制多边形、线条和点。数据存储为GeoJSON feature_collection。
如果您添加了一个字段名称完全为"location"的地理位置字段,您将获得一个额外的地图视图(相当于列表视图,但在地图上)。顺便说一下,如果您创建了两个分别命名为"latitude"和"longitude"的单独字段,这也起作用。
注意:Frappe使用的"Leaflet"库将坐标存储为[纬度,经度],这与GeoJSON通常做的相反。
# HTML
这将在文档表单或视图页面中将选项中输入的内容呈现为HTML。这里有一个例子:
将产生以下结果:
# 图像(Image)
图像字段将呈现在另一个附件字段中选定的图像文件。
对于图像字段,在Doctype中的选项(Option)下,应该提供一个字段名称,其中附加了图像文件。通过引用该字段中的值,图像将成为图像字段中的一个引用。
将产生以下结果:
# 整数(Int)
整数字段保留数值,没有小数位。
# 小文本(Small Text)
小文本字段携带文本内容,并且比数据字段有更大的字符限制。
# 长文本(Long Text)
当您想要输入无限字符限制的数据时,可以将字段定义为长文本字段。
# 文本(Text)
这种字段类型将允许您在字段中添加文本。小文本、长文本和文本字段中的字符限制应根据关系数据库管理系统确定。
# Markdown编辑器(Markdown Editor)
此字段将允许您以markdown格式添加文本。这种字段类型还提供了渲染后的HTML的预览视图:
当点击预览时:
# 密码(Password)
密码字段将包含解码后的值。这种类型的字段可用于存储敏感数据,如密码、密码短语、密钥等。
# 百分比(Percent)
您可以将字段定义为百分比字段,它将在后台被计算为百分比。
# 评分(Rating)
这个字段可用于显示交互式星级评分输入。默认显示的星级数量为5,但可以通过在该特定评分字段的选项字段中输入3-10范围内的数字轻松更改。
您还可以提供半星评分,例如3.5/5。
# 只读(Read Only)
只读字段将携带从另一个表单获取的数据,该数据不可编辑。如果其值的来源是预先确定的,您应该将字段类型设置为只读。
# 节间断(Section Break)
节间断用于将表单划分为多个部分。任何跟随(并且在下一个节间断之前)节间断字段的字段将成为这个新部分的一部分。
# 标签页间断(Tab Break)
标签页间断用于将表单划分为多个标签页。任何跟随直到下一个标签页间断的字段将成为这个新标签页的一部分。
**注意:**如果DocType的fields表没有以标签页间断开始,将使用默认的标签页间断,名为Details。这仅当DocType在fields表中至少有一个标签页间断时发生。
# 签名(Signature)
您可以将字段定义为签名字段,在其中添加数字签名。要了解更多信息,请阅读签名字段的文档。
# 表格多选(Table MultiSelect)
这是链接类型和表格类型字段的组合。与具有添加行按钮的子表格不同,在某个字段中可以选择多个值。
# 时间(Time)
这是一个时间字段,您可以在字段中定义时间。
# 持续时间(Duration)
如果您想要定义一个时间段,可以使用持续时间字段。
如果您不想以天或秒为单位跟踪持续时间,可以在表单中分别启用“隐藏天数”和“隐藏秒数”选项。一天相当于24小时。
# JSON
这将在数据库中创建一个JSON类型的列。还在桌面控件中添加了语法高亮显示。