




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、會計學(xué)1Microsoft Dynamics Ax技術(shù)培訓(xùn)主要內(nèi)容1、AX系統(tǒng)功能概述2、AX開發(fā)平臺介紹3、X+ 集成開發(fā)環(huán)境 4、X+開發(fā)語言介紹5、數(shù)據(jù)字典(Data Dictionary)6、數(shù)據(jù)操作(Fetch of Data)7、From(窗體)8、Class(類)9、Report(報表)10、Menus(菜單)第1頁/共133頁Microsoft AX第一章:系統(tǒng)功能概述第2頁/共133頁概述 本章主要介紹AX與具體業(yè)務(wù)模塊沒有直接關(guān)系的功能,這些功能在實施項目的過程中一般會由技術(shù)顧問負責(zé)教授給客戶。 這部分內(nèi)容以演示為主,通過演示可以對AX的使用有個大概的認識,知道哪些技術(shù)特性
2、在AX中已經(jīng)實現(xiàn),不需要另行開發(fā)。第3頁/共133頁前景第4頁/共133頁主要內(nèi)容查詢和排序記錄全局搜索預(yù)警的使用文檔管理數(shù)據(jù)的導(dǎo)入導(dǎo)出第5頁/共133頁查詢和排序記錄AX提供了方便的查詢和排序記錄的方式,可以方便地查詢出某條或者某些滿足條件的記錄DEMO第6頁/共133頁全局搜索全局搜索可以很方便地在多個表中進行數(shù)據(jù)的搜索 路徑:基礎(chǔ)數(shù)據(jù)設(shè)置數(shù)據(jù)爬網(wǎng)場景:銷售人員想看到與某個客戶相關(guān)的幾個表中的記 錄,但他不想逐個表搜索。DEMO第7頁/共133頁預(yù)警的使用當(dāng)用戶關(guān)心的某些事件發(fā)生時,AX可以通過設(shè)定預(yù)警收到通知DEMO第8頁/共133頁文檔管理通過文檔管理可以為AX中的每條記錄添加一個文檔
3、說明。場景:用戶想為每個產(chǎn)品添加Word文檔以便說明產(chǎn)品 信息,或者為每個銷售訂單添加合同的文本方便 查找。DEMO第9頁/共133頁數(shù)據(jù)的導(dǎo)入導(dǎo)出在AX正式上線之前需要導(dǎo)入一些數(shù)據(jù),其中一些主表的數(shù)據(jù)可以通過系統(tǒng)中提供的導(dǎo)入導(dǎo)出功能來實現(xiàn)。這些主表一般包括客戶表,供應(yīng)商表,物料表和會計科目表。也可以用導(dǎo)入導(dǎo)出功能一次性導(dǎo)出某些類型的數(shù)據(jù)。DEMO第10頁/共133頁應(yīng)用程序框架AX為滿足企業(yè)ERP的各種技術(shù)性需求,提供了一套基礎(chǔ)模型,利用這些模型框架,可以便于用戶集中精力于實現(xiàn)各個領(lǐng)域的需求,通過現(xiàn)有的模型框架和新的技術(shù)特性提供給用戶統(tǒng)一的用戶體驗。最常見的框架模型有:The RunBase
4、 FrameworkThe RunBase application framework runs or batches an operation. An operation is a unit of work, such as the posting of a sales order or calculation of a master schedule. The RunBase framework uses the Dialog framework to prompt a user for data input. It uses the SysLastValue framework to p
5、ersist usage data and the Operation Progress framework to show operation progress.(基本設(shè)置里的批處理)The Batch FrameworkThe Batch application framework creates batch entries in the Dynamics AX batch queue. These entries execute at time intervals specified by a user interacting with a dialog box provided by
6、the framework. The RunBaseBatch framework extends the RunBase framework, and X+ classes that extend this framework can have their operations enlisted in the batch queue.第11頁/共133頁應(yīng)用程序框架The Dialog FrameworkThe Dialog application framework creates a dynamic dialog box that is not defined in the AOT. Y
7、ou can customize the dialog box by setting the caption and adding fields, field groups, menu items, text, and images. You would typically use the Dialog framework to create dialog boxes when data input is required from the user.The Operation Progress FrameworkThe Operation Progress application frame
8、work displays a dialog box that shows the progress of a processing task. You can customize the framework by setting the total number of steps in the operation and by setting the dialog box caption and animation type. You control the progress by incrementing the progress value in derived classes. Bes
9、t practices include setting the total step count only if it is known (or if it can be accessed rapidly), partitioning the process task into as many steps as possible, and insuring that steps have similar durations. If you use multiple progress bars, the first bar should show overall progress. The fr
10、amework automatically calculates the time remaining for an operation.第12頁/共133頁應(yīng)用程序框架The Number Sequence FrameworkThe Number Sequence application framework creates a new sequential number for uniquely identifying business transaction records in database tables. You can specify whether the numbers ar
11、e sequential or allow gaps in the generated sequences. You can also specify the number format by using a specification string.The SysLastValue FrameworkThe SysLastValue application framework stores and retrieves user settings or usage data values that persist between processes. You use this framewor
12、k to save, retrieve, and delete a container of usage data. (生產(chǎn)/工序清單)The Application Integration FrameworkThe Application Integration Framework (AIF) sends business transactions to external applications and responds to requests from external applications. The framework comprises XML document classes,
13、 message queue management, Web services, and data mapping features. 第13頁/共133頁應(yīng)用程序框架The Wizard FrameworkThe Wizard application framework helps users configure application features. The Infolog FrameworkYou use the Infolog application framework when business transaction status logging is required. Th
14、e information log form control displays the logged message. The Infolog framework is also the default exception handler, so any exception not caught by application code is caught by the Infolog framework. You can extend this framework to provide customized logging features.第14頁/共133頁第二章:AX體系架構(gòu)第15頁/共
15、133頁內(nèi)容 了解AX的優(yōu)勢了解AX的主要開發(fā)原理了解AX的層體系了解AX的安全體系設(shè)置Microsoft Axapta is a customizable, multiple language, multiple currency enterprise resource planning or ERP solution with core strengths in manufacturing and e-business and strong functionality for the wholesale and services industries.第16頁/共133頁AX的特色功能特色
16、:單一的數(shù)據(jù)庫可供集團中的所有公司同時使用;在各個功能領(lǐng)域?qū)崿F(xiàn)了高度的統(tǒng)一規(guī)劃,例如原材料采購、銷售和生產(chǎn);預(yù)測和生產(chǎn)主計劃的可獲得性;多幣種和多語種的靈活性。第17頁/共133頁AX的特點開發(fā)環(huán)境特色 MorphX是專為AX提供的一個集成開發(fā)環(huán)境平臺;提供了COM (The Component Object Model /組件對象模型)組件接口,便于AX與第三方軟件和WEB應(yīng)用的集成;應(yīng)用對象樹(AOT) 提供了統(tǒng)一的、緊湊的設(shè)計框架和知識庫;.許多設(shè)計功能都支持鼠標的拖拽操作;項目有助于管理和跟蹤客戶化定制應(yīng)用。第18頁/共133頁系統(tǒng)構(gòu)架三層體系結(jié)構(gòu) Client, AOSApplica
17、tion File, DB, 優(yōu)點:降低客戶端負載使用較小的帶寬,降低網(wǎng)絡(luò)負擔(dān)支持更多的客戶端第19頁/共133頁系統(tǒng)構(gòu)架第20頁/共133頁AOT( Application Object Tree)AOT是MorphX 的要點之一,它是所有元數(shù)據(jù)倉庫的瀏覽器;Ctrl+D打開;箭頭鍵操作;第21頁/共133頁AOT 對象節(jié)點Data Dictionary (數(shù)據(jù)字典)- 數(shù)據(jù)類型和數(shù)據(jù)表Macros (宏) - 不能獨立運行,用于jobs, classes, forms等中Classes (類)- 包含變量和對變量操作方法Forms (窗體)- 用戶操作輸入界面Reports(報表)- 用戶
18、操作輸出界面 Queries (查詢)- 定義數(shù)據(jù)表查詢 Web Froms (網(wǎng)頁窗口)-企業(yè)門戶中顯示或輸入的頁面Jobs (工作)- 可以獨立執(zhí)行的 X+ 程序代碼,常用于測試小程序Menu, menu items(菜單與菜單選項) - 用戶操作的菜單第22頁/共133頁AOT( Application Object Tree)Prefix DescriptionAx Dynamics AX typed data sourceAxd Dynamics AX business documentBOM Bill of materialCOS Cost accountingCust Custo
19、merHRM Human resource managementInvent Inventory managementJMG Shop floor controlKM Knowledge managementLedger General ledgerPBA Product builderProd ProductionProj ProjectPurch Purchase第23頁/共133頁AOT( Application Object Tree)Prefix DescriptionReq RequirementsSales SalesSMA Service managementSMM Sales
20、 and marketing managementSys Application frameworks and development toolsTax Tax engineVend VendorWeb Web frameworkWMS Warehouse management第24頁/共133頁AX的基本應(yīng)用應(yīng)收帳款-客戶 新增一條記錄;排序;過濾篩選記錄;幫助系統(tǒng)的使用;第25頁/共133頁幫助系統(tǒng)第26頁/共133頁系統(tǒng)分層技術(shù)(Layers)應(yīng)用對象共分為八層次(SYS, GLS, DIS, LIS, BUS, VAR, CUS and USR.) ;每一層分別保存在名為Ax.aod
21、的文件中;例如:Axsys.aod 文件保存的是SYS層的對象, Axdis.aod 保存 DIS 層對象,依次類推. 擴展名.aod 是 Application Object Data 的縮寫;Patch-layers(SYP, GLP, DIP, LIP, BUP, VAP, CUP and USP.)終端用戶第27頁/共133頁層描述Layer DescriptionsNecessary Access codes:SYSSystem. This layer is controlled and maintained solely by Navision Development. The s
22、tandard application is implemented in the innermost layer, the SYS layer. The application objects in the standard application can never be deleted.No AccessNo AccessGLSGlobal Solutions. When Navision Development certifies and distributes an externally developed solution, this will be distributed in
23、the GLS layer. These modules are sold through Navision.No AccessNo AccessDISDistributor. The local Navision distributor (NTR) maintains this layer. The layer includes all country-specific functionality, developed locally between two releases.No AccessNo AccessLOSLocal Solution. A layer where the NTR
24、 can implement local, certified partner solutions. No AccessNo AccessBUSBusiness Solution. When a business partner (NSC) creates his own generic solution, his modifications are saved in the BUS layer. BUS development licenseBUS runtime or X+ development licenseVARValue Added Reseller. Customer speci
25、fic modifications made by the NSC should always be saved in the VAR layer. The customers can execute this layer but not modify it. VAR development licenseVAR runtime or X+ development licenseCUSCustomer. Company generic modifications made by the administrator or supervisor of a customer installation
26、s are saved in the CUS layer.CUS development licenseX+ development licenseUSREnd User. The end user may wish to make his very own modifications, for example create his own reports. These modifications are saved in the USR layer. No tools or MorphX or X+No tools第28頁/共133頁層描述在AOT中查看層工具選項開發(fā)第29頁/共133頁層描
27、述AX的所有用戶都可以自定義AX應(yīng)用標準應(yīng)用不會被修改當(dāng)刪除對象時只會刪除當(dāng)前層的對象設(shè)定當(dāng)前層第30頁/共133頁標簽和語言( Labels and languages)標簽文件命名規(guī)則Microsoft Ax 中標簽文件命名: Ax*en-us.ald ,Ax*en-gb.ald *: SYS, SYP,GLS,GLP; Customization(客戶端) AxSYSen-gb.ktd中文標識:ZH-CN第31頁/共133頁標簽和語言( Labels and languages)標簽文件向?qū)撕灳庉嫶绑w為窗體分配標簽DEMO第32頁/共133頁AX的安全體系A(chǔ)X中的安全分為功能級別和數(shù)據(jù)
28、行級別(Record Level Security RLS)功能級別主要控制某些用戶組可以訪問哪些功能或者哪些表的字段,比如限定某個用戶組只能訪問應(yīng)收賬款功能且只能訪問其中的客戶表中的某些字段,為了方便描述可以稱其為列級權(quán)限。數(shù)據(jù)行級別權(quán)限主要限定用戶可以訪問哪些行的數(shù)據(jù),比如只能訪問客戶代碼為4000的客戶數(shù)據(jù),可將其成為行級權(quán)限。第33頁/共133頁安全層級 系統(tǒng)管理/設(shè)置/系統(tǒng)/許可證信息 系統(tǒng)管理/設(shè)置/系統(tǒng)/配置 系統(tǒng)管理/設(shè)置/安全性/用戶組權(quán)限 第34頁/共133頁License codesBase PackageThe Base Package license gives ac
29、cess for creating or modifying reports, jobs and queries. With the Base Package, the AOT displays the Macros, Reports, Queries, Jobs, Menus, Menu Items, System documentation, Application Developer Documentation, and Application documentation nodes only. MorphXThe MorphX license provides access to th
30、e Data Dictionary node, where tables, Fields, Enum, and Extended Data Types are maintained. The ability to create or modify forms and or web-forms requires the MorphX security package. With the MorphX license, the AOT displays: Data Dictionary, Forms, Extended Data Types, Macros, Jobs, and Queries i
31、n addition to the nodes on the Base Package. In addition, the Web MorphX license provides access to Microsoft Axapta Web Projects, Web forms, Web Page, and Style Sheet Editor.X+Finally, the X+ license gives you access to all classes in Microsoft Axapta, and a development code for the customer layer,
32、 allowing customers to place modified objects in the customer layer, the user layer, or both. The X+ license gives you the ability to modify standard routines, such as the invoice routine or the posting process for a ledger journal.第35頁/共133頁授權(quán)碼(License Code)第36頁/共133頁配置鍵(Configuration key)Licens ko
33、de(ledger)Configuration key(Bank)Configuration key(BankCheque)Configuration key(BankDeposit)第37頁/共133頁安全鍵(Security key)第38頁/共133頁AX的安全體系的設(shè)置舉例介紹Configuration key和Security key之間的相互關(guān)系及其設(shè)置。第39頁/共133頁第三章:數(shù)據(jù)字典第40頁/共133頁主要內(nèi)容了解AX MorphX開發(fā)環(huán)境和Application Object Tree (AOT);使用MorphX設(shè)計和建表;掌握表之間的關(guān)系;了解不同的數(shù)據(jù)類型;了解并掌
34、握在一個比較大的數(shù)據(jù)字典范疇內(nèi)如何創(chuàng)建并編輯一個對象第41頁/共133頁AOT的操作第42頁/共133頁AOT的操作第43頁/共133頁Data DictinaryData Dictionary -Tables(表) -Maps(圖) -Views(視圖) -Extended Data Types(擴展類型) -Base Enums (枚舉類型) -Configration Key(設(shè)置鍵) -Security Keys (安全鍵)第44頁/共133頁Tables的組成表是一種二維的數(shù)據(jù)存儲結(jié)構(gòu),在Ax中表作為一種AOT對象存在,其可以看作一種特殊的類,和我們一般認識的數(shù)據(jù)庫中的表有區(qū)別;表的
35、分類: - 系統(tǒng)表(Ax平臺運行所必需的表) - 基本表 (業(yè)務(wù)邏輯運行所必需的表)表的組成 - 字段(Fields) - 字段組(Field Groups) - 索引 (Indexs) - 關(guān)系 (Relatioins) - 刪除關(guān)聯(lián)(DeleteAction) - 方法 (Methods)第45頁/共133頁字段(Fields)表字段是表在物理結(jié)構(gòu)中列的概念化體現(xiàn),是表的重要組成部分創(chuàng)建新字段,如下圖:注意:在創(chuàng)建對象時字段必須依賴某一擴展類型,Label屬性是字段的描述,如果為空,則系統(tǒng)會繼承擴展類型的Label值;第46頁/共133頁字段組(Field Groups)字段組是Ax對數(shù)據(jù)
36、庫表字段的一種邏輯分類,即按照一定的標準將字段歸類,某一類就形成一個組;字段分組會在Ax其他一些對象中用到,如后面要講到的Form,這會給開發(fā)帶來很多方便;最佳實踐:每一個字段最好附屬于某一個組;組命名最好和系統(tǒng)命名保持一致,如:Identification,Administration,Address,Setup,Dimension等第47頁/共133頁Extended Data Types(擴展類型)枚舉類型: 某類數(shù)據(jù)可能取值的集合,如一周內(nèi)星期可能取值的集合為: Sun,Mon,Tue,Wed,Thu,Fri,Sat該集合可定義為描述星期的枚舉類型,該枚舉類型共有七個元素,因而用枚舉類
37、型定義的枚舉變量只能取集合中的某一元素值。由于枚舉類型是導(dǎo)出數(shù)據(jù)類型,因此,必須先定義枚舉類型,然后再用枚舉類型定義枚舉型變量 擴展類型基于基本數(shù)據(jù)類型和枚舉類型而創(chuàng)建;作用: - 對基本數(shù)據(jù)類型或枚舉類型進行細分,便于開發(fā)過程中數(shù)據(jù)定義 以及表字段定義統(tǒng)一,例如字段名稱的統(tǒng)一,字符類型長度統(tǒng)統(tǒng)一 - 用于Forml 中字段lookup查詢; - 用于為數(shù)據(jù)表之間或form調(diào)用時自動建立關(guān)聯(lián)關(guān)系;練習(xí):在AOT中建立枚舉類型(紅,綠和藍)和擴展類型(枚舉類型相應(yīng)的擴展類型,幾種基本類型的擴展類型;第48頁/共133頁建立擴展類型、枚舉變量在AOT中創(chuàng)建,如圖:第49頁/共133頁索引(Inde
38、xes)Ax中的索引和數(shù)據(jù)庫中索引對應(yīng);索引的類型: - 唯一索引(Unique) - 普通索引(Non-Unique)索引可以建立在一個字段上,也可以建立在一組字段上)最佳實踐:索引命名時使用后綴“Idx”;第50頁/共133頁關(guān)系(Relations)關(guān)系反映表與表、表與擴展類型之間的一種關(guān)聯(lián)建立關(guān)系的媒介字段關(guān)系一般建立在子表上;關(guān)系的類型 -標準(表之間建立的關(guān)聯(lián)字段與字段) -固定字段(本表某字段取固定值,相當(dāng)于固定條件) -固定相關(guān)字段(關(guān)聯(lián)表字段取固定值第51頁/共133頁刪除約束(DeleteActions)用于控制和本表相關(guān)聯(lián)表的相關(guān)數(shù)據(jù)刪除建立在relations的基礎(chǔ)上分
39、類 - None 本表記錄刪除,關(guān)聯(lián)表不受影響 - Cascade 級聯(lián)刪除,刪除本表記錄時,也會刪除掉關(guān)聯(lián)表中相關(guān)數(shù) 據(jù) - Restricted 限制刪除。關(guān)聯(lián)表中有記錄時,本表記錄不得刪除 - Cascade 級聯(lián)-限制刪除 在刪除本表記錄后,如果關(guān)聯(lián)表有相關(guān)記錄,則系統(tǒng)會提示是否需要刪除,如果選擇“是”,則刪除,否則不做級聯(lián)刪除;第52頁/共133頁表方法(Methods)分類 - 覆蓋方法 Ax本身定義的方法,可重寫,有特定的執(zhí)行時機 - 普通方法 由用戶定義的方法,完成與表相關(guān)的業(yè)務(wù)操作或功能 表的幾個主要方法: - Insert() - Update() - Delete() 幾
40、個必要的普通方法 - Find() - InitFrom() - Exists()第53頁/共133頁建議建表步驟新建一張表(Create a new table)創(chuàng)建相應(yīng)的擴展類型(或者枚舉類型)為表添加字段(當(dāng)擴展類型建立好后,可以通過拖拽的方式添加字段)為擴展類型創(chuàng)建表的關(guān)聯(lián)(如果某個擴展類型是關(guān)鍵字段)建立表關(guān)聯(lián)(如果必要)創(chuàng)建索引(如果必要,至少要將關(guān)鍵字段建立索引)練習(xí):根據(jù)上面的步驟創(chuàng)建一對主從表,以一個字段關(guān)聯(lián);第54頁/共133頁圖和視圖視圖(Views)是建立在表基礎(chǔ)之上的一種數(shù)據(jù)結(jié)構(gòu),其沒有物理存儲,只是對表數(shù)據(jù)的一種映射,可以通過建立關(guān)系將多張表合并成一個試圖;圖(Ma
41、ps)是建立在表基礎(chǔ)上的一種數(shù)據(jù)結(jié)構(gòu),其建立在多個具有相似性的表之上,起到共享數(shù)據(jù)和共享方法的作用;第55頁/共133頁開發(fā)輔助工具開發(fā)工具啟動路徑:工具開發(fā)工具AOT右鍵加載項第56頁/共133頁第四章:用戶界面第57頁/共133頁主要內(nèi)容理解項目這個角色;了解AX圖形化界面;掌握設(shè)計和創(chuàng)建Form的方法;了解AX中的菜單的使用。第58頁/共133頁項目私有和共享項目的分類和創(chuàng)建;項目的導(dǎo)入和導(dǎo)出。第59頁/共133頁窗體設(shè)計(forms)對象模型:第60頁/共133頁Form中對象的引用ObjectAccess from X+FormRunelementFormDataSource_DSA
42、ctive record in data sourceFormDataObjectFormDataSource.Object()FormDesignFormRun.design()FormControlName assigned to control, when property autodeclaration is set to yes.orelement.control(Control:)Query_QorFormDataSource.Query()QueryRun_QRorFormDataSource.QueryRun()第61頁/共133頁Form中常用的十個方法FormRun.ini
43、t()這個方法初始化窗體和他的對象,這個方法是窗體啟動是第一個執(zhí)行的。一定要執(zhí)行super()方法,否則其他對象將不會創(chuàng)建。如果你希望進行許多手動的初始化工作,需要在此編寫代碼,下邊是可以完成的一些工作。驗證傳遞args對象的內(nèi)容初始化一些支持類。動態(tài)改變窗體的設(shè)計。如果你在函數(shù)中要使用窗體的對象,需要在super()函數(shù)調(diào)用之后。第62頁/共133頁Form中常用的十個方法FormRun.close()這個方法關(guān)閉窗體,如果你需要在執(zhí)行完窗體后需要清理一些內(nèi)容,需要在此編寫代碼。FormDataSource.init()這個方法初始化datasource,它被FormRun.init中的su
44、per()函數(shù)調(diào)用。這個方法在窗體被打開時只執(zhí)行一遍。這個方法的主要任務(wù)是初始化獲取數(shù)據(jù)的query。如果你希望修改或者替換窗體自動創(chuàng)建的query,需要在super調(diào)有之后編寫代碼。FormDataSource.initValue()這個方法給新記錄的初始化值,super()方法調(diào)用相關(guān)table的對應(yīng)方法,表中的方法將調(diào)用記錄模板功能。如果你有一些系統(tǒng)級的數(shù)據(jù)初始化,你需要將代碼寫在表上。第63頁/共133頁Form中常用的十個方法FormDataSource.active()當(dāng)數(shù)據(jù)源一條數(shù)據(jù)被激活是這個事件被調(diào)用。這個方法被重載改變當(dāng)前記錄的一些屬性。修改進入datasource的權(quán)限。
45、修改進入field的權(quán)限修改button的可用性。FormDataSource.linkActive()這個方法控制同步數(shù)據(jù)的連接。這個方法在控制者數(shù)據(jù)改變時被控制者激活數(shù)據(jù),如果liketype屬性為delayed和active。如果form的liketype為passive時這個方法也會在窗體打開時被調(diào)用一次。如果需要動態(tài)的切換active和delayed同步特性,可以使用一個條件判斷決定super()方法的調(diào)用。如果希望控制同步,可以將super()方法刪除,調(diào)用formdatasource.executequery()方法。第64頁/共133頁Form中常用的十個方法FormDataS
46、ource.validateWrite()這個方法對插入和修改一條記錄進行數(shù)據(jù)檢查和確認。Super()將調(diào)用對應(yīng)表中的方法,如果你有一些系統(tǒng)級的方法,可以將這些內(nèi)容寫在表中。如果你需要區(qū)分插入和修改,你要使用一個條件判斷Recid字段,如果時修改是才會有值。FormDataSource.write()這個方法控制插入和修改記錄,如果你希望一個系統(tǒng)級的控制,需要在表中實現(xiàn)這個方法。如果在記錄提交時有一些情況要處理,需要將代碼寫在這里.FormDataObject.modified()在用戶修改了字段內(nèi)容時被調(diào)用,這個方法可以被用于計算。如果希望系統(tǒng)級的字段控制,你需要重載表中的modifier
47、field方法。第65頁/共133頁Form中常用的十個方法FormDataObject.validate()這個方法用來驗證字段的內(nèi)容。第66頁/共133頁通過X創(chuàng)建Formstatic void Job2(Args _args) Args args; FormRun formrun; ; args = new Args(formStr(Address); /args.caller(this); formrun = classFactory.formRunClass(args); formrun.init(); formrun.run(); formrun.wait();第67頁/共133頁
48、Form設(shè)計使用的主要控件第68頁/共133頁Form的創(chuàng)建舉例創(chuàng)建一個主從表結(jié)構(gòu)的Form。數(shù)據(jù)源連結(jié)的幾種類型:Passive:被動型,從數(shù)據(jù)庫不自動更新,只有通過主數(shù)據(jù)源的active()方法中寫程序執(zhí)行更新;Delayed:延時型,在關(guān)聯(lián)的從數(shù)據(jù)庫插入前有一個暫停,以方便主表數(shù)據(jù)的查找;Active;積極型,主表插入數(shù)據(jù)后從表立即更新;InnerJoin:內(nèi)連接,關(guān)聯(lián)的兩個表都要有數(shù)據(jù) ;OuterJoin:外連接ExistJoin:存在內(nèi)連接,只要找到一條內(nèi)連接記錄即可;NotExistJoin:找出不匹配的記錄。第69頁/共133頁Form創(chuàng)建的最佳實踐form提供多個事件放置代碼
49、,由于下邊的原因在form上盡量的少放置代碼。窗體不能繼承,你不能將在form中實現(xiàn)的業(yè)務(wù)哦邏輯在其他應(yīng)用程序中復(fù)用。X+代碼在form中實現(xiàn)的方法都在客戶端執(zhí)行,你不能指定你的代碼在客戶端還是服務(wù)器執(zhí)行。如果你希望編寫和數(shù)據(jù)相關(guān)系統(tǒng)級的應(yīng)用邏輯,你需要講代碼寫在表里。表中有很多可以繼承和支持的類。如果你想編寫和窗體以及數(shù)據(jù)相關(guān)的方法,建議你編寫一個窗體的支持類。如果窗體能夠在不同的數(shù)據(jù)下允許,這種方法可以提供多態(tài)性。如果你在窗體上放置了X,建議在design編寫代碼,而是講代碼放在Datasource上。在design中的很多方法決定用戶如何來操作窗體。第70頁/共133頁菜單項(Menu
50、Item) 有三種類型的Menu ItemDisplay:用于連接窗體Output:用于連接報表Action:用于連接類MenuItem在三種場合調(diào)用:MenuItem Button調(diào)用在主菜單直接調(diào)用在代碼中使用相關(guān)調(diào)用類DEMO第71頁/共133頁 MenusMenu由部分菜單項組成Demo第72頁/共133頁 第五部分:X+語言基礎(chǔ)第73頁/共133頁主要內(nèi)容X+開發(fā)語言的主要特點;面向?qū)ο缶幊袒A(chǔ);了解AX開發(fā)的基本工具;對象和類;異常處理。第74頁/共133頁什么是X+?簡單的、面向?qū)ο蟮?、熟悉的;可靠? X+提供了擴展的編譯審查,緊隨其后的是次級運行審查。語言可以引導(dǎo)程序設(shè)計師養(yǎng)
51、成更良好的編程習(xí)慣。存儲管理的模型簡單易懂;用一種new運算符來生成對象。沒有外部程序員定義的數(shù)據(jù)類型或算法。該模型忽略發(fā)生程序錯誤的整個類;高性能- 當(dāng)不再引用一個對象時,對象被刪除掉并且它所占用 的內(nèi)存被釋放。該策略保證了這樣一種高可能性當(dāng)需要使用內(nèi)存時內(nèi)存可用,從而導(dǎo)致更好的運行;解釋型及靈活性- 歸功于更快速的開發(fā)周期:原型,試驗和快速開發(fā),這與傳統(tǒng)的編譯,鏈接和測試周期不同;共用性- 微軟Dynamics AX中的組件能無縫鏈接到每個支持COM標準和.NET集合的應(yīng)用程序。X+也支持微軟Dynamics AX內(nèi)嵌COM標準的外部組件。程序員稱這種方法為第三方COM組件和微軟自動辦公應(yīng)
52、用。第75頁/共133頁面向?qū)ο缶幊桃粋€類可以被堪稱藍圖或者是模版,表明它衍生出對象,這種類是對象指定類型內(nèi)的方法和變量集合。軟件對象是類的實例。每個實例都有它類中定義的數(shù)據(jù)成員和邏輯(方法)。一種方法是同一個類或一個對象發(fā)生聯(lián)系的函數(shù)(子程序)。一個對象運用方法實現(xiàn)它的方法。第76頁/共133頁面向?qū)ο缶幊淘趫D12中,軟件對象模型應(yīng)用在真實世界的對象,一臺電視機。與電機對象發(fā)生聯(lián)系的方法包含增加音量和調(diào)臺。電視機對象有許多變量表明它的狀態(tài):他被調(diào)到5臺音量為10。第77頁/共133頁X+開發(fā)工具編碼編輯器雙擊AOT中許多對象能在編碼編輯器中打開他們。編碼編輯器還能通過右鍵上下文菜單選擇Edi
53、t打開。編碼編輯器窗口包含兩個長方格:左邊方格包含當(dāng)前方法列表;右邊方格顯示X+代碼。第78頁/共133頁編輯器菜單介紹第79頁/共133頁開發(fā)輔助工具調(diào)試器第80頁/共133頁X+數(shù)據(jù)類型基本類型BooleanInteger(int 和int64)RealDateTimeOfDay (0; 86400) StringEnum其他類型Array 具有相同類型的組合Container 容器類型(可以保存動態(tài)數(shù)量的各種類型數(shù)據(jù))Table 系統(tǒng)中所有表可以定義為變量,可對表中字段操作(記錄級類型)Class 類中變量和方法的實例化第81頁/共133頁X+數(shù)據(jù)類型定義格式 數(shù)據(jù)類型 變量定義名 =
54、默認值舉例: -基本數(shù)據(jù)類型 str 20 right mystr1 = “zhaoxiansheng”; /定義一個名為mystr1 長度為20且右對齊的字符串 mystr1 = zhangchaobin;/字符串重新賦值 int i; i = 3; int64 j ; j = 8383838383838; real r ; r = 3.02125; Date d; d = 112007; Boolean b; b = false; /true or false enumName enum; enum = enumName:value;/noyes舉例第82頁/共133頁X+數(shù)據(jù)類型復(fù)雜數(shù)據(jù)
55、類型 舉例: - 數(shù)組: int intArry20; str 10 txt20; str 20 txt; /動態(tài)數(shù)組 - 容器:容器數(shù)據(jù)類型可以包含boolean, integer, real, date, string, container, arrays, tables等數(shù)據(jù)類型,類實例除外; container c; c=1,ddhdh,false; c += 2.56,salestable; str t1,t2,t3; c=x,y,z; t1,t2,t3 = c; /通過這種方式給變量賦值 容器中的幾個主要方法:第83頁/共133頁X+數(shù)據(jù)類型condel() 刪除容器中的相關(guān)項目c
56、onfind() 查詢?nèi)萜髦邢嚓P(guān)項目conins() 向容器中插入新項目conlen() 返回容器中項目的數(shù)量connull() 將容器置空; conpeek() 從容器中取出某一項目,并返回conpoke() 替換容器中一個或多個項目的內(nèi)容擴展類型定義 擴展類型名 變量名稱; 定義方式和基本類型相同;表定義 表名稱 變量名稱 /不需要new();類類型定義 類名 變量名稱 /通過new方法將變量實例化練習(xí):定義變量第84頁/共133頁運算符第85頁/共133頁X+主要控制語句If and if . Else and if . Else if Ternary operator(三元運算 ?:)
57、SwitchLoops- While- Do-while- For- Use of continue and breakSelect - Insert - Update - Delete第86頁/共133頁異常( Exceptions)什么是異常?引起異常的原因:用戶操作錯誤(User error)邏輯錯誤(Logical error)系統(tǒng)錯誤(System error)異常的類型(Types)infowarningdeadlockerrorinternalbreakdderror第87頁/共133頁常用處理程序Try and Catch定義: (系統(tǒng)異常時用戶交互處理) To prevent
58、 the system from locking when an exception occurs, you can use two commands that identify and collect the exceptions. You can tell the system to give the user a message helping him to correct the error, or you can tell the system to retry the operation.語法: Try Catch (exception:error)第88頁/共133頁Try Tr
59、y 和 Catch 命令使用ReTry命令確認 retry 命令不會導(dǎo)致無限循環(huán)需要限定循環(huán)的次數(shù)Catch列表處理流程第89頁/共133頁DialogDialog classDialog class 是一個特殊的類被用于設(shè)置參數(shù)以及用戶數(shù)據(jù)的獲取類似一個窗體,但有區(qū)別Methodsnew(); addField(); addGroup(); value(); active()run()User pressed Cancel - Run() = falseUser pressed OK - Run() = true Info :向用戶輸入系統(tǒng)提示信息或警告信息Box :一種特殊的Dialog,
60、可以用于警告,選擇等場合;Error:用于發(fā)送一個錯誤信息;Box:info(str maintxt, str titlebar, str helptxt);box:yesNo(Choose Yes or No, DialogButton:Yes, YesNo Box Example, Answer Yes or No);第90頁/共133頁DialogInfo (Infolog text);warning (Infolog text);error (Infolog text);通過一段代碼來創(chuàng)建一個Dialog。第91頁/共133頁面向?qū)ο缶幊蹋∣OP)介紹面向?qū)ο笤O(shè)計對象 (對象應(yīng)是實際問
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 海南科技職業(yè)大學(xué)《大學(xué)體育(Ⅳ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 懷化學(xué)院《草地農(nóng)業(yè)生態(tài)系統(tǒng)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 紹興文理學(xué)院《大學(xué)生的衛(wèi)生與健康》2023-2024學(xué)年第二學(xué)期期末試卷
- 西昌學(xué)院《新聞與紀實攝影》2023-2024學(xué)年第二學(xué)期期末試卷
- 吉林大學(xué)《紡織物理》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北輕工職業(yè)技術(shù)學(xué)院《虛擬現(xiàn)實開發(fā)與設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津體育職業(yè)學(xué)院《醫(yī)用化學(xué)實驗》2023-2024學(xué)年第二學(xué)期期末試卷
- 北京郵電大學(xué)世紀學(xué)院《蒙臺梭利教育活動設(shè)計與實施》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津體育學(xué)院《服務(wù)營銷》2023-2024學(xué)年第二學(xué)期期末試卷
- Adverb revision(教學(xué)設(shè)計)-2023-2024學(xué)年譯林版(三起)英語六年級下冊
- 2025年中國聯(lián)通上海市分公司招聘130人高頻重點模擬試卷提升(共500題附帶答案詳解)
- 2025年河南質(zhì)量工程職業(yè)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2024-2025學(xué)年第二學(xué)期學(xué)校全面工作計劃
- 2025年中國spa行業(yè)市場全景分析及投資前景展望報告
- GB 45187-2024墜落防護動力升降防墜落裝置
- 2024年青島港灣職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年參考題庫含答案解析
- 《魏書生班主任工作漫談》讀書心得體會課件
- 湖南高速鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試參考試題庫(含答案)
- 中考語文非連續(xù)性文本閱讀10篇專項練習(xí)及答案
- 教育評價學(xué)全套ppt課件完整版教學(xué)教程
- 作文紙(可直接打印)
評論
0/150
提交評論