https://msdn.microsoft.com/EN-US/library/dd252604.aspx     Cube是一个多维度的结构,它是BI应用开发的基础.本文描述了cube的组成部分,让你能更好地理解如何使用cube来分析数据. 1.Cube的结构     一个cube由一组测量和维度属性构成.对于AX分析cube,测量和维度在AOT中定义.Perspective用于标识那些包含着测量和维度的表和视图. 1.1.测量     一个测量,是表或视图中一个包含着可计量的数据的列,通常…
https://msdn.microsoft.com/en-us/library/gg731898.aspx       在开始实施AX的分析特性前,有很多事情要考虑.本文描述了你必须考虑的事情,和在规划过程中每一步你必须做的决定. 1.验证必备项 2.明确拓扑结构     要帮助你的AX实施规划,明确一个支持你组织需求的拓扑结构.明确拓扑结构时,考虑下面的信息. 2.1.性能注意事项     要确保AX的OLTP(Online Transaction Processing)数据库能够很好得运行…
https://msdn.microsoft.com/EN-US/library/dd309691.aspx     下图显示了包含在AX中的SSAS Cube,和用于访问他们的组件.     下面的组件,用于访问Cube或显示Cube数据.列表中的编号,和图中的编号对应. Visual Studio-开发人员可以使用VS工具,来构建使用Cube作为数据源的SSRS报表.为了显示报表,首先分析服务数据扩展从Cube中获取数据,接着,AX报表客制化扩展定义报表的格式.报表在AX客户端或EP中显示.…
在博文Dynamics AX R2 业务系列中,Reinhard对这个系列做了一个规划,下面我们就按照规划开始说业务吧. 1.销售的主要职责 其实这里说的职责主要是针对销售文员,并非整天外面满世界跑业务的销售业务员. 简单点说,销售的主要职责,是为客户提供产品. 全面点说,销售负责报价.接单,把客户订单传达给生产计划部门,跟踪订单的生产进度,组织发货,跟客户对账结算,跟催收款,维护好客户关系. 2.销售的主要工作内容 报价 合同评审 签订合同 跟踪采购.生产进度 组织发货 月底对账 跟催收款 3…
在博文Dynamics AX R2 业务系列中,Reinhard对这个系列做了一个规划,下面我们就按照规划开始说业务吧. 国际惯例,从采购开始. 1.采购的主要职责 简单点说,采购的主要职责,是从供应商那里获取原料,以保证企业生产.运营. 全面点说,采购的主要职责,是保质保量.适时适价地为企业生产和运营提供原料.保质,主要是指采购要做好供应商资历评估,并配合质检做好原料品质控制工作.保量,主要是指在保证企业生产.运营的同时,不多买也不少买.适时,主要是指采购要跟踪采购进度,保证企业生产.运营的同…
在之前的一系列博文里,Reinhard介绍了Dynamics AX Demo的安装与配置.相信同学们看完后,都已经成功拥有了一个测试环境. 众所周知的是,ERP作为一个特殊的软件系统,他有着背后的业务逻辑作为指导.如果只单纯地去学习软件本身的使用,而忽略了软件背后的业务逻辑,那一切的努力注定是在修筑空中花园,浪费时间. 而我们看到,社区中分享的博文,又以开发方面的博文为主,鲜有业务方面的分享.(这能不能说明做开发的同学乐于分享,做业务的同学在闷声赚钱呢?) 在接下来的一系列博文里,Reinhar…
    在这个系列里,Reinhard将和大家一起探索在AX的窗体上执行操作时,都会触发窗体.窗体数据源和表上的哪些方法,并且是以怎样的顺序触发的.     这次,我们来看看在窗体上修改或录入数据的情况.图中所示的流程,是在理想情况下的完整触发过程.如果窗体控件.窗体数据源字段或表的验证方法返回False,也可能会提前结束流程. 用户在窗体上修改或录入数据后,首先触发了该字段的Form.Control.Validate()方法,如果该方法返回的是False,流程到此结束,用户修改或录入数据失败…
AX系统已有的BI分析架构 对于AX 的BI分析架构,相信大家都了解,可以看Reinhard之前的译文[译]Dynamics AX 2012 R2 BI系列-分析的架构 . AX 的BI分析架构的优势 从图上我们可以看出,AX是弱化了数据仓库的概念,直接用多维数据集作为分析报表的数据源.得益于AX与SSAS的深度集成,并且提供了许多预先定义好的多维数据集,可以很快地制作一个简单的分析报表. Dynamics 365技术架构的优势 在新出的Dynamics 365里,提出了Common Data…
今天Reinhard在VS中部署SSRS报表时,接到以下错误: 部署因错误而被取消.在报表服务器上,验证:-SQL Server Reporting Services 服务是否正在运行. 接着,Reinhard进入到AX中,检查系统的报表服务器配置是否正确.不知道怎么配置的同学可以查看Reinhard之前的博文 Dynamics AX 2012 R2 配置报表服务器  .检查发现,报表服务器中的配置也正确.Reinhard点击了一下 验证设置 按钮,收到以下错误: 无法连接到位于MSDynAX的…
当处理的数据量较多,逻辑比较复杂时,报表可能会超时.为了解决这个问题,Reinhard一直使用SrsReportDataProviderPreProcess来做预处理报表.它会在调用SSRS前,在AX会话中处理数据.预处理过的数据存储在常规表中,该表是所有用户会话共享的,通过会话id标识.这样的方法在多用户并发时,会有瓶颈. 在Dynamics AX 2012 R2中,其实还有一个类,SrsReportDataProviderPreProcessTempDB,他可以使用临时表,来持有跨会话(从数…
Dynamics AX 2012 R2 电子邮件广播错误 0x80040213 今天Reinhard在新环境做邮件广播测试时,发现无法发送邮件,并报以下错误: 类"CDO.Message"的 COM 对象中的方法"send"返回了错误代码 0x80040213 (),此错误代码表示: 与服务器的传输连接失败.. Reinhard检查了电子邮件参数里的配置,与老环境中的配置一致,并没有问题.电子邮件参数和邮件模板配置方法可以参考Reinhard之前的博文 Dynami…
众所周知,AX系统分为三层:Client,Application Server,Database Server. 我们添加额外的Application Server主要是出于以下两个原因: 使用多台服务器,分担不同的角色(如批处理任务,报表,服务). 增加基础架构的弹性. AX中的集群服务器,并不依托于Windows服务器,而是通过自己的技术实现的.它可以提高性能,但没有提高可用性.当一台服务器挂了,客户端会失去连接,任何正在处理的任务都会被回滚.重启客户端后,会连接到集群中的另一台服务器. 下…
1.为什么使用IIS上的WEB服务 组件? 如果你要在Dynamics AX Service中使用HTTP Adapter,那么你就要安装IIS上的WEB服务 组件.HTTP Adapter会在IIS中生成一个Web Service. 2.安装IIS上的WEB服务 组件 下面讲讲怎么安装IIS上的WEB服务 组件.在服务器上,启动AX安装程序,选择添加或修改组件,选中IIS上的Web服务,下一步安装. 安装完毕后,会在在AX的系统管理>服务和应用集成框架>网站 中,添加了一个站点, 并在服务器…
    今天,Reinhard发现某个入站端口,突然一直报错: The server was unable to process the request due to an internal error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebu…
    Reinhard在做一个Excel导入项目时,发现X++代码一旦执行到Excel组件部分,就会报如下错误: 无法创建类"Excel.Application"的COM对象.请确保在计算机""上已正确注册该对象.     根据错误提示,我们先去组件服务中,查找名为Microsoft Excel Application的COM组件.     Reinhard并没有在COM组件列表中,找到该COM组件.我们知道,Microsoft Excel Application…
今天,Reinhard 在VS中制作SSRS报表,预览的时候发现显示不出数据. 仔细检查了数据处理环节和临时表里的数据,都发现没有问题. 用同事的账号登陆同样的开发环境,发现他的账号可以在VS中预览到数据. 很诡异欸,Reinhard 就觉得是权限问题,难道他是付费玩家,权限比我高么? Reinhard 试着将报表部署到AX中,报表在AX中可以显示数据. Reinhard 突然想到,会不会是Reinhard 在AX中设置的默认账套的问题呢?因为这个报表其实是分账套的,在Reinhard 的默认账…
今天Reinhard在使用报表的过程中,发现以下错误: The default Report Server Configuration ID could not be found in the SRSServers table.     根据错误提示信息,Reinhard推断这是由于AX的报表服务器配置不正确,所导致的.当发生下面几种情况之一时,我们需要调整或添加报表服务器配置: 安装了一个新的AOS:当你安装新AOS后,需要告诉该AOS,它应该使用哪个报表服务器. 将报表服务器移动到了另一个物…
当我们在使用RDP报表时,AX会根据Data Contract,自动生成报表参数对话框上的字段控件.一般情况下,该对话框能够满足我们的需求,但是如果有较为复杂或特殊的需求,就要我们对该对话框进行客制化.     Reinhard这里就有一张报表,需要使用员工编号作为参数.但是AX系统中默认的员工编号EDT,没有提供lookup方法.Reinhard将该员工编号EDT放在报表参数窗体上后,只能手工录入员工编号,不能通过下拉框进行选择. 默认效果是这样: 但是 Reinhard想要的效果是这样: R…
在AX中使用邮件模板可以,可以让邮件的内容更专业化.下面,跟随Reinhard一起,配置E-Mail模板吧. 进入Organization Administration>Setup>E-mail Templates 选中Show System E-Mails.选中后,可以为整个系统(DAT Company)设置邮件模板.如果不选中,是为当前公司设置邮件模板. 录入必要的信息. 点击E-Mail Message,打开HTML编辑器,编辑邮件模板. 关闭并保存模板. 要测试该邮件模板,进入Syst…
    恰当地使用E-Mail,可以使系统看起来更专业,对用户更友好.AX中主要有两种发送E-Mail的方法:SMTP和MAPI.     MAPI(Messaging Application Programming Interface),是一个Client-Side方法,它在你的本机E-Mail客户端(例如Outlook)上,打开一个新的消息,用AX里的数据设置好了接收者和主题.MAPI也可以发送报表之类的附件.     如果以远程应用的方式运行AX客户端时,使用MAPI会出现问题.    …
要使用AX中的一些特性,需要将User Account和他们的Employee Record连接在一起.最好将所有Employee的User Account,都和他们的Employee Record连接在一起.没有这个连接,一些功能就没办法用,尤其是Sales and Marketing模块的. 同样的,一个采购人员要想做Purchase Requisition,那么该人员的User Account必须被连接到一个Employee Record. 跟随Reinhard进入System admin…
今天,Reinhard部署好Aif Customer Service ,打开http://host:port/MicrosoftDynamicsAXAif60/,发现提示以下错误: 401 - Unauthorized: Access is denied due to invalid credentials 401 - 未授权: 由于凭据无效,访问被拒绝. 您无权使用所提供的凭据查看此目录或页面. 我们都知道,AX使用的Windows Authentication方式.出现上面的错误的原因,是因…
今天,Reinhard在 Deploy AX Reporting时,发生权限错误. 配置 ID: HOSTMSSQLSERVER 描述: HOST@MSSQLSERVER 默认值: True 报表服务器名称: HOST 报表服务器实例名称: MSSQLSERVER 报表服务器文件夹名称: DynamicsAX 报表服务器管理器 URL: http://HOST/Reports 报表服务器 Web 服务 URL: http://HOST/ReportServer 应用程序对象服务器名称: Shar…
Reinhard在AIF中使用DateTime作为服务契约的参数,与DotNet程序进行交互时,总是因为时区的问题,导致DotNet提交的System.DateTime与AIF中接收的DateTime 不一致. 这个问题着实困扰了Reinhard 许久.为了解决这个问题,Reinhard这次专门写一篇博文,通过一系列的实验,找到通过AIF服务契约,对DateTime进行存储.获取.比较的最佳方式. 1.DateTime存储实验 在AX中,Reinhard写了三个存储DateTime方法,分别测试…
    今天,Reinhard使用RemoteApp的方式登陆AX开发环境,对项目文件进行修改后,习惯性地将项目导出到Reinhard的电脑上,做个备份.但是导出时弹出错误提示框,报以下错误:     在记录中的写入=9C9360时文件C:\Windows\TEMP\$tmp00030007.$$$中出错 Windows错误:=错误代码:112=Unknown error 是否重试?     一开始,Reinhard以为文件的写入权限出错了,所以将之前的备份文件删除,重新导出,依然报错.    …
    AX中有对条码操作的封装,用其生成BarCodeString类型的值,再配合barcode128字体,即可在显示出条码.     废话不说,上代码. BarcodeCode128 barCode; BarCodeString barCodeString; barCode= BarcodeCode128::construct(); barCode.string(true,'balabalabala'); barCode.encode(); barCodeString=barCode.bar…
参考了蒋金楠老师08年的文章.好吧,那时候我才大二.大三,大神果然是大神. http://www.cnblogs.com/artech/archive/2008/09/01/1280939.html 在使用AX2012 AIF服务的时候,有一个问题一直困扰着我,那就是访问权限的认证. 众所周知AX2012的权限认证是基于AD的,但有些客户端机器的AD账户,并没有AX2012的访问权限,甚至没有加入AD中(如PDA客户端). 按照微软的最佳实践,应该使用声明账户和可信中介这样两样技术,来实现客户端…
6.0: AxCryptoClient - New encryption key created 6.0: Unable to InitializeSession. 6.0: No built-in message corresponding to message id 0. 解决方法: 1.将登录用户设为AX中的Business Connector用户. 2.将AX中的Business Connector用户添加到本地管理员组.…
    Reinhard对这个问题研究了很久,也查了一些资料,整理了三种解决方案. 1.准备一台虚拟机A,A加入到了AD活动域,可以操作AX. PDA以远程桌面的方式,连接到虚拟机A. 在虚拟机上运行定制的客户端(窗体大小.按钮.图标.控件等),操作AX. 这样做的好处是,不用开发PDA上的客户端. 而是开发一个桌面应用,该桌面应用根据PDA的屏幕大小和操作方式做了定制. 2.使用可信中介和声明用户. 客户端机器C,可信中介机器B ,AX服务端 A. 在AX上发布增强入站端口A.1,可信用户选项…
今天调用AIF出现异常,异常信息如下 This chanel can no longer be used to send message as the output session was auto-closes due to a service-initiated shutdow.Either disable auto-close by setting the DispatchRuntime.AutomaticinputSessionShutdown to false or consider…