微软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中的保留字相关推荐

  1. 微软ERP Dynamics AX 20年简史

    既然对微软的ERP有兴趣,就必须了解其历史,把握其未来的发展方向. 下列Dynamics AX的介绍,对关注微软ERP的人可能有用. 在 秋毫ERP咨询  http://www.qiuhao.com/ ...

  2. 微软ERP——Dynamics AX 4.0_安装篇

    环境:Windows Server 2003 Enterprise+SQL Server 2005 sp1+Dynamics AX 4.0 Step1:Windows Server 2003 Ente ...

  3. 国内第一本全面讲解微软ERP主流产品Dynamics AX 2009的中文技术图书

    编辑推荐/本书特色: 1.国内第一本全面讲解微软ERP主流产品Dynamics AX的中文技术图书 2.微软(中国)有限公司商务解决方案(MBS)事业部推荐技术图书 3.微软(中国)有限公司MBS大中 ...

  4. 微软ERP Axapta 开发环境编辑器的快捷键大全

    微软ERP Axapta 开发环境编辑器的快捷键大全 新增   ctrl+n 新建一个新的方法 保存   ctrl+s 保存所有左边窗口打开的方法 设置断点   F9 设置或取消断点,没有断点则设置断 ...

  5. 微软ERP Microsoft Dynamics AX学习

    微软ERP Microsoft Dynamics AX简介 Microsoft Dynamics AX(以前称为Microsoft Business Solution Axapta)是一种可定制的商务 ...

  6. 微软 2006年7月已试发布 ERP Dynamics AX 简体中文版 4.0 (第一个简体中文版),请下吧 !...

    下列地址有 微软 2006年7月发布的 ERP Dynamics AX 简体中文版 4.0 ,请下吧! 这是微软收购 四个ERP 产品后,第一个真正的本地化简体中文版.其它中文版由其合作伙伴汉化. h ...

  7. Install MicroSoft Dynamics AX4:单机安装微软ERP AX4

    Install MicroSoft Dynamics AX4:单机安装微软ERP AX4 Installed AX4 include Database, AX server and dommain c ...

  8. 微软ERP:“狼”也,“羊”也?

    回顾微软公司的发展历史,似乎有不少技术和产品并非微软先行开发,但却能在后来的市场上遍地开花,形成绝对优势,很大程度上得益于频遭竞争对手诟病的"捆绑式"营销.即客户在获得一项服务的同 ...

  9. 微软ERP家具行业解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 微软ERP家具行业解决方案 微软ERP系统采用微软 Dynamics NAV平台,是一套可随着企业发展一同成长的ERP系统,本 ...

最新文章

  1. [JavaScript] 日期时间戳的使用与计算
  2. 【BZOJ1085】【SCOI2005】骑士精神 [A*搜索]
  3. Android运行时识别API版本
  4. python爬虫实例电商_价值上千元的Python爬虫外包案例,学会你就赚了
  5. NET平台下Web树形结构程序设计
  6. 以史为鉴 | 为什么要将「知识图谱」追溯到1956年?
  7. springmvc java的验证码的小程序
  8. 两个异常:a circular reference was detected while serializing及 Maximum length exceeded
  9. 批量查找修改替换多个 Word 文件中的关键字,也支持修改替换 Excel、PPT、PDF 和记事本文本文件
  10. 塔防游戏制作教程(二)
  11. 大名鼎鼎的SEO,有哪些发展方向?
  12. 时间、空间、对象 海量极速多维检索 - 阿里云RDS PostgreSQL最佳实践
  13. 使用Notepad++实现文本编辑的豆沙绿背景颜色,护眼
  14. 张鹏:腾讯云直播PCDN加速方案(附视频回放)
  15. HTTP请求/响应报文头部结构
  16. kafka监控api,手撕面试官
  17. 字母和数字半角和全角的问题
  18. Vmware tools 安装好后还是无法全屏问题
  19. Win10任务栏重启无数次都在转圈卡死解决方法(超级简单)
  20. HC32F460(华大单片机)学习开发

热门文章

  1. iOS二维码识别/二维码生成
  2. centos 安装Django方法
  3. 【笔记】2022.5.5 正则表达式
  4. 纯函数式编程语言_函数式编程正在接管具有纯视图的UI。
  5. Java—I/O系统
  6. 【环信IM集成教程】iOS端收到离线消息显示设置
  7. 提取OutLook邮件里面的邮件头信息(发件人、收件人)
  8. 怎样使用iconv-lite解决中文乱码问题
  9. 薄壳理论在形状匹配等领域的应用
  10. 《开课》---创业学习--训练营直播第一课--HHR