发现逻辑数据库及其对象
Dynamics 365 Business Central 与许多其他云应用程序一样,构建在数据库之上。 本数据库不仅包含数据(例如客户、供应商、产品等),还包含应用程序中使用的每一个对象。 当您请求客户数据时,这些数据将在屏幕上显示为一个具有特定结构的页面。
Business Central 的数据库还会存储本页面的结构,这让开发人员能够添加和修改现有对象并快速部署新解决方案。 当您想要更改屏幕上某些输入字段的位置时,无需构建新的产品版本。
每个解决方案都基于一个或多个对象进行构建。 您需要可以存储数据的表、可以显示数据的页面、允许用户交互的功能、可以展示的报表以及以特定布局打印数据的功能。
通过 codeunit,您可以对要在不同位置重复使用的函数进行分组。 您可以使用查询对象来查询数据库,当需要导入或导出解决方案中的功能时,可以使用 XMLPort 对象。
常用的对象类型包括:
表 - 描述如何存储数据以及如何检索数据。
页面 - 使用户能够查看、添加、修改或删除表中的记录。
报表 - 打印、处理或预览数据。
Codeunit - 编程代码的容器。 系统会从其他对象调用 codeunit 以完成特定任务。
查询 - 一种用于直接高效地查询底层数据库的关系数据模型。
XMLPort - 以 XML 或文本格式导入或导出数据。
Business Central 具有许多内置功能对象。 您无法更改对象的源代码,但可以通过扩展内置对象来修改行为。
您还可以使用两种其他对象类型:
表扩展 - 扩展现有表的功能。
页面扩展 - 扩展现有页面的功能。
报表扩展 - 扩展现有报表的功能。
逻辑数据库
在 Business Central 数据库中,您可以设置不同的公司。 公司的数据作为记录存储在不同的表中,每个记录均由多个字段构建而成。
公司是数据库中最大的逻辑结构,而数据大部分是且应该是特定于公司的。 虽然数据主要特定于公司,但对象不是这样。 作为开发人员,您将创建和更改/扩展对象。 然后,这些对象将适用于同一数据库中的所有公司。
管理对象
在开始为自定义解决方案创建新对象之前,请注意对象编号惯例。 Business Central 解决方案中的每个对象均由唯一数字标识。 编号惯例可帮助您组织版本管理、本地化和自定义,并帮助您确保成功升级。
编号为 0 到 49,999 之间的对象是 Microsoft 使用的对象,它们在全球范围内的版本中使用。 编号范围为 100,000 到 999,999 的对象包含本地化对象, 通常针对世界上不同的国家和地区而设计。 这些特定于区域的对象也由 Microsoft 创建。
开发 Business Central Online 的应用时,必须在许可方面请求对象范围。 Business Central 的开发使用具有 Microsoft Dynamics 365 Business Central 的 AL 语言扩展的 Visual Studio Code 完成。
目前有两个可供您请求的范围。 两者都有一些需要牢记的特征:
RSP 对象范围(ID 范围 1,000,000-69,999,999) - 此对象范围与 RSP 计划相关联。 您需要登录才能使用工作或学校帐户查看此信息。 我们目前建议新发布者不 请求 RSP 对象范围。
应用对象范围(ID 范围 70,000,000-74,999,999) - 本对象范围最初仅针对 Microsoft 商业市场中的应用设计,以在 Business Central Online 中使用。 我们目前建议新发布者请求应用对象范围。
目前,您可以在 Business Central Online 和 On-premises 以及合作伙伴托管的环境中实施在 RSP 范围和应用对象范围内开发的应用。
有关详细信息,请参阅请求对象范围。
以下各节介绍了您可以在基本应用程序和扩展中找到的不同对象范围。
0-49,999
本范围分配给 Business Central 基础应用功能,不得在扩展或自定义中使用。
50,000-99,999
本范围用于自定义和测试目的。 对于 Business Central Online,合作伙伴可以为单个租户开发量身定制的扩展,以满足需求。 合作伙伴通过使用沙盒租户或获取 Docker 映像来开发扩展。 开发完成后,可将扩展部署到单个租户。
此外,您可以将本范围用作培训和/或类似工作的一部分,例如,您在 Docker 上使用沙盒租户或 Business Central 内部版本时。
100,000-999,999
本范围中的对象是在 Microsoft 团队针对特定国家或地区对 Business Central 进行本地化时设计的。 合作伙伴无法使用这些对象。
1,000,000-69,999,999
此对象范围用于注册解决方案计划 (RSP)。 合作伙伴可以选择使用本范围来开发可在 Business Central Online 或 On-premises 中使用的扩展。 在 Business Central Online 中使用时,这些扩展作为应用从 Appsource 中获取。
70,000,000-74,999,999
合作伙伴可以针对 Business Central Online 的扩展获取本范围内的 ID。 这些扩展也作为应用从 Appsource 获取。 有关详细信息,请参阅生成应用入门。
若要下载 Business Central 许可指南,请参阅许可指南。
前缀和后缀
在您的扩展中,每个新应用程序对象(表、页面、codeunit)的名称都必须包含前缀或后缀。 此规则适用于所有对象。 您可以针对决定向用户显示的内容使用 Caption 值。 使用表扩展或页面扩展修改核心 Dynamics 365 对象时,必须在控件/字段/操作/组级别定义前缀/后缀。
优势
使用前缀/后缀可减少名称与其他扩展中定义的对象的冲突。 具有包含名称冲突的扩展的环境在部署新扩展、升级环境或将沙盒创建为当前环境的副本(对于生产环境)时可能会遇到问题。
一般规则
以下是一些需要遵循的一般规则:
前缀/后缀必须至少包含三个字符
对象/字段名称必须以前缀/后缀开头或结尾
如果出现冲突,则始终以注册相应前缀/后缀的用户为准
对于您自己的对象,您必须在对象顶级设置前缀/后缀
对于基础应用程序或您扩展的其他应用中的页面/表/枚举/报表/权限集,您必须在对象顶级以及控件/字段/操作/过程/值/数据项/列级别设置前缀/后缀
使用 AppSourceCop 工具查找所有缺失的前缀和/或后缀。 此工具的配置选项以及规则部分可在 AppSourceCop 分析器规则中找到。 “规则”部分说明了分析器执行的不同检查。 有关前缀/后缀检测,请参考“配置”部分。 它解释了如何在 AppSourceCop.json 文件中设置前缀/后缀。
扩展的前缀和后缀要求
AppSource 和租户扩展有一些要求。
对于 AppSource 扩展
作为技术验证核对清单的一部分,需要使用对象名称的前缀/后缀才能提交 AppSource。
为了满足 AppSource 技术验证的要求,您必须为扩展发布者注册三个字母的前缀/后缀,并且必须在扩展中使用它。
如果您尚未注册任何前缀/后缀,请通过 d365val@microsoft.com
与 Microsoft 联系,并提供以下信息以保留您选择的前缀/后缀。
您的 MPN ID
您在扩展中使用的发布者名称(在 app.json 文件中)
您必须提供至少五个前缀/后缀建议。 每个建议必须正好是三个字符。
前缀/后缀不区分大小写,这意味着“ABC”、“abc”和“AbC”视为相同内容。 同时提供“ABC”和“abc”只是您的建议之一。
请注意,您不需要更改任何已注册的前缀/后缀;您可以继续使用这些建议。 该指南仅适用于新注册。
对于每租户扩展
不强制要求每租户扩展使用前缀或后缀,但我们强烈建议您这样做。 您可以使用 pte 作为前缀或后缀,以避免与 AppSource 应用或基对象发生冲突。
如果每租户扩展导致与基础应用程序或更新的 AppSource 应用中的新对象发生冲突,则需要每租户扩展才能进行更改。
有关使用前缀或后缀的详细信息,请参阅使用前缀或后缀的益处和准则。