
X++
fandyxie2014
专注微软Dynamics AX、D365 FO,越努力越幸运!微信:fandyxie2014
展开
-
x++ Run Object in AOT
The following X++ Code is used to running Object in AOT.remak by Jimmy on 2010-04-08 static void Jimmy_runAOTObeject(Args _args){ TreeNode treeNode; #AOT xInfo xInfo =原创 2010-04-08 17:34:00 · 690 阅读 · 0 评论 -
自定义Dialog中对数组的取值
/*自定义Dialog中对数组的取值以下为Job*/static void xyf_DialogDimension(Args _args){ Dialog _Dialog = new Dialog("Test Array->Dimension"); DialogField dlgDimension; Dimension原创 2009-11-11 08:47:00 · 472 阅读 · 0 评论 -
用class调用report报表时,初始化显示当前Form传达的值作为报表数据源下的过滤条件
用class调用report报表时,初始化显示当前Form传达的值作为报表数据源下的过滤条件,只要改写class中的queryRun就可以了!(*^__^*) 嘻嘻…… Form中的menuItem下的单击事件 void clicked(){ args _a = new args(); YAM_Unqualifi原创 2009-11-05 15:54:00 · 608 阅读 · 0 评论 -
Form中单独使用query过滤数据源表连接
该初始方法写在Form的数据源中,这里只要用此方法就可以达到初始过滤的效果,而不用executeQuery方法结合 public void init(){ Query q; QueryBuildDataSource qB; QueryBuildDataSource qB2; ; super(); q原创 2009-10-20 09:16:00 · 521 阅读 · 0 评论 -
Infolog 报错提示机制
在开发过程中,为了让功能,数据更加完善!我们就要给与用户一个友好的界面提示!以下是我今天在工作中常写的一个检查数据报错机制!/** Add by xyf 20090923 Remark: Check TY SaleOrder(CustPurchId) of CSM_PackingListLine TableLine if CustPurchId i原创 2009-09-23 11:02:00 · 851 阅读 · 0 评论 -
获取当前数据源,初始化query对话框的过滤查询值(Report and Button)
(一)Report--1)Form控件“Button”中的重载 clicked() 事件,传递Form中当前的值给Report void clicked(){ args _a = new args(); YAM_UnqualifiedManageIQCLine _iqcLine; YAM_U原创 2009-09-22 15:02:00 · 1094 阅读 · 0 评论 -
用X++代码实现自动发送mail
用X++代码实现自动发送mail/*本源代码只适合Axapta 3.0版本,AX 2009有所不同*/static void xyf_SendMail_AX3Version(Args _args){ SysEmailParameters parameters = SysEmailParameters::find(); sysMailer原创 2009-09-18 10:39:00 · 1539 阅读 · 0 评论 -
Info实现提示信息呈层级阶梯关系(num2char(9))
Info(strFmt("%1%2%3%4%5","This is Test infolog or Info level relation", num2char(9) + "Hello", num2char(9) + "Jimmy", num2char(9) + "谢宇帆", num2ch原创 2009-09-18 09:16:00 · 538 阅读 · 0 评论 -
获取层对象
//怎样使用代码得到某一层的对象(table,class...)static void xyf_lookupObjects(Args _args){ UtilElements MyObject; ; while select MyObject where MyObject.utilLevel == UtilEntryLevel::usr原创 2009-09-02 16:36:00 · 375 阅读 · 0 评论 -
Args传值总结 (Report Class Form)
在开发过程中,我们往往会遇到传值问题!以下是关于我在这方面的工作总结,以后会更新!希望大家关注!//可以从Form的MenuItem中的单击事件中传批量参数至Report或者ClassA ) Form void clicked(){ Container cData; ContainerClass cClass; Formrun fo原创 2009-09-02 14:27:00 · 683 阅读 · 0 评论 -
动态的得到某个表里的字段的类型和长度
//动态的得到某个表里的字段的类型和长度static void GetFieldType(Args _args){ SysDictField df; dictTable dt; TableId tableId = tablenum(InventTable); int i; ;原创 2009-09-02 14:12:00 · 351 阅读 · 0 评论 -
Axapta 系统类Args()常用方法详解
Axapta 系统类Args()常用方法详解Args()是Axapta用来传递参数最好用的系统类,其参数传递最常见的包括从窗体到类的互传,从窗体到报表的传递,从类到报表的传递。1)args().caller() 可以用来获取调用方的信息。比如某人报表是通过类CallAAA调用的,那么在报表里用CallAAA = element.args.caller();即可获得呼叫类的引用,从而可以用引用类原创 2009-06-30 22:00:00 · 752 阅读 · 0 评论 -
AX4.0无域环境安装教程
1. 修改注册表 HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Control/ComputerName/ActiveComputerName ,一般,它是你的计算机名,修改为任意名字同你原来计算机名不同即可.2. 设置环境变量:点击[开始]->右键我的电脑->属性->高级->环境变量->在系统变量那里新建,变量名: UserDnsDomain ,变量值:原创 2009-06-30 22:06:00 · 1633 阅读 · 0 评论 -
query 用法
/**用户自定义 query 查询器*/static void xyf_query01(Args _args){ Query query; QueryRun queryRun; QueryBuildDataSource queryBuildDataSource; Quer原创 2009-09-01 14:37:00 · 1096 阅读 · 0 评论 -
query 构架图
原创 2009-08-31 14:01:00 · 417 阅读 · 0 评论 -
x++实现物料数量的单位换算
qty getUnitConvert(Qty qty, ItemId ItemId, UnitId _InventUnit, UnitId _CsmUnitId){ Real factor_ok; Qty原创 2009-11-11 09:33:00 · 625 阅读 · 0 评论 -
微软ERP Axapta 开发环境编辑器的快捷键大全
微软ERP Axapta 开发环境编辑器的快捷键大全新增 ctrl+n 新建一个新的方法 保存 ctrl+s 保存所有左边窗口打开的方法 设置断点 F9 设置或取消断点,没有断点则设置断点,有断点则取消断点。 激活或原创 2009-11-12 10:38:00 · 752 阅读 · 0 评论 -
【经验总结】 怎样从Axapta中导出数据到Excel。
//[原创][经验总结] 怎样从Axapta中导出数据到Excel。static void xyf_ExcelOf_FormAxapta(Args _args){ SysExcelApplication excel; SysExcelWorkbooks books; SysExcelWorkbook book; SysExce原创 2009-11-13 09:40:00 · 557 阅读 · 0 评论 -
x++ Find Folder and File Type
static void Jimmy_FindFileType(Args _args){ #File #WinAPI Dialog dlg = new Dialog("Please selected Path and file Extension"); DialogField dlgFile = dlg.addField(typeid(f原创 2010-04-07 17:31:00 · 688 阅读 · 0 评论 -
X++ Run report To PDF
Sometimes, we need Morthx X++ code to run batch reports to PDF Printer, so I wrote the following code as a backup for future workstatic void Jimmy_ReportPrintToPDF(Args _args){ Args原创 2010-04-07 10:30:00 · 757 阅读 · 0 评论 -
Bypass warning message when sending email from AX
Bypass warning message when sending email from AXOriginal text From : http://ax2009.spaces.live.com/blog/cns!27F885F1361EDC5!139.entry Question:How can I bypass the warning message below whe转载 2010-04-13 15:15:00 · 1981 阅读 · 0 评论 -
Conver to date time between Chinese and Calendar
following Code is Chinese date time conver to Common calendar and Common Calendar conver to Chinese Calendar method. FYI. Author : Jimmy xieWrite date : 2010-April - 14static void Jimmy_原创 2010-04-14 10:36:00 · 839 阅读 · 0 评论 -
AX Word操作
AX Word操作发表于2007-11-8 0:30:03void job(){ #define.wdLine(5) #define.wdCharacter(1) COM word = new COM("Word.Application"); COM documents; COM document; COM selection;原创 2010-02-28 17:57:00 · 570 阅读 · 0 评论 -
Excel导入Axapta 3.0
void clicked(){ SysExcelApplication Excel; SysExcelWorkbooks Books; SysExcelWorkbook Book; SysExcelWorksheets Sheets; S原创 2009-12-14 07:32:00 · 637 阅读 · 0 评论 -
微软ERP dynamics Axapta中的保留字
微软ERP dynamics Axapta中的保留字 Axapta中的保留字作者:Farseer看到一份微软的文档,介绍了Axapta中的保留字,把Axapta中特有的一些保留字和摘录如下:anytype: 说明:该类型的方法可以返回任意类型的数据. 举例: anytype Method1(Args a) { // Command原创 2009-11-20 18:14:00 · 626 阅读 · 0 评论 -
使用from 的setTimeOut方法实现定时关闭Form
/****功能描述:1)首先在Form中增加一个CommandButton选择“确定”或者“取消”命令按钮2)然后在Form中的Method中增加一个getData()方法来关闭Form窗体3)最后重载Form中的Method下的Run()方法,设定定时器!来调用getData()达到定时关闭Form的效果!在From 下的method下编辑以下代码: getdata方原创 2009-11-18 08:59:00 · 770 阅读 · 0 评论 -
Axapta: Multi tables lookup
/Files/JackyXu1981/SysMultiTableLookup.rar SysMultiTableLookup Class DownLoad The SysMultiTableLookup.rar is a class to show multi table information.When you want to create a sales line in转载 2010-01-13 22:35:00 · 676 阅读 · 0 评论 -
关于我对.setTmp()的理解及应用
来个最简单的Job作为本主题的引子 static void DataDic_SetTmp(Args _args){ CustGroup custGroup;; custGroup.setTmp(); custGroup.custGroup = "10"; custGroup.name = "Test customer 1原创 2009-11-16 15:32:00 · 767 阅读 · 0 评论 -
用X++得到当前用户是否有某Security Key的权限级别,完整Job演示
//用X++得到当前用户是否有某Security Key的权限级别,完整Job演示static void xyf_checkSecurity(Args _args){ DictSecurityKey _dictSkey = new DictSecurityKey(securitykeynum(CustTables)); DictEnum _dictEnum原创 2009-11-13 09:37:00 · 599 阅读 · 0 评论 -
获取table中的系统字段信息
/**获取table中的系统字段信息*/static void xyf_TableOfSysFieldList(Args _args){ Common _com; InventTable it; DictTable dict; dictField dictField; int原创 2009-11-12 16:44:00 · 491 阅读 · 0 评论 -
Common实现任何Form定位查询转到当前Form种过滤符合条件的数据区域
1、 任何Form须在属性中选定当前Form的MenuItem(display)和数据源(DataSource)2、 当前Form中的init()方法中重写该事件,就可以从Form的数据源中定位的字段值对当前数据源过滤符合数据区域!public void init(){ YAM_VirtualWareHouseTrans trans; Commo原创 2009-11-11 15:06:00 · 498 阅读 · 0 评论 -
用X++实现有规律分割的长字符串,分别提取(如逗号隔开)
/***用X++实现有规律分割的长字符串,分别提取(如逗号隔开)*/Job Teststatic void xyf_ProcessLongStr_set(Args _args){ YAM_ProcessLongStr st = new YAM_ProcessLongStr(); setIterator setIt; //set会自动排原创 2009-11-11 09:28:00 · 578 阅读 · 0 评论 -
找出包含有类型是某个特定的扩展类型的字段的表
比如,已知一个扩展类型是ProjCategoryId,下面的代码将为你找出所有使用过这个扩展类型的表。 static void findTableWithProjCategoryId(Args _args){ xInfo xInfo = new xInfo(); treeNode t = xInfo.rootNode().AOTfindChild("Dat原创 2009-04-26 12:22:00 · 375 阅读 · 0 评论 -
用程序动态增加扩展类型(ExtendedDataType)
static void AddExtendedDataTtyp(Args _args){ UtilIdElements uie; XInfo XInfo = new XInfo(); TreeNode TNode; TreeNode DNode; str Extname=MyExt; str Props =原创 2009-04-26 12:18:00 · 434 阅读 · 0 评论 -
使用WinAPI类来查找文件
怎样用winapi查找文件本文传自:http://spaces.msn.com/AxGeek/ 本例中使用到很多Axapta高级技巧,比如函数的嵌套等,值得大家揣摩。例子中使用到的三个函数解释:fileExists(_name) 若存在文件,则返回 true folderExists(_name) 若存在文件夹或文件,则返回true。 pathExists(_name)转载 2009-04-26 12:14:00 · 522 阅读 · 0 评论 -
查找某个表的特定RECID行的主索引字段值
static void FindPrimaryIdx(Args _args){ DictTable dt; DictIndex di; Common cm; IndexID idx; int i, iCnt; FieldID原创 2009-04-26 12:08:00 · 462 阅读 · 0 评论 -
把数字小写转换成大写,把数字转化成英文
把数字小写转换成大写 方法一,使用系统提供的函数,但是不满足大陆财务的要求。 方法二:使用下面的函数。英文:static str Num2EngStr(real realNum,boolean showNegative=false){ str aa,bb,T1,T2,T3,B,W,CC,a1; int a2,a=0,c=0; int V,M; re原创 2009-04-26 12:04:00 · 1381 阅读 · 0 评论 -
理解Agrs Class
这个类在很多代码中出现,在启动报表的时候也需要用到它. 简单来说这个类用于共享构造参数.在Axapta中之所以可以用Args的方式,是因为: 1.通常参数的数目比较少. 2.用的参数类型很类似. 3.有时候构造一个主要的对象,需要构造与之相关的对象,在构造这些对象时需要用到相 同的构造参数. 在传统的OO世界里,一个对象往往有多个重载的构造函数,通常情况下这没什么问题,但 当一个主要的对象需要通原创 2009-04-24 23:32:00 · 486 阅读 · 0 评论 -
初学Dynamics AX -> X++
X++语言特性 X++是Axapta MorphX的开发语言,它也是一种面向对象的开发语言。由于Axapta是一套ERP平台,使得用X++进行ERP业务的二次开发变得非常简单。与其它面向对象的语言不同,X++具有一些自己的特性。1、 Class VariablesX++ 的类级别变量都是protected型的,也就是说,无法从类的外部访问这些变量。在子类中可以访问父类的类级别变量。如果非要原创 2009-04-24 23:09:00 · 1747 阅读 · 1 评论 -
运行时创建form方法
static void CreateFieldMethod(Args _args) { TreeNode tn1,tnAddr, methodsNode; MemberFunction memberFunction; str source; ; tn1 = infolog.findNode原创 2009-04-26 12:20:00 · 347 阅读 · 0 评论