要想做好AX的二次开发,除了要熟练掌握X++的语法和一些系统类的用法外,还有两个必要条件:
1.精通AX的现有功能
只有熟练应用AX的现有功能才能在应用顾问提出开发需求时,准确地评估开发的合理性,并针对AX系统提出自己开发的想法,想做好开发就一定要比应用顾问更加熟练地使用系统.
可能觉得这种观点有些荒谬,其实这是最基本的要求.如果连系统都不会用,又怎么保证开发的东西符合AX的Style?又怎么评估应用顾问提出的开发需求系统中是不是已经实现了?
那如果技术顾问能做到这一点还要应用顾问做什么?其实应用顾问的主要职责并不是使用AX系统,而是利用自己的经验去梳理企业流程,对企业流程提出专家建议,并在AX中找到实现的思路,这才是应用顾问的Value.
如果不精通AX的现有功能,AX二次开发的结果很可能是辛辛苦苦做出的东西并不是用户想要的,或者费了很大劲做了一个系统中已经实现了的功能.
2.了解AX现有代码
毕竟是二次开发,要对系统已有的代码有所了解才能更好地做好开发.面向对象的好处是封装变化,将变化封装到一个地方便于以后修改代码,但代码的重用很容易动一发而牵全身.
对于第一点比较容易实现,把AX应用的教程从头到尾看个十遍八遍,然后在系统中做N次测试就差不多可以做到了.
对于第二点,AX的代码量还是不小的,要了解AX的每一个细节确实不容易.
本系列文章试图从各个方面考察AX系统的现有代码,争取能理出一个脉络.由于我对AX理解的局限性,很可能一叶障目不见泰山,还望大家不吝赐教.
对AX现有代码越了解,做AX开发就会越轻松,像庖丁解牛那样,在使用AX的时候,点一个Button,所调用的一系列的类,这一系列的类读写的表都立刻能够浮现出来,到了这种境界,做AX二次开发或许会轻松些了.