摘要: 用过AX的都知道,在进行一个大的操作时,如果无法立刻执行完成,那运行这个操作的过程经常出现的就是系统的大白板,系统系统窗口没有响应,就算是加了进度条,也是一样没有响应,这样用户就无法查看当前操作的运行进度,通过下面的补丁就可以解决这个问题在WinApi类中增加方法 1 /// 2 /// Call user32.DisableProcessWindowsGhosting 3 /// 4 /// 5 /// Disables the window ghosting feature for the calling GUI process. Window 6 /// ghosting is a... 阅读全文
posted @ 2013-08-21 10:18 止在入门 阅读(793) 评论(0) 推荐(0) 编辑
摘要: 1 static void findFiles(Args _args) 2 { 3 void findFile(str path,str filesExt,boolean subFolder=false) 4 { 5 int hdl; 6 Filename filename; 7 ; 8 [hdl, filename] = WinAPI::findFirstFile(path+filesExt); 9 while (filename)10 {11 ... 阅读全文
posted @ 2013-07-10 09:50 止在入门 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 在上一篇中已经获取到了当前窗体的维度显示,那如何根据获取到的维度显示进行其他的查询呢?系统给出了两种方案方案1使用宏#InventDimJoin调用参数在行1到行5已经给出了,按照这几个参数调用就可以了 1 /* %1 InventDimId */ 2 /* %2 InventDim */ 3 /* %3 InventDimCriteria */ 4 /* %4 InventDimParm */ 5 /* %5 Index hint */ 6 7 join tableId from %2 8 #... 阅读全文
posted @ 2013-07-08 09:54 止在入门 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 在库存查询中会发现,不同的维度显示,查询结果也不一样,那如何获取当前窗体的维度显示呢?很简单,其实系统已经有一个现成的Class,直接调用就可以了在OnHand查询窗体的定义中,发现这个窗体在一开始就定义了InventDimCtrl_Frm_OnHandItem inventDimFormSetup;这是就是主角了自己定义一张表,从inventDimFormSetup的方法parmDimParmVisibleGrid()就可以得到当前维度显示的记录了InventDimParm InventDimParm;InventDimParm=inventDimFormSetup.parmDimPar.. 阅读全文
posted @ 2013-07-08 09:33 止在入门 阅读(520) 评论(0) 推荐(0) 编辑
摘要: Excel2003-97 1 static void NPOI_ImportExcel2003(Args _args) 2 { 3 System.IO.FileStream file=new System.IO.FileStream("D:\\test.xls", System.IO.FileMode::Open,System.IO.FileAccess::Read); 4 NPOI.HSSF.UserModel.HSSFWorkbook workBook= new NPOI.HSSF.UserModel.HSSFWorkbook(file)... 阅读全文
posted @ 2013-06-28 14:39 止在入门 阅读(511) 评论(0) 推荐(0) 编辑
摘要: Excel2003-97 1 static void NPOI_ImportExcel2003(Args _args) 2 { 3 System.IO.FileStream file=new System.IO.FileStream("D:\\test.xls", System.IO.FileMode::Open,System.IO.FileAccess::Read); 4 NPOI.HSSF.UserModel.HSSFWorkbook workBook= new NPOI.HSSF.UserModel.HSSFWorkbook(file)... 阅读全文
posted @ 2013-06-28 14:01 止在入门 阅读(1104) 评论(0) 推荐(0) 编辑
摘要: NPOI里使用的颜色是INT16,也就是下面的这种方法style1.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.BLUE.index2;但在X++里死活就是无法获得NPOI.HSSF.Util.HSSFColor中的颜色值既然知道FillForegroundColor赋值类型是int16,那就只能通过System.Convert::ToInt16强制赋值了但什么值对应什么颜色总该知道吧?总不能一个个去试吧,所以写了个job,做一次循环,把所有的颜色对应值给显示出来以下没有找到值的颜色对应是无色,即空白,比如从82-199这段值是空白 阅读全文
posted @ 2013-06-25 10:28 止在入门 阅读(1408) 评论(0) 推荐(0) 编辑
摘要: 1 static void NPOI_ExportExcel2007(Args _args) 2 { 3 System.IO.FileStream file; 4 NPOI.XSSF.UserModel.XSSFWorkbook workBook= new NPOI.XSSF.UserModel.XSSFWorkbook(); 5 NPOI.SS.UserModel.ISheet sheet=workBook.CreateSheet("NPOISheet"); 6 NPOI.SS.UserModel.I... 阅读全文
posted @ 2013-06-24 17:10 止在入门 阅读(1545) 评论(0) 推荐(1) 编辑
摘要: 既然说到NPOI可以导出2007版本的EXCEL,那就随便也介绍一下如何导出其实2007版本的EXCEL也并不神秘,将xlsx扩展名修改成zip,然后再打开就很清楚了,简单来说就是一堆的xml文件通过zip压缩,修改扩展名为xlsx就是2007版本的excel了所以要生成2007版本的excel,就需要添加操作xml和zip的类将下载得到的DLL文件共5个,还有1个XML文件复制到AX的客户端安装目录BIN下,DLL文件全部添加引用添加完成就可以开始使用了整个调用方法跟2003版本几乎一致,就是初始化workbook时使用的2007版本的class(红色部分) 1 static void NP 阅读全文
posted @ 2013-06-24 11:13 止在入门 阅读(1308) 评论(0) 推荐(0) 编辑
摘要: 相信使用过MS office的API导出EXCEL的同学都有个非常不爽的体验,一个字,慢~~对,就是导出时那种龟慢的速度,再加上还的购买office的授权许可,很够蛋疼的,现在就介绍一种快速导出EXCEL的方法~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~NPOI是POI项目的.NET版本,是由Tony Qu(http://tonyqus.cnblogs.com/)等大侠基于POI开发的,可以从http://npoi.codeplex.com/下载到它的最新版本。它不使用Office COM组件(Microsoft.Office.Inter 阅读全文
posted @ 2013-06-24 10:56 止在入门 阅读(896) 评论(0) 推荐(0) 编辑
摘要: 在AX3.0中管理员可以通过在线用户管理对在线用户进行发送信息,是通过ClientSessions::sendMessage(int _sessionId, str _title, str _message)来发送,但在AX4.0之后的版本中就没有这个方法了。现在可以使用的也就只有下面两种方法了1、修改预警的功能,将消息通过预警功能传递2、如果是远程终端的话,直接在远程服务器的任务管理器发送但也一些问题:1、通过预警功能,用户端只是显示有预警消息,并没有直接一个BOX弹出,经常被用户忽略2、远程服务器任务管理器发送,如果不是使用远程桌面终端登录的就无法接收消息那还没有没有其他方法呢?今天翻一下 阅读全文
posted @ 2013-05-16 19:12 止在入门 阅读(770) 评论(0) 推荐(0) 编辑
摘要: 在Changecompany中使用Box,Info等客户端方法后系统自动触发setDefaultCompany,导致当前代码运行的dataArea发生变化,运行后续代码出错google了一下,发现Farseer也发现了这个问题,他的帖子写的分析很清晰,我就不再多写了关于更改当前公司(三)--一个奇怪的问题http://www.cnblogs.com/Farseer1215/archive/2009/11/16/1603770.html现在我的问题是我需要在Changecompany中弹出一个Box,让用户选择是否跳过部分设置,运行完Box之后,系统就自动修改了当前代码运行的dataArea经过 阅读全文
posted @ 2013-03-21 14:06 止在入门 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 今天遇到一个问题,就是一行记录中的开始时间大于结束时间,查看代码开始时间是在Table上的InitValue中获取timenow(),结束时间是在记录过账后也是获取timenow(),从代码执行顺序来看,这不应该导致开始时间大于结束时间,经过代码跟踪发现两次的timenow()获取的时间都是后面的time大于前面,这就纠结了。。。 经过多次的跟踪,发现只要不是在过账方法中的timenow()就是正常的,最后抬头一看过账的Class,run in server,明白了,原来在过账方法中的timenow()获取的是AOS端的时间,问题就出在AOS的时间慢了,最后调整AOS服务器时间,重启AO... 阅读全文
posted @ 2013-01-08 12:05 止在入门 阅读(1106) 评论(0) 推荐(0) 编辑
摘要: 在AX中实现二维码需要使用外部动态链接库文件ThoughtWorks.QRCode.dll,也就是添加引用,AX4.0添加引用比较悲剧,需要添加后导出再导入,删除引用得自己写JOB ⊙﹏⊙b汗添加完成后就可以开始调用了ThoughtWorks.QRCode.Codec.QRCodeEncoder qrCode;//声明一下System.Drawing.Image clrImage;//没有找到可以直接将.net上的Bitmap直接插入图片控件的方法,就先用System.Drawing.Image接收,转为文件再读取qrCode.set_QRCodeVersion(7);//版本,版本越高生成的 阅读全文
posted @ 2012-12-27 09:15 止在入门 阅读(853) 评论(0) 推荐(0) 编辑
摘要: static void deleteReference(Args _args){ #AOT TreeNode referencesNode; TreeNode referenceNode; name referenceName; void deleteNode(name _referenceName) { referenceName = _referenceName; if( referencesNode ) { referenceNode=... 阅读全文
posted @ 2012-12-27 09:13 止在入门 阅读(320) 评论(0) 推荐(0) 编辑