MS Dynamics NAV - 开发许可基础知识

MS Dynamics NAV - development licensing basics

我是新手自学NAV。有些问题可能是愚蠢的问题,希望能听取各位天才专家的意见! 真的与许可框架混淆。

查询,

  1. 我可以识别两种类型的许可证 - 客户许可证与合作伙伴许可证。客户许可证是ERP产品的许可证,包括系统功能包(starter/extended)和用户权限(full/limited用户)。合作伙伴许可证是开发合作伙伴订阅的。这两种类型之间没有关系吧?

  2. 开发合作伙伴是否能够对 Starter/Extended 包预装的任何原始对象 (tables/codeunits) 进行更改。是否允许开发合作伙伴 modify/enhance 任何程度的系统功能?

  3. 当开发合作伙伴在 Microsoft 注册时,是否会为其提供一组固定的对象 ID 以用于创建新对象?它会为将要实施 NAV 的所有客户使用同一组 ID 吗?那么,这些 ID 是全局唯一的 - 没有两个开发合作伙伴具有相同的 ID?

  4. 当我使用我的域帐户连接到 RTC 时,我在客户许可下充当完全用户(我可以在部门=>管理=>常规=>下看到我的用户设置为完全用户用户)。如果我连接到 NAV DEV ENVIRONMENT,我可以设计几乎所有的表格,但不能设计任何 CODEUNITS。那么,DEV 环境的安全性是如何工作的???

  1. I can identify two types of licenses - Customer license vs Partner license. Customer license is the license for ERP product and includes system functionality packages (starter/extended) and user access(full/limited user). Partner license is what a dev partner subscribes to. There is no relation among those two types, right?

合作伙伴许可在本质上与客户许可相同。它只是赋予你更多的能力,比如创建对象、字段、修改对象代码。这些适用于合作伙伴许可证中包含的对象。

客户许可还可以包括一些额外的功能,例如允许客户修改报告的报表设计器(如 Nav 5 表格,不知道这是否在最新版本中更改)。

  1. Is a development partner able to make changes to any of the primitive objects (tables/codeunits) that come pre-installed with Starter/Extended pack.

是否允许合作伙伴修改某些对象由其许可证定义。可能存在基于对象编号的限制。不确定是否有,但技术上是可能的。

Is development partner allowed to modify/enhance the system functionality to any extent?

存在以下限制:如果字段编号在 1 到 49999 范围内(所谓的标准范围),您将无法 delete/insert 来自 table 的字段。但这并不重要,因为您总是可以在您的合作伙伴范围内创建字段。实际上,您的 partner/customer 范围是您的主要限制。哪些可以被利用 向 MS 汇款更多 ;)

请记住,如果您在您的范围内创建对象,例如 50010。您的客户必须将此范围包含在他的许可证中才能使用该对象。所以你们俩都必须给 MS 汇更多的钱 ;)

  1. When a development partner registers with Microsoft, is it given a fixed set of object IDs that it will be using to create new objects? Would it be using same set of IDs for all the customers it would be implementing NAV? So, these IDs are globally unique - no two dev partners be having same IDs?

好吧,看看this。简而言之:范围 50,000 - 99,999 由合作伙伴共享,认证合作伙伴可以通过 100,000 - 999,999,999 范围内的对象,并专为他保留。

  1. When I connect to RTC using my domain account,I act as a Full User under Customer License (I can see my user set as full user under Departments=>administration=>General=>Users). If I connect to NAV DEV ENVIRONMENT, I CAN design almost all the tables, but CAN'T any of the CODEUNITS. So, how does security work on DEV Environment???

不确定 "security" 是什么意思。对数据的访问受用户权限设置的限制。对对象的访问受许可证限制。

在 RTC 之前的 Nav 中,有特殊的用户权限允许访问对象设计器(现在 Dev Env 中只剩下这些)。至于现在,我想您必须 grant that user db_owner role on the database 才能访问 Dev Env。

根据上下文的许可可以指代两种不同的事物:
- Application\Development 许可证
- Client License Type

申请\开发许可证

Microsoft Dynamics NAV 的许可模型建立在对数据库中每个对象(Table、TableData、Form、Report、Dataport、XMLDataport 定义读取、插入、修改、删除和执行的基础上, Codeunit, MenuSuite, Page, Query)这对最终用户、合作伙伴和 ISV 都是如此。

众所周知,不同范围的对象具有不同的含义,因此根据对象编号,您可以假设不同的各方都可以访问,它们已记录在案 here

您修改对象的能力将取决于您通过 Microsoft 合作伙伴从 Microsoft 购买的对象设计颗粒,与设计相关的颗粒列表可在 link

中找到

根据您购买 Microsoft Dynamics 许可证的时间不同,您的入门包中会包含不同的许可证,最常见的用户有:
- 7110 报告和数据端口设计器
- 7120 表单和页面设计器

这些使您能够在 Reports 和 Forms 中修改代码,并且它们本身包括客户许可范围内的修改对象。

修改 Codeunits 的能力是 Application Builder 颗粒的一部分,购买的客户并不多,这可能解释了为什么您可以设计某些对象类型而不能设计其他对象类型。

Microsoft 合作伙伴拥有等同于解决方案开发人员许可的内容,允许他们修改基本应用程序范围内的受保护表(例如 Ledger Tables)。

颗粒

系统中有一些很好的资源可以获取有关您在 NAV 实例中期望拥有哪些权限的信息。在 Microsoft Dynamics IDE 中,您可以访问您的许可证文件(或者您可以将其作为文本文件阅读,当它在底部进入 ASCII 时忽略它)。

您可以使用号码和姓名来查找每一个的用途Example

还有一份报告 10313 您可以执行的许可证权限,它将提供范围的概述以及您在许可证中对每个权限具有的特定权限 (RIMDE)。

您的 Microsoft 合作伙伴有权生成许可报告(详细或摘要),这将提供您已购买的对象及其分配位置的列表。

在商业就绪许可 (BRL) 等以前的许可计划中,您必须单独定义和购买每个颗粒。

最近,Microsoft 已转向永久和订阅许可,它提供了您可能使用的大部分应用程序领域。

对象分配

Design Granules 附带对特定对象的访问权限,如果您需要对数据库中对象的额外访问权限,则必须单独购买它们,然后由您的 Microsoft 合作伙伴分配。

例如购买 10 个额外的 Tables 授予您 10 个 Tables 的权利,然后需要通过为您的数据库中的表选择特定的对象 ID 来将其分配给您的许可证,并且添加安全性。

发展

有几种主要类型的参与方在 Dynamics NAV 实例中进行开发:

微软解决方案合作伙伴

这些倾向于进行客户特定的开发,这是对现有表单和对象的修改、错误修复和其他可能仅适用于特定客户的项目。

大多数此类开发是在现有的 Microsoft Dynamics NAV 对象范围内完成的,或者如果创建了新对象,则它是在客户设计区域 (50,000 - 99,999) 内完成的。

具有 in-house 技能的客户通常也可以在此范围内进行开发,因为权限在客户范围内。

独立软件供应商 (ISV)

这些也是 Microsoft 合作伙伴,但他们专注于为多个客户开发解决方案,这些客户将安装到数据库阵列中并在认证合作伙伴设计领域(100,000 - 999,999,999)中工作,这些对象对所有客户都是相同的客户。

请注意,Microsoft 解决方案合作伙伴不会自动获得修改所有 ISV 对象的权限,他们需要获得与最终用户相同的对象范围访问权限,并且在某些情况下可能无法修改某些对象由于 ISV 的需求而产生的对象(这种情况很少见)。

客户端许可类型

完全用户决定连接数据库时使用的客户端许可类型,它本身不直接提供安全性;受限用户确实对其可以访问的内容有限制。

您的许可证和安全性 set-up 共同确定用户可以拥有的最大安全性,因为您可以将用户权限添加到您未获得许可的对象,但由于运行时没有权限,他们仍然会收到安全错误(即使对于 SUPER 角色和未获得特定 ISV 解决方案许可的 MS 合作伙伴也是如此范围)。