上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页
摘要: 做过AX开发的同学们应该对runbase、runbasebatch、runbasereport这些类比较的熟悉,用它们来从用户收集数据、交互或者batch方式执行操作、并纪录用户的输入选项下次运行时初始化这些选项,为此需要重载pack、unpack、diaog、getfromdialog、run、cangobatch等函数。在AX2012中微软引入了新的SysOperation框架,用于替换runbase框架,微软提供了一份长达58页的白皮书介绍如何使用SysOperation框架,在这里下载http://www.microsoft.com/en-us/download/details.asp 阅读全文
posted @ 2012-09-14 13:10 断水流 阅读(1297) 评论(0) 推荐(0) 编辑
摘要: 在.NET Interop from X++一文中有提到X++可以引用的.NET程序集,这里就这个问题更加深入的探讨。前文中说到X++所引用的.NET程序集需要手工拷贝到Client\bin目录下,如果程序集已经发布到GAC,这步不是必须的,因为AX首先在GAC中搜索程序集,然后是server\bin或者client\bin目录。接下来还需要在AOT->Reference下添加对该程序集的引用,在“Add reference”窗口上“Browse”选择要添加的程序集文件,默认目录就是client\bin,如果你选择一个这个目录之外的.dll,AX会提示文件不在client\bin目录下, 阅读全文
posted @ 2012-09-13 15:22 断水流 阅读(1546) 评论(5) 推荐(1) 编辑
摘要: 已经讲过可以通过Proxy class从C#使用X++的类,反过来从X++使用CLR的类型当然也是可以的,这在以前版本的AXAPTA 4.0、AX 2009就开始支持了,这里把要注意的问题做一简单的归纳。X++使用CLR类的静态方法需要使用“::”而不是C#中的“.”,这和X++调用X++类的静态方法是一样的:System.String netString=System.Convert::ToString("xxx");从X++的数据类型到CLR的元类型或者从CLR的元类型到X++的数据类型,会自动进行隐式的marshal转化,下表是两者类型的对应关系:X++ typeCL 阅读全文
posted @ 2012-09-13 12:30 断水流 阅读(2000) 评论(0) 推荐(0) 编辑
摘要: 除了使用.NET Bussiness connector从C#工程访问AX的数据及方法,还可以使用Proxy Class for .NET Interop to X++功能直接将X++的类、表转化成C#的代理类,在.NET项目中使用代理类码更加直接的访问AX。相比较.NET Bussiness connector,前者使用后绑定编程模型,而Proxy class使用前绑定编程模型,在Visual studio的代码编辑窗口中可以得到相关方法的智能提示,所以在一些情况下Proxy class可以更好的替代.NET Bussiness connector。AX的Class、Table和Enum可以 阅读全文
posted @ 2012-09-13 08:35 断水流 阅读(958) 评论(0) 推荐(0) 编辑
摘要: 通过.Net Business connector可以在.net的工程中访问AX的数据及功能,要使用.Net Business connector首先需要安装它的组件,可以脱离client单独安装使用,在连接到AX系统时使用windows验证。在.net工程比如C#工程中添加对程序集Microsoft.Dynamics.BusinessConnectorNet.dll的引用,一般安装在目录C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin\下。C#工程的Target framework必须选择为.NET Framework 4. 阅读全文
posted @ 2012-09-12 14:54 断水流 阅读(3405) 评论(1) 推荐(0) 编辑
摘要: 按照最佳实践,AX2012的form有几种设计模式:Details form、Details form with lines、Dialog、Drop Dialog、Simple details、Simple list、Simple list and detials、Table of contents以及List page、Area page、Role center。它们各自有不同的内部结构,分别用在不同的典型场景,其中的大部分可以通过AOT的form节点右键"New form from template”通过模板来创建,也提供“Add -ins->Check form styl 阅读全文
posted @ 2012-09-04 12:58 断水流 阅读(2639) 评论(0) 推荐(0) 编辑
摘要: 在AX2012的Form开发中,微软引入了新的控件ReferenceGroup,它用在Lookup其他表RecId的时候显示更人性化的字段,它的使用还必须从表的索引说起。AX2012的表有这些索引(http://msdn.microsoft.com/en-us/library/hh812105.aspx):Primary key:主键用来唯一标识一条纪录,比如InventTable的ItemIdx索引,包含ItemId字段,用它标识唯一的一个物料,AX2012要求主键必须只有一个字段,当然必须是唯一的。Alternate Key:可以包含多个字段且索引必须是唯一的,其属性AllowDuplic 阅读全文
posted @ 2012-09-04 10:06 断水流 阅读(1335) 评论(0) 推荐(0) 编辑
摘要: AX2012使用代码创建并运行Form和Axapta 3.0的时候差不多,贴一下代码不解释:static void createForm(Args _args){ Args args; Form form; FormRun formRun; FormBuildDesign formBuildDesign; FormBuildDataSource formBuildDataSource; FormBuildGridControl formBuildGridControl; FormBuildStringControl formBuildStringCon... 阅读全文
posted @ 2012-08-31 10:24 断水流 阅读(740) 评论(0) 推荐(0) 编辑
摘要: Table的AOSAuthorization有以下几个枚举值可选择:NoneCreateDeleteUpdateDeleteCreateUpdateDeleteCreateReadUpdateDelete假设一个表的AOSAuthorization 属性被设置为CreateDelete,AOS值在确认用户有合适的权限时才执行Create和Delete操作,但是不会检查Update和Read操作。这个属性默认设置为None。在AOS通过执行表的以下方法检查操作:aosValidateDeleteaosValidateInsertaosValidateReadaosValidateUpdate可以 阅读全文
posted @ 2012-08-29 13:27 断水流 阅读(753) 评论(0) 推荐(0) 编辑
摘要: 相比Axapta 3.0使用configuration key、security key和User group来控制权限,AX2012的权限控制要复杂和灵活得多。AX2012是基于角色来控制用户权限的,类似于Axapta 3.0的用户组,每个用户必须被赋予一个或多个角色,下图是AX2012 security model的层次:这些控制权限的基本元素位于AOT/Security节点下,可直接在AOT中创建和修改:Roles 即用户角色,位于权限模型的最高层,由它控制每个用户的权限。Role可包含Duties和privileges,也可以直接添加Permission。Role还可以包含子Role, 阅读全文
posted @ 2012-08-28 15:01 断水流 阅读(1476) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页