创建并使用自定义字段
尽管有大量的现成字段来管理各种业务流程,公司有时也需要跟踪系统中的更多信息。 虽然可以让程序员使用开发者工具将这些字段添加为扩展,自定义字段功能允许直接从用户界面添加字段,从而让您可以使用 Web 浏览器针对自己的业务调整应用程序。
只有具有特殊权限的用户才能访问本功能。
本视频体现了向页面添加自定义字段有多简单:添加自定义字段。
创建自定义字段
确定要在应用程序中跟踪的更多信息之后,可在相应表中创建自定义字段,并在页面中显示这个新字段。
以下步骤介绍创建自定义字段并将该字段放到页面中的流程。
导航到需要新字段的页面。
由于最终目标是在窗体中显示自定义字段,所以创建自定义字段的起点属于个性化体验。 通过选择选项,然后选择个性化设置此窗体,打开个性化菜单栏。
单击插入,然后单击字段。
选择要显示新字段的窗体区域。 选择后,插入字段对话框将显示可插入所选页面区域的现有字段的列表。
确认输入的字段未在该列表中。 否则,只需列表中选择该字段,然后单击插入。
单击 列表上方的创建新字段按钮开始创建自定义字段。 这将打开创建新字段对话框。
如果未看到创建新字段按钮,说明您无权使用此功能。
在创建新字段对话框中,输入以下信息。
选择应在其中添加此字段的数据库表。 请注意,此下拉列表中仅显示支持自定义字段的表。 有关支持的表的技术细节,请参阅下面的章节。
选择新字段的数据类型。 可用数据类型为复选框、日期、日期时间、小数、数字、选择列表和文本。
- 如果选择文本数据类型,还可以指定此字段中可输入的最大文本长度。
- 如果选择选择列表数据类型,还可以为字段选择有效值集合。
为字段提供名称、标签和帮助文本。 此名称与数据库中的实际字段名称对应,而标签和帮助文本则是用于在用户界面中表示此字段的文本。
如果这是需要为此页面创建的唯一字段,请单击 保存。 如果需要创建更多字段,请单击保存并新建,然后返回到步骤 7。
注释
目前,存在每个表 20 个自定义字段这一限制。
- 如果离开创建新字段对话框,将返回到插入字段对话框。 刚才创建的所有自定义字段将在字段列表中自动标记为要插入页面中。
- 单击插入将标记的字段插入页面中的所选区域。
- 可选: 从个性化工具栏中启用 移动 模式,以将新字段移动到所选区域中的所需位置。 有关如何使用各种个性化功能针对个人使用优化窗体的详细信息,请参阅打造个性化的用户体验。
警告
在添加到页面的自定义字段中输入值的功能依赖于与该自定义字段关联的表是可编辑的还是只读的。 当关联的表是只读时,链接到该表的所有字段(包括任何自定义字段)也将是只读的。
与其他用户共享自定义字段
创建自定义字段并在页面上显示之后,可能需要将这个更新后的页面视图(包括新字段)共享给系统中的其他用户。 可使用本产品的个性化功能以两种不同的方法达到此目的:
- 推荐的路线是发布一个已保存视图,并为适当的用户集将自定义字段添加到页面中。 如果未启用已保存视图功能,系统管理员可以从个性化页面将个性化应用于所需的用户。 有关详细信息,请参阅打造个性化的用户体验。
- 也可以导出更改(称为个性化设置),将其发送给一位或多位用户,然后请这些用户分别导入您的更改。 可使用个性化工具栏上的管理选项导出和导入个性化设置。
管理自定义字段
可通过“系统管理”模块中的自定义字段页面管理所有自定义字段。 用户可通过此页面访问大量功能,包括:
- 查看系统中的所有自定义字段的列表。
- 对现有自定义字段进行有限编辑。
- 删除自定义字段。
- 在数据实体上显示自定义字段。
- 提供自定义字段标签和帮助文本的翻译。
查看所有自定义字段
自定义字段页面提供系统中已定义的所有自定义字段的可视性。 选择您感兴趣的表,之后页面将更新以显示与该表关联的自定义字段的列表。 可通过从列表中选择自定义字段查看有关该字段的所有详细信息。
编辑自定义字段
创建自定义字段之后,自定义字段页面中只能修改有关该自定义字段的特定信息段。
可以修改以下属性:
- 标签
- 帮助文本
- 文本字段的长度
不能编辑以下属性:
- 字段名称
- 数据类型
此外,对于选择列表字段,可为自定义字段的有效值集排序,但是,不能移除选择列表字段的现有值。 编辑完特定表的字段后,请单击应用更改,以便保存更改。
在数据实体上显示自定义字段
允许自定义字段在数据实体上显示也可能同样重要。 数据实体用于 Office 集成概览功能中,也用于数据导出/导入场景。
请按照以下步骤在数据实体上显示自定义字段:
- 在自定义字段页面中选择自定义字段。
- 展开实体部分查看相关实体集。
- 单击编辑按钮。
- 修改要为应显示此字段的各实体选择的已启用字段。
- 单击应用更改以保存您的选择。
允许自定义字段以其他语言显示
因为用户可能需要使用各种语言访问自定义字段,所以自定义字段页面提供了一种机制来将自定义字段的标签和帮助文本翻译为其他语言。
以下步骤介绍将自定义字段翻译为其他语言的流程:
在自定义字段页面中选择自定义字段。
选择操作窗格上的翻译按钮。 这将打开一个下拉菜单,其中包含该字段的现有翻译。
语言下拉菜单显示已提供了其翻译的语言的集合。
如果要编辑现有翻译,请从菜单中选择语言,然后修改标签和帮助文本的值。
否则,单击添加语言按钮,从菜单中选择所需语言,然后为标签和帮助文本提供翻译后的值。
完成后,单击确定。
删除自定义字段
当您决定不再需要自定义字段时,系统管理员可以选择从自定义字段页面删除该字段。 要删除自定义字段,请选择要删除的字段,单击删除,单击是确认删除,最后单击应用更改。
注释
此操作无法撤消,将导致从数据库永久删除与该字段关联的数据。
附录
为什么我不能在自定义字段中输入值?
如果在页面处于编辑模式时无法在自定义字段中键入值,可能是因为添加了该字段的表当前是只读的。 如果后备表当前在页面上被配置为只读,表中的所有字段都将变为只读。
谁可以创建自定义字段?
默认情况下,只有系统管理员才能创建自定义字段。 但是,系统管理员可使用运行时自定义高级用户安全角色为组织认为有必要拥有创建自定义字段的权限的高级用户提供该权限。 不具有此安全角色的用户不能创建自定义字段,但是仍然可以查看系统中其他用户添加的自定义字段和与之交互。
哪些表支持自定义字段?
出于性能和技术原因,现在只有满足以下条件的表才允许添加自定义字段。
表必须标记为以下组之一:
- 组合
- WorksheetHeader
- 主要
- 杂项
- 参数
- 参考
- TransactionHeader
表不能扩展其他表。
表不能标记为系统表。
表不能为临时表。
是否可以从开发者工具引用自定义字段?
自定义字段只能通过用户界面管理,不能通过代码引用。
是否可以将自定义字段作为扩展字段转移到表中,同时保留值?
自定义字段数据可以作为扩展字段转移到表中。 要使用自定义 X++ 脚本从自定义字段获取并映射相应数据,请按照以下步骤操作:
- 获取自定义字段的字段名称。
- 使用
.getFieldValue(_fieldName)
方法获取源表中的值。
可以使用 TableExtensionManagerFactory::CreateExtensionManager()
扩展管理器在 .GetRuntimeExtension(_tableName, SysCustomFieldConstants::ExtensionName)
Microsoft.Dynamics.Ax.Xpp.MetadataExtensions 库中创建 扩展构建对象,以获取有关扩展字段的类型/元数据的详细信息。
纸币
在自定义字段和新扩展字段之间传输所有记录的数据时,从查询中排除具有默认值的记录。 使用 SysDa 框架的 update 语句提升性能。
如何在环境之间移动自定义字段?
在环境之间移动自定义字段的当前建议是在目标环境中手动重新创建自定义字段。 要查看特定表上自定义字段的完整列表,请执行以下步骤:
- 转到自定义字段页面,从下拉列表中选择该表。
- 在目标环境中,按照本文前面描述的过程重新创建每个字段。
- 创建所有字段后,单击应用更改 。
- 通过从原始环境中导出这些个性化项并将它们导入到目标环境中,移动所有包含自定义字段的个性化项。