微软ERP dynamics Axapta中的保留字
微软ERP dynamics Axapta中的保留字 Axapta中的保留字 作者:Farseer 看到一份微软的文档,介绍了Axapta中的保留字,把Axapta中特有的一些保留字和摘录如下: anytype: 说明:该类型的方法可以返回任意类型的数据. 举例: anytype Method1(Args a) { // Commands Return xyz; } at 说明:跟保留字Window结合使用,可以指定输出窗体在Axapta主窗体的相对位置. 举例: static void Job4(Args _args) { CustTable ct; window 80,30 at 5,3; while select name from ct { print ct.name; } } Breakpoint: 说明:添加一个断点用于调试.这确实是个保留字,不过还真不知道怎么玩. 举例: 可以在代码编辑器里按Shift+F9显示所有的断点及其位置. ChangeCompany: 说明:用数据库中另一个公司的数据,数据库表中有个字段DataAreaId用于表示某条记录是哪个公司的. 举例: static void main() { Custtable Custtable; // Assume that we are running in company 'aaa' changecompany('bbb') { // default company is now 'bbb' Custtable = NULL; while select Custtable { // Custtable is now selected in company 'aaa' } } // default company is now set back to 'aaa' again changeCompany('ccc') { // default company is now 'ccc' Custtable = NULL; // clear Custtable to let the select work on new default company while select Custtable { // Custtable is now selected in company 'ccc' } } // default company is now 'aaa' again } Client: 说明:指定方法运行的位置.如果方法是static的,那么可以在声明的时候用Client指定其运行在Client端,如果是实例方法,那只能跟这Class的Runon属性混了. 举例: client Static xy(args a) Container: 说明:X++中的一般类型,可以认为无类型的动态数组,可以存放int等primitive类型的数据,也可以存放Array,Container.同一个Container变量可以存放不同的数据类型.Runbase的Pack和Unpack方法就是用了Container. 举例: container c = [1, 3.14, “abc”]; Date: 说明:日期类型,包含年月日. Delete_From: 说明:如果要删除多条记录可以用这个关键字节省语句,另外由于只需要访问一次数据库就可以删掉多条记录,大多数情况下要比Delete的效率高一些. 举例: MyTable myTable; DELETE_FROM myTable WHERE MyTable.AmountMST <='1000'; display: 说明:方法修饰符(类似于Static,Private,Publci等).用于标识该方法的返回值是用于在Form或者Report上显示.返回值通常是通过计算得到的,比如sum. 举例: // displays Subtotal_A and Subtotal_B, along with their total display int SubtotalSum() { return this.Subtotal_A + this.Subtotal_B; } div: 说明:返回两个数(可以是整数也可以是浮点数)相除所得的整数部分. 举例: // Returns integer division of 100 by 21. i=4(4*21 = 84, remainder 16) i = 100 div 21; edit: 说明:edit方法是display的扩展,除了可以显示数据外,还可以获取用户的输入.方法参数有一个boolean类型的值set,用于表示对应的控件值是否被改写过,另一个是对应控件的值. 举例: edit description getGrpName(Boolean set, Description value) { if (set) Box::Info(‘The contents of the field is: ‘+value); return (select CustGroup where CustGroup.CustGroup==this.CustGroup).Name; } firstFirst: 说明:意味着在取数据的时候第一条优先取出来,但这种情况下整体数据的速度有可能会慢一些.多用于对话框的更新. 举例: select firstfast custTable order by accountNum; firstOnly: 说明:只取第一条数据. select firstonly custTable order by accountNum; flush: 说明:清空整张表的缓存. forceLiterals: 说明:告诉Axapta Kernel在数据库引擎优化的时候向数据库引擎提供where字句中的真实值.在涉及多个表的join时,默然采用该方式. forceNestedLoop: 说明:该关键字告诉数据库在执行包含Join的SQL语句的时候,先取主表中的一条记录,然后再取对应的明细记录,如此往复,直到结束.通常与关键字ForceSelectOrder搭配使用. forcePlaceholders: 说明:告诉Axapta Kernel在数据库引擎优化的时候不要向数据库引擎提供where字句中的真实值,而是用占位符代替.在没有Join语句的时候默认采用这种方式.优点是对于相似的语句可以重复使用查询计划,缺点是不会针对具体的值优化查询. forceSelectOrder: 说明:告诉SQL Server引擎在获取数据的时候按照Join的顺序取数据,先取Join的第一个表中的数据,再取第二个......,与forceNestedLoop配合使用. forUpdate: 说明:取出数据更新,对于不同的数据库引擎,可能会锁定相应的记录. 举例: static void deleteTransFromVoucher(JournalNum _journalNum, Voucher _voucher) { LedgerJournalTrans ledgerJournalTrans; LedgerJournalTable ledgerJournalTable = LedgerJournalTable::find(_journalNum); Counter counter; ttsBegin; while select forUpdate ledgerJournalTrans index hint NumVoucherIdx where ledgerJournalTrans.journalNum == _journalNum && ledgerJournalTrans.voucher == _voucher { ledgerJournalTrans.doDelete(); counter++; } if (counter && ledgerJournalTable.journalType != LedgerJournalType::Periodic) NumberSeq::release(ledgerJournalTable.voucherSeries, _voucher); ttsCommit; } hint: 说明:给数据库查询引擎一个提示,提示让其按照特定的引擎去排序抓取的数据,当然既然是个提示,数据库查询引擎可以当它不存在. 举例: while select forUpdate ledgerJournalTrans index hint NumVoucherIdx where ledgerJournalTrans.journalNum == _journalNum insert_RecordSet: 说明:批量插入数据. 举例: INSERT_RECORDSET myTable (myNum,mySum) SELECT myNum, SUM(myValue) FROM anotherTable GROUP BY myNum WHERE myNUM <= 100; nofetch: 说明:表示语句当前不取任何数据,通常用在当前的select将会传递给其他应用程序对象的情况,比如query真正执行查询. 举例: select nofetch custTable order by accountNum print: 说明:打开Print窗体输出结果.print后面要跟pause,要不然一闪而过,啥玩意都看不到. 举例: do { ++ii; print (ii<=3?"Summen er =< 3":"Summen er over 3"); } while (ii < 10); pause; reverse: 说明:把结果以相反的顺序输出. 举例: select reverse custTable order by accountNum; server: 说明:跟Client,不过运行在服务器端而已. 举例: server static xy(Args a) Setting: 说明:跟Update_RecordSet配合使用,更新满足条件的一批数据,value可以是表达式. 举例: Example 1: assigns a single value to a field in all records in a table: UPDATE_RECORDSET myTable SETTING field1 = 1; Example 2: Increments a field in all records in a table by 10%: UPDATE_RECORDSET myTable SETTING field1 = myTable.field1 * 1.10; Update_RecordSet: 说明:批量更新数据. 举例: UPDATE_RECORDSET myTable SETTING field1 = myTable.field1 * 1.10; Window: 说明:调整输出窗体的大小. 举例: static void Job4(Args _args) { str navn; int jjj=1; window 80,30; … }
微软ERP dynamics Axapta中的保留字相关推荐
- 微软ERP Dynamics AX 20年简史
既然对微软的ERP有兴趣,就必须了解其历史,把握其未来的发展方向. 下列Dynamics AX的介绍,对关注微软ERP的人可能有用. 在 秋毫ERP咨询 http://www.qiuhao.com/ ...
- 微软ERP——Dynamics AX 4.0_安装篇
环境:Windows Server 2003 Enterprise+SQL Server 2005 sp1+Dynamics AX 4.0 Step1:Windows Server 2003 Ente ...
- 国内第一本全面讲解微软ERP主流产品Dynamics AX 2009的中文技术图书
编辑推荐/本书特色: 1.国内第一本全面讲解微软ERP主流产品Dynamics AX的中文技术图书 2.微软(中国)有限公司商务解决方案(MBS)事业部推荐技术图书 3.微软(中国)有限公司MBS大中 ...
- 微软ERP Axapta 开发环境编辑器的快捷键大全
微软ERP Axapta 开发环境编辑器的快捷键大全 新增 ctrl+n 新建一个新的方法 保存 ctrl+s 保存所有左边窗口打开的方法 设置断点 F9 设置或取消断点,没有断点则设置断 ...
- 微软ERP Microsoft Dynamics AX学习
微软ERP Microsoft Dynamics AX简介 Microsoft Dynamics AX(以前称为Microsoft Business Solution Axapta)是一种可定制的商务 ...
- 微软 2006年7月已试发布 ERP Dynamics AX 简体中文版 4.0 (第一个简体中文版),请下吧 !...
下列地址有 微软 2006年7月发布的 ERP Dynamics AX 简体中文版 4.0 ,请下吧! 这是微软收购 四个ERP 产品后,第一个真正的本地化简体中文版.其它中文版由其合作伙伴汉化. h ...
- Install MicroSoft Dynamics AX4:单机安装微软ERP AX4
Install MicroSoft Dynamics AX4:单机安装微软ERP AX4 Installed AX4 include Database, AX server and dommain c ...
- 微软ERP:“狼”也,“羊”也?
回顾微软公司的发展历史,似乎有不少技术和产品并非微软先行开发,但却能在后来的市场上遍地开花,形成绝对优势,很大程度上得益于频遭竞争对手诟病的"捆绑式"营销.即客户在获得一项服务的同 ...
- 微软ERP家具行业解决方案
2019独角兽企业重金招聘Python工程师标准>>> 微软ERP家具行业解决方案 微软ERP系统采用微软 Dynamics NAV平台,是一套可随着企业发展一同成长的ERP系统,本 ...
最新文章
- [JavaScript] 日期时间戳的使用与计算
- 【BZOJ1085】【SCOI2005】骑士精神 [A*搜索]
- Android运行时识别API版本
- python爬虫实例电商_价值上千元的Python爬虫外包案例,学会你就赚了
- NET平台下Web树形结构程序设计
- 以史为鉴 | 为什么要将「知识图谱」追溯到1956年?
- springmvc java的验证码的小程序
- 两个异常:a circular reference was detected while serializing及 Maximum length exceeded
- 批量查找修改替换多个 Word 文件中的关键字,也支持修改替换 Excel、PPT、PDF 和记事本文本文件
- 塔防游戏制作教程(二)
- 大名鼎鼎的SEO,有哪些发展方向?
- 时间、空间、对象 海量极速多维检索 - 阿里云RDS PostgreSQL最佳实践
- 使用Notepad++实现文本编辑的豆沙绿背景颜色,护眼
- 张鹏:腾讯云直播PCDN加速方案(附视频回放)
- HTTP请求/响应报文头部结构
- kafka监控api,手撕面试官
- 字母和数字半角和全角的问题
- Vmware tools 安装好后还是无法全屏问题
- Win10任务栏重启无数次都在转圈卡死解决方法(超级简单)
- HC32F460(华大单片机)学习开发