02 2010 档案
摘要:很多情况下,需要用到文件的Base64编码字符串。比如,通常情况下,第三方应用系统都会使用Base64编码来实现图片文件的存储,在做系统集成的时候,就难免会要在代码中对文件进行Base64编码。其实,在X++中获取文件的Base64非常简单,就是使用BinData类。代码如下:
阅读全文
摘要:在标准的Dynamics AX系统中,Grid的每个列头(Column Header)是可以点击的,用户可以通过点击Column Header以实现针对该字段的排序。但并非所有的情形下,我们都希望Grid提供这样的功能。比如,用于记录事件触发历史的数据表上,我们就希望默认以事件发生的时间作为排序字段,而不允许用户通过单击Column Header重新排序。为了去掉这个标准的功能,我们需要在Grid...
阅读全文
摘要:Microsoft向公众发布了Visual Studio 2010 with .NET 4.0, Release Candidate版本。详细信息请参见:http://msdn.microsoft.com/en-gb/vstudio/dd582936.aspx。
阅读全文
摘要:所谓动态调用,最主要的是允许用户能够在系统中设置Web Service的服务地址,比如用户可以在AX中动态设置销售网站的Web Service地址,以便与第三方系统通信。本文介绍的方法其本质是使用COM创建SOAP request,然后以HTTP POST的方式,往指定的服务地址发送请求,进而实现Web Service的动态调用。请参考下面的例子:以上例子展示了通过Web Service向AspD...
阅读全文
摘要:最近在研究Dynamics AX与AspDotNetStorefront的集成问题。AspDotNetStorefront提供一种领域事件模型,允许开发人员对事件进行定制或捕获,进而执行一些客户化操作。它所支持的EventHandler是一系列的ASP.NET页面,也就是CalloutURL中需要指定一个ASP.NET页面作为Event Handler。在第一次开发的时候,我一直得到“...
阅读全文
摘要:X++代码中有个分号特别有意思,看起来像是把变量的声明段和代码部分分开了,便于编译器解析。我们会发现,有时候不加这个分号,代码编译也不会有错,而有时候又不得不加。有人说,如果代码部分开始的第一个词语是一个关键字,则可以不加。这种说法没错,但没解释原因。总之,目的只有一个,就是为了编译器能够顺利解析哪些部分是声明,哪些部分是代码。请看下面的代码:上面的代码是没法编译通过的,原因就是声明和代码体部分少...
阅读全文