本發(fā)明涉及計(jì)算機(jī)
技術(shù)領(lǐng)域:
:,特別涉及一種單據(jù)開(kāi)發(fā)方法及裝置、可讀介質(zhì)和存儲(chǔ)控制器。
背景技術(shù):
::隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展與進(jìn)步,出現(xiàn)了各種類型的管理軟件供企業(yè)使用,比如erp(enterpriseresourceplanning,企業(yè)資源計(jì)劃)、bpm(businessprocessmanagement,業(yè)務(wù)流程管理)、crm(customerrelationshipmanagement,客戶關(guān)系管理)等。管理軟件通過(guò)各種類型的單據(jù)記錄相應(yīng)的業(yè)務(wù)數(shù)據(jù),各種類型的單據(jù)由開(kāi)發(fā)人員開(kāi)發(fā)而獲得。目前,開(kāi)發(fā)人員在開(kāi)發(fā)一個(gè)單據(jù)時(shí),手工錄入各種類型的sql(structuredquerylanguage,結(jié)構(gòu)化查詢語(yǔ)言)語(yǔ)句,以在用戶需要時(shí)進(jìn)行表單的創(chuàng)建、查詢、保存和刪除等操作。針對(duì)目前開(kāi)發(fā)單據(jù)的方法,由于一個(gè)單據(jù)被植入管理軟件進(jìn)行使用時(shí),需要大量的sql語(yǔ)句來(lái)完成表單的創(chuàng)建、查詢、保存和刪除等操作,通過(guò)手工錄入sql語(yǔ)句的方式,需要耗費(fèi)開(kāi)發(fā)人員較長(zhǎng)的時(shí)間,導(dǎo)致開(kāi)發(fā)單據(jù)的效率較低。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供了一種單據(jù)開(kāi)發(fā)方法及裝置、可讀介質(zhì)和存儲(chǔ)控制器,能夠提高對(duì)單據(jù)進(jìn)行開(kāi)發(fā)的效率。第一方面,本發(fā)明實(shí)施例提供了一種單據(jù)開(kāi)發(fā)方法,包括:以可視化的方式展示數(shù)據(jù)結(jié)構(gòu)信息錄入界面;獲取待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息,所述數(shù)據(jù)結(jié)構(gòu)信息由開(kāi)發(fā)人員根據(jù)所述數(shù)據(jù)結(jié)構(gòu)信息錄入界面錄入;根據(jù)所述數(shù)據(jù)結(jié)構(gòu)信息生成所述待開(kāi)發(fā)單據(jù)的sql建表語(yǔ)句,所述sql建表語(yǔ)句用于創(chuàng)建所述待開(kāi)發(fā)單據(jù)的表單;根據(jù)所述開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求和所述數(shù)據(jù)結(jié)構(gòu)信息,生成所述待開(kāi)發(fā)單據(jù)的至少一個(gè)sql功能語(yǔ)句,所述至少一個(gè)sql功能語(yǔ)句用于對(duì)所述待開(kāi)發(fā)單據(jù)進(jìn)行功能性操作;將所述sql建表語(yǔ)句和所述至少一個(gè)sql功能語(yǔ)句導(dǎo)出到指定的存儲(chǔ)路徑??蛇x地,在所述獲取待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息之后,進(jìn)一步包括:根據(jù)所述數(shù)據(jù)結(jié)構(gòu)信息,生成所述待開(kāi)發(fā)單據(jù)的單據(jù)界面和數(shù)據(jù)窗口;將所述單據(jù)界面和所述數(shù)據(jù)窗口導(dǎo)出到與所述待開(kāi)發(fā)單據(jù)相對(duì)應(yīng)的開(kāi)發(fā)包中。可選地,所述根據(jù)所述數(shù)據(jù)結(jié)構(gòu)信息生成所述待開(kāi)發(fā)單據(jù)的數(shù)據(jù)窗口,包括:根據(jù)所述數(shù)據(jù)結(jié)構(gòu)信息包括的信息集,生成表頭數(shù)據(jù)窗口和至少一個(gè)表體數(shù)據(jù)窗口,其中,所述信息集用于記錄所述待開(kāi)發(fā)單據(jù)的表名,所述表頭數(shù)據(jù)窗口包括單據(jù)內(nèi)碼特征列和單據(jù)編號(hào)特征列中的部分或全部,每一個(gè)所述表體數(shù)據(jù)窗口包括單據(jù)內(nèi)碼特征列和單據(jù)分錄特征列中的部分或全部??蛇x地,所述根據(jù)所述開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求和所述數(shù)據(jù)結(jié)構(gòu)信息生成所述待開(kāi)發(fā)單據(jù)的至少一個(gè)sql功能語(yǔ)句,包括:根據(jù)所述開(kāi)發(fā)需求獲取預(yù)先創(chuàng)建的至少一個(gè)sql功能語(yǔ)句模板;針對(duì)所述至少一個(gè)sql功能語(yǔ)句模板中的每一個(gè)sql功能語(yǔ)句模板,根據(jù)所述數(shù)據(jù)結(jié)構(gòu)信息,確定所述待開(kāi)發(fā)單據(jù)對(duì)應(yīng)于所述sql功能語(yǔ)句模板的替換參數(shù),通過(guò)所述替換參數(shù)對(duì)所述sql功能語(yǔ)句模板中的默認(rèn)參數(shù)進(jìn)行替換,生成所述待開(kāi)發(fā)單據(jù)的一個(gè)所述sql功能語(yǔ)句。第二方面,本發(fā)明實(shí)施例還提供了一種單據(jù)開(kāi)發(fā)裝置,包括:展示單元、獲取單元、語(yǔ)句生成單元和導(dǎo)出單元;所述展示單元,用于以可視化的方式展示數(shù)據(jù)結(jié)構(gòu)信息錄入界面;所述獲取單元,用于獲取開(kāi)發(fā)人員通過(guò)所述展示單元展示的所述數(shù)據(jù)結(jié)構(gòu)信息錄入界面錄入的數(shù)據(jù)結(jié)構(gòu)信息;所述語(yǔ)句生成單元,用于根據(jù)所述獲取單元獲取到的所述數(shù)據(jù)結(jié)構(gòu)信息,生成所述待開(kāi)發(fā)單據(jù)的sql建表語(yǔ)句,并根據(jù)所述開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求和所述數(shù)據(jù)結(jié)構(gòu)信息,生成所述待開(kāi)發(fā)單據(jù)的至少一個(gè)sql功能語(yǔ)句,其中,所述sql建表語(yǔ)句用于創(chuàng)建所述待開(kāi)發(fā)單據(jù)的表單,所述至少一個(gè)sql功能語(yǔ)句用于對(duì)所述待開(kāi)發(fā)單據(jù)進(jìn)行功能性操作;所述導(dǎo)出單元,用于將所述語(yǔ)句生成單元生成的所述sql建表語(yǔ)句和所述至少一個(gè)sql功能語(yǔ)句導(dǎo)出到指定的存儲(chǔ)路徑??蛇x地,該單據(jù)開(kāi)發(fā)裝置還可以包括:對(duì)象生成單元;所述對(duì)象生成單元,用于根據(jù)所述獲取單元獲取到的所述數(shù)據(jù)結(jié)構(gòu)信息,生成所述待開(kāi)發(fā)單據(jù)的單據(jù)界面和數(shù)據(jù)窗口;所述導(dǎo)出單元,進(jìn)一步用于將所述對(duì)象生成單元生成的所述單據(jù)界面和所述數(shù)據(jù)窗口導(dǎo)出到與所述待開(kāi)發(fā)單據(jù)相對(duì)應(yīng)的開(kāi)發(fā)包中??蛇x地,所述對(duì)象生成單元包括:窗口生成子單元;所述窗口生成子單元,用于根據(jù)所述數(shù)據(jù)結(jié)構(gòu)信息包括的信息集,生成表頭數(shù)據(jù)窗口和至少一個(gè)表體數(shù)據(jù)窗口,其中,所述信息集用于記錄所述待開(kāi)發(fā)單據(jù)的表名,所述表頭數(shù)據(jù)窗口包括單據(jù)內(nèi)碼特征列和單據(jù)編號(hào)特征列中的部分或全部,每一個(gè)所述表體數(shù)據(jù)窗口包括單據(jù)內(nèi)碼特征列和單據(jù)分錄特征列中的部分或全部??蛇x地,所述語(yǔ)句生成單元包括:功能語(yǔ)句生成子單元;所述功能語(yǔ)句生成子單元,用于根據(jù)所述開(kāi)發(fā)需求獲取預(yù)先創(chuàng)建的至少一個(gè)sql功能語(yǔ)句模板,針對(duì)所述至少一個(gè)sql功能語(yǔ)句模板中的每一個(gè)sql功能語(yǔ)句模板,根據(jù)所述數(shù)據(jù)結(jié)構(gòu)信息,確定所述待開(kāi)發(fā)單據(jù)對(duì)應(yīng)于所述sql功能語(yǔ)句模板的替換參數(shù),通過(guò)所述替換參數(shù)對(duì)所述sql功能語(yǔ)句模板中的默認(rèn)參數(shù)進(jìn)行替換,生成所述待開(kāi)發(fā)單據(jù)的一個(gè)所述sql功能語(yǔ)句。第三方面,本發(fā)明實(shí)施例還提供了一種可讀介質(zhì),所述可讀介質(zhì)上存儲(chǔ)有執(zhí)行指令,當(dāng)存儲(chǔ)控制器的處理器執(zhí)行所述執(zhí)行指令時(shí),所述存儲(chǔ)控制器執(zhí)行前述第一方面或第一方面的任一種可能實(shí)現(xiàn)方式提供的任意一種單據(jù)開(kāi)發(fā)方法。第四方面,本發(fā)明實(shí)施例還提供了一種存儲(chǔ)控制器,包括:處理器、存儲(chǔ)器和總線;所述存儲(chǔ)器用于存儲(chǔ)執(zhí)行指令,所述處理器與所述存儲(chǔ)器通過(guò)所述總線連接,當(dāng)所述存儲(chǔ)控制器運(yùn)行時(shí),所述處理器執(zhí)行所述存儲(chǔ)器上存儲(chǔ)的所述執(zhí)行指令,以使所述存儲(chǔ)控制器執(zhí)行前述第一方面或第一方面的任一種可能實(shí)現(xiàn)方式提供的任意一種單據(jù)開(kāi)發(fā)方法。本發(fā)明實(shí)施例提供了一種單據(jù)開(kāi)發(fā)方法及裝置、可讀介質(zhì)和存儲(chǔ)控制器,以可視化的方式向開(kāi)發(fā)人員展示數(shù)據(jù)結(jié)構(gòu)信息錄入界面,開(kāi)發(fā)人員通過(guò)數(shù)據(jù)結(jié)構(gòu)信息錄入界面錄入待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息后,根據(jù)數(shù)據(jù)結(jié)構(gòu)信息生成待開(kāi)發(fā)單據(jù)的sql建表語(yǔ)句,并根據(jù)數(shù)據(jù)結(jié)構(gòu)信息和開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求生成至少一個(gè)sql功能語(yǔ)句,最終將生成的sql建表語(yǔ)句和至少一個(gè)sql功能語(yǔ)句導(dǎo)出到的指定的存儲(chǔ)路徑。由此可見(jiàn),開(kāi)發(fā)人員在開(kāi)發(fā)單據(jù)時(shí),只需要根據(jù)數(shù)據(jù)結(jié)構(gòu)信息錄入界面錄入待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息,便可以獲得待開(kāi)發(fā)單據(jù)的sql建表語(yǔ)句和各個(gè)sql功能語(yǔ)句,相對(duì)于通過(guò)手工錄入的方式獲得各類sql語(yǔ)句,節(jié)省了獲得sql語(yǔ)句的時(shí)間,從而提高了對(duì)單據(jù)進(jìn)行開(kāi)發(fā)的效率。附圖說(shuō)明為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明一個(gè)實(shí)施例提供的一種單據(jù)開(kāi)發(fā)方法的流程圖;圖2是本發(fā)明一個(gè)實(shí)施例提供的另一種單據(jù)開(kāi)發(fā)方法的流程圖;圖3是本發(fā)明一個(gè)實(shí)施例提供的一種單據(jù)開(kāi)發(fā)裝置所在設(shè)備的示意圖;圖4是本發(fā)明一個(gè)實(shí)施例提供的一種單據(jù)開(kāi)發(fā)裝置的示意圖;圖5是本發(fā)明一個(gè)實(shí)施例提供的另一種單據(jù)開(kāi)發(fā)裝置的示意圖;圖6是本發(fā)明一個(gè)實(shí)施例提供的又一種單據(jù)開(kāi)發(fā)裝置的示意圖;圖7是本發(fā)明一個(gè)實(shí)施例提供的再一種單據(jù)開(kāi)發(fā)裝置的示意圖。具體實(shí)施方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。如圖1所示,本發(fā)明實(shí)施例提供了一種單據(jù)開(kāi)發(fā)方法,該方法可以包括以下步驟:步驟101:以可視化的方式展示數(shù)據(jù)結(jié)構(gòu)信息錄入界面;步驟102:獲取待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息,所述數(shù)據(jù)結(jié)構(gòu)信息由開(kāi)發(fā)人員根據(jù)所述數(shù)據(jù)結(jié)構(gòu)信息錄入界面錄入;步驟103:根據(jù)所述數(shù)據(jù)結(jié)構(gòu)信息生成所述待開(kāi)發(fā)單據(jù)的sql建表語(yǔ)句,所述sql建表語(yǔ)句用于創(chuàng)建所述待開(kāi)發(fā)單據(jù)的表單;步驟104:根據(jù)所述開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求和所述數(shù)據(jù)結(jié)構(gòu)信息,生成所述待開(kāi)發(fā)單據(jù)的至少一個(gè)sql功能語(yǔ)句,所述至少一個(gè)sql功能語(yǔ)句用于對(duì)所述待開(kāi)發(fā)單據(jù)進(jìn)行功能性操作;步驟105:將所述sql建表語(yǔ)句和所述至少一個(gè)sql功能語(yǔ)句導(dǎo)出到指定的存儲(chǔ)路徑。本發(fā)明實(shí)施例提供了一種單據(jù)開(kāi)發(fā)方法,以可視化的方式向開(kāi)發(fā)人員展示數(shù)據(jù)結(jié)構(gòu)信息錄入界面,開(kāi)發(fā)人員通過(guò)數(shù)據(jù)結(jié)構(gòu)信息錄入界面錄入待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息后,根據(jù)數(shù)據(jù)結(jié)構(gòu)信息生成待開(kāi)發(fā)單據(jù)的sql建表語(yǔ)句,并根據(jù)數(shù)據(jù)結(jié)構(gòu)信息和開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求生成至少一個(gè)sql功能語(yǔ)句,最終將生成的sql建表語(yǔ)句和至少一個(gè)sql功能語(yǔ)句導(dǎo)出到的指定的存儲(chǔ)路徑。由此可見(jiàn),開(kāi)發(fā)人員在開(kāi)發(fā)單據(jù)時(shí),只需要根據(jù)數(shù)據(jù)結(jié)構(gòu)信息錄入界面錄入待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息,便可以獲得待開(kāi)發(fā)單據(jù)的sql建表語(yǔ)句和各個(gè)sql功能語(yǔ)句,相對(duì)于通過(guò)手工錄入的方式獲得各類sql語(yǔ)句,節(jié)省了獲得sql語(yǔ)句的時(shí)間,從而提高了對(duì)單據(jù)進(jìn)行開(kāi)發(fā)的效率??蛇x地,在步驟102中獲得待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息之后,還可以根據(jù)獲取到的數(shù)據(jù)結(jié)構(gòu)信息,生成待開(kāi)發(fā)單據(jù)的單據(jù)界面和數(shù)據(jù)窗口,并將生成的單據(jù)界面和數(shù)據(jù)窗口導(dǎo)出到與待開(kāi)發(fā)單據(jù)相對(duì)應(yīng)的開(kāi)發(fā)包中。在將開(kāi)發(fā)人員開(kāi)發(fā)的單據(jù)植入管理軟件進(jìn)行使用時(shí),除了需要單據(jù)的各類sql語(yǔ)句外,還需要單據(jù)的單據(jù)界面和數(shù)據(jù)窗口,即單據(jù)的用戶界面(ui),管理軟件調(diào)用sql建表語(yǔ)句獲取數(shù)據(jù),并將獲取到的數(shù)據(jù)填充到單據(jù)界面和數(shù)據(jù)窗口中,完成單據(jù)的創(chuàng)建。根據(jù)待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息,直接生成待開(kāi)發(fā)單據(jù)的單據(jù)界面和數(shù)據(jù)窗口,并將生成的單據(jù)界面和數(shù)據(jù)窗口導(dǎo)出到相應(yīng)的開(kāi)發(fā)包中,相對(duì)目前開(kāi)發(fā)單據(jù)過(guò)程中通過(guò)手工建立單據(jù)界面和數(shù)據(jù)窗口的方法,減輕了開(kāi)發(fā)人員的勞動(dòng)強(qiáng)度,并可以進(jìn)一步提高對(duì)單據(jù)進(jìn)行開(kāi)發(fā)的效率??蛇x地,數(shù)據(jù)結(jié)構(gòu)信息中包括信息集,信息集用于記錄待開(kāi)發(fā)單據(jù)的表名,具體可以用于記錄表的唯一編號(hào)、業(yè)務(wù)單據(jù)邏輯表名和數(shù)據(jù)結(jié)構(gòu)表名。在根據(jù)數(shù)據(jù)結(jié)構(gòu)信息生成開(kāi)發(fā)單據(jù)的數(shù)據(jù)窗口時(shí),可以根據(jù)數(shù)據(jù)結(jié)構(gòu)信息包括的信息集,生成表頭數(shù)據(jù)窗口和至少一個(gè)表體數(shù)據(jù)窗口。其中,表頭數(shù)據(jù)窗口包括單據(jù)內(nèi)碼特征列和單據(jù)編號(hào)特征列中的部分或全部,每一個(gè)表體數(shù)據(jù)窗口包括單據(jù)內(nèi)碼特征列和單據(jù)分錄特征列中的部分或全部。數(shù)據(jù)結(jié)構(gòu)信息包括的信息集記錄了待開(kāi)發(fā)單據(jù)的表名,表名反應(yīng)了待開(kāi)發(fā)單據(jù)的表頭信息和表體信息,根據(jù)信息集記錄的信息,自動(dòng)創(chuàng)建待開(kāi)發(fā)單據(jù)的表頭數(shù)據(jù)窗口和各個(gè)表體數(shù)據(jù)窗口。管理軟件在形成單據(jù)時(shí),將表頭數(shù)據(jù)窗口和各個(gè)表體數(shù)據(jù)窗口相組合,形成單據(jù)的數(shù)據(jù)窗口。由于無(wú)需通過(guò)手工的方式創(chuàng)建單據(jù)的表頭數(shù)據(jù)窗口和表體數(shù)據(jù)窗口,減輕了開(kāi)發(fā)人員開(kāi)發(fā)單據(jù)過(guò)程中的勞動(dòng)強(qiáng)度??蛇x地,在步驟104中生成待開(kāi)發(fā)單據(jù)的sql功能語(yǔ)句時(shí),接收開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求,根據(jù)開(kāi)發(fā)需求確定待開(kāi)發(fā)單據(jù)所需的至少一個(gè)功能,根據(jù)確定的每一個(gè)功能獲取相對(duì)應(yīng)的sql功能語(yǔ)句模板。針對(duì)獲取到的每一個(gè)sql功能語(yǔ)句模板,通過(guò)對(duì)待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息進(jìn)行解析,確定待開(kāi)發(fā)單據(jù)對(duì)應(yīng)于該sql功能語(yǔ)句模板的替換參數(shù),通過(guò)確定出的替換參數(shù)對(duì)該sql功能語(yǔ)句中相應(yīng)的默認(rèn)參數(shù)進(jìn)行替換后,形成待開(kāi)發(fā)單據(jù)的一個(gè)sql功能語(yǔ)句。比如,根據(jù)開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求,待開(kāi)發(fā)單據(jù)需要條件查詢功能和打印功能,分別獲取條件查詢功能和打印功能對(duì)應(yīng)的sql查詢條件語(yǔ)句模板和sql打印項(xiàng)語(yǔ)句模板。根據(jù)待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息,確定待開(kāi)發(fā)單據(jù)對(duì)應(yīng)sql查詢條件語(yǔ)句模板的第一替換參數(shù)和對(duì)應(yīng)sql打印項(xiàng)語(yǔ)句模板的第二替換參數(shù)。通過(guò)第一替換參數(shù)對(duì)sql查詢條件語(yǔ)句模板中的默認(rèn)參數(shù)進(jìn)行替換,形成待開(kāi)發(fā)單據(jù)的sql查詢條件語(yǔ)句;通過(guò)第二替換參數(shù)對(duì)sql打印項(xiàng)語(yǔ)句模板中的默認(rèn)參數(shù)進(jìn)行替換,形成待開(kāi)發(fā)單據(jù)的sql打印項(xiàng)數(shù)據(jù)。預(yù)先創(chuàng)建可以對(duì)單據(jù)進(jìn)行各種操作的sql功能語(yǔ)句模板,在開(kāi)發(fā)單據(jù)時(shí),根據(jù)開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求選擇相應(yīng)的sql功能語(yǔ)句模板,通過(guò)待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息確定相應(yīng)的替換參數(shù),將所選擇sql功能語(yǔ)句模板中的默認(rèn)參數(shù)替換為確定的替換參數(shù)后,形成sql功能語(yǔ)句模板,將所形成的sql功能語(yǔ)句模板一同導(dǎo)出到指定的存儲(chǔ)路徑。這樣,在開(kāi)發(fā)單據(jù)時(shí),不僅能夠自動(dòng)形成待開(kāi)發(fā)單據(jù)的sql建表語(yǔ)句,還能夠自動(dòng)形成待開(kāi)發(fā)單據(jù)的各種sql功能語(yǔ)句,節(jié)省手工書(shū)寫(xiě)sql功能語(yǔ)句的時(shí)間,進(jìn)一步提高了對(duì)單據(jù)進(jìn)行開(kāi)發(fā)的效率。下面結(jié)合具體例子,對(duì)本發(fā)明實(shí)施例提供的單據(jù)開(kāi)發(fā)方法作進(jìn)一步詳細(xì)說(shuō)明,如圖2所示,該方法可以包括以下步驟:步驟201:向開(kāi)發(fā)人員展示數(shù)據(jù)結(jié)構(gòu)信息錄入界面。在本發(fā)明一個(gè)實(shí)施例中,在開(kāi)發(fā)人員需要開(kāi)發(fā)一個(gè)單據(jù)時(shí),以可視化的形式向開(kāi)發(fā)人員展示數(shù)據(jù)結(jié)構(gòu)信息錄入界面,提供錄入模板,供開(kāi)發(fā)人員根據(jù)錄入模板錄入待開(kāi)發(fā)單據(jù)的數(shù)據(jù)解結(jié)構(gòu)信息。步驟202:獲取開(kāi)發(fā)人員錄入的數(shù)據(jù)結(jié)構(gòu)信息。在本發(fā)明一個(gè)實(shí)施例中,開(kāi)發(fā)人員通過(guò)數(shù)據(jù)結(jié)構(gòu)信息錄入界面進(jìn)行元數(shù)據(jù)錄入,維護(hù)信息項(xiàng)表和信息集表,用來(lái)記錄待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息,最終獲取到包括信息項(xiàng)表和信息集表的數(shù)據(jù)結(jié)構(gòu)信息。其中,信息集表用于記錄單據(jù)表名,信息項(xiàng)表用于記錄單據(jù)的數(shù)據(jù)列。例如,開(kāi)發(fā)人員通過(guò)可視化界面維護(hù)如下表1,獲得待開(kāi)發(fā)單據(jù)的信息集表,并通過(guò)可視化界面維護(hù)如下表2,獲得待開(kāi)發(fā)單據(jù)的信息項(xiàng)表,其中,表1表2步驟203:根據(jù)數(shù)據(jù)結(jié)構(gòu)信息生成待開(kāi)發(fā)單據(jù)的單據(jù)界面和數(shù)據(jù)窗口。在本發(fā)明一個(gè)實(shí)施例中,在獲取到開(kāi)發(fā)人員定義的數(shù)據(jù)結(jié)構(gòu)信息后,通過(guò)對(duì)數(shù)據(jù)結(jié)構(gòu)信息進(jìn)行解析,確定待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu),根據(jù)待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu),生成待開(kāi)發(fā)單據(jù)的單據(jù)界面和數(shù)據(jù)窗口。例如,通過(guò)表單定義,引入獲取到的信息集,依據(jù)規(guī)則生成單據(jù)界面和數(shù)據(jù)窗口,具體包括:u_psp_dj單據(jù)對(duì)象,該對(duì)象中包含待開(kāi)發(fā)單據(jù)的數(shù)據(jù)窗口信息、保存方法和刪除方法;dw_master_1表頭數(shù)據(jù)窗口,該對(duì)象根據(jù)信息集內(nèi)容自動(dòng)創(chuàng)建,具有單據(jù)內(nèi)碼djnm,單據(jù)編號(hào)djbh特征列,并且格式化界面格式;dw_detail_n表體數(shù)據(jù)窗口,該對(duì)象根據(jù)信息集自動(dòng)創(chuàng)建,具體單據(jù)內(nèi)碼djnm,單據(jù)分錄djfl特征列,并且格式化界面格式,其中,dw_detail_n代表第n個(gè)表體數(shù)據(jù)窗口。步驟204:將生成的單據(jù)界面和數(shù)據(jù)窗口導(dǎo)出到與待開(kāi)發(fā)單據(jù)相對(duì)應(yīng)的開(kāi)發(fā)包中。在本發(fā)明一個(gè)實(shí)施例中,在生成待開(kāi)發(fā)單據(jù)的單據(jù)界面和數(shù)據(jù)窗口后,創(chuàng)建與待開(kāi)發(fā)單據(jù)相對(duì)應(yīng)的開(kāi)發(fā)包,并將生成的單據(jù)界面和數(shù)據(jù)窗口導(dǎo)入到所創(chuàng)建的開(kāi)發(fā)包中。開(kāi)發(fā)包會(huì)植入用戶的管理軟件,在管理軟件創(chuàng)建單據(jù)時(shí)作為用戶界面被調(diào)用。例如,通過(guò)以下函數(shù)創(chuàng)建待開(kāi)發(fā)單據(jù)的開(kāi)發(fā)包,用于保存導(dǎo)出的單據(jù)對(duì)象和數(shù)據(jù)窗口:of_librarycreate():stringls_err,ls_synifnotfileexists(is_directoryscan+"\"+is_filepbl)thenlibrarycreate(is_directoryscan+"\"+is_filepbl)endif;通過(guò)以下函數(shù)生成數(shù)據(jù)窗口語(yǔ)法并導(dǎo)出:of_datawindowexp():ls_syn=sqlca.syntaxfromsql(ls_sql,"style(type=grid)",ls_err)ln_ds.create(ls_syn,ls_err)gf_set_dw_look(ln_ds,'f',2)//格式化數(shù)據(jù)窗口ls_syntax=ln_ds.describe('datawindow.syntax')libraryimport(is_path+'\'+is_gnbh+'.pbl',as_objectname,importdatawindow!,ls_syntax,ls_error);通過(guò)以下函數(shù)生成單據(jù)對(duì)象并導(dǎo)出:of_userobjectsexp():stringis_scanpbl//導(dǎo)出路徑stringis_objectname//導(dǎo)出對(duì)象名稱ls_syntax=libraryexport(is_scanpbl,is_objectname,exportuserobject!)lb_syntax=blob(ls_syntax,encodingutf8!)filewrite(‘c:\uo_psp_dj.sru’,lb_syntax)。步驟205:根據(jù)數(shù)據(jù)結(jié)構(gòu)信息生成sql建表語(yǔ)句和sql功能語(yǔ)句。在本發(fā)明一個(gè)實(shí)施例中,將獲取到的數(shù)據(jù)結(jié)構(gòu)信息中定義的信息項(xiàng)歸集并生成標(biāo)準(zhǔn)的sql建表語(yǔ)句,同時(shí)根據(jù)開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求,定義可導(dǎo)出的其他sql功能語(yǔ)句,比如查詢條件語(yǔ)句、打印項(xiàng)語(yǔ)句等。步驟206:將生成的sql建表語(yǔ)句和sql功能語(yǔ)句導(dǎo)出到指定的存儲(chǔ)路徑。在本發(fā)明一個(gè)實(shí)施例中,在生成待開(kāi)發(fā)單據(jù)的sql建表語(yǔ)句和sql功能語(yǔ)句后,將所生成的sql建表語(yǔ)句和sql功能語(yǔ)句導(dǎo)出到指定的存儲(chǔ)路徑進(jìn)行存儲(chǔ),以備導(dǎo)入用戶的管理軟件中,結(jié)合步驟204形成的開(kāi)發(fā)包,在管理軟件中創(chuàng)建待開(kāi)發(fā)單據(jù)。例如,通過(guò)如下函數(shù)將建表語(yǔ)句導(dǎo)出:of_sqlexport():vssql="createtable"+psname+""+pssql//元數(shù)據(jù)定義并解析的建表語(yǔ)句vssql+="create"+psunique+"index"+vstemp+"on"+psname+"("+psindex+")"http://元數(shù)據(jù)定義并解析的表索引filewrite(‘c:\xxx.sql’,vssql)。如圖3、圖4所示,本發(fā)明實(shí)施例提供了一種單據(jù)開(kāi)發(fā)裝置。裝置實(shí)施例可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。從硬件層面而言,如圖3所示,為本發(fā)明實(shí)施例提供的單據(jù)開(kāi)發(fā)裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片等等。以軟件實(shí)現(xiàn)為例,如圖4所示,作為一個(gè)邏輯意義上的裝置,是通過(guò)其所在設(shè)備的cpu將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。本實(shí)施例提供的單據(jù)開(kāi)發(fā)裝置,包括:展示單元401、獲取單元402、語(yǔ)句生成單元403和導(dǎo)出單元404;所述展示單元401,用于以可視化的方式展示數(shù)據(jù)結(jié)構(gòu)信息錄入界面;所述獲取單元402,用于獲取開(kāi)發(fā)人員通過(guò)所述展示單元401展示的所述數(shù)據(jù)結(jié)構(gòu)信息錄入界面錄入的數(shù)據(jù)結(jié)構(gòu)信息;所述語(yǔ)句生成單元403,用于根據(jù)所述獲取單元402獲取到的所述數(shù)據(jù)結(jié)構(gòu)信息,生成所述待開(kāi)發(fā)單據(jù)的sql建表語(yǔ)句,并根據(jù)所述開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求和所述數(shù)據(jù)結(jié)構(gòu)信息,生成所述待開(kāi)發(fā)單據(jù)的至少一個(gè)sql功能語(yǔ)句,其中,所述sql建表語(yǔ)句用于創(chuàng)建所述待開(kāi)發(fā)單據(jù)的表單,所述至少一個(gè)sql功能語(yǔ)句用于對(duì)所述待開(kāi)發(fā)單據(jù)進(jìn)行功能性操作;所述導(dǎo)出單元404,用于將所述語(yǔ)句生成單元403生成的所述sql建表語(yǔ)句和所述至少一個(gè)sql功能語(yǔ)句導(dǎo)出到指定的存儲(chǔ)路徑。可選地,如圖5所示,該單據(jù)開(kāi)發(fā)裝置還可以包括:對(duì)象生成單元505;所述對(duì)象生成單元505,用于根據(jù)所述獲取單元402獲取到的所述數(shù)據(jù)結(jié)構(gòu)信息,生成所述待開(kāi)發(fā)單據(jù)的單據(jù)界面和數(shù)據(jù)窗口;所述導(dǎo)出單元404,進(jìn)一步用于將所述對(duì)象生成單元505生成的所述單據(jù)界面和所述數(shù)據(jù)窗口導(dǎo)出到與所述待開(kāi)發(fā)單據(jù)相對(duì)應(yīng)的開(kāi)發(fā)包中??蛇x地,如圖6所示,對(duì)象生成單元505包括:窗口生成子單元5051;所述窗口生成子單元5051,用于根據(jù)所述數(shù)據(jù)結(jié)構(gòu)信息包括的信息集,生成表頭數(shù)據(jù)窗口和至少一個(gè)表體數(shù)據(jù)窗口,其中,所述信息集用于記錄所述待開(kāi)發(fā)單據(jù)的表名,所述表頭數(shù)據(jù)窗口包括單據(jù)內(nèi)碼特征列和單據(jù)編號(hào)特征列中的部分或全部,每一個(gè)所述表體數(shù)據(jù)窗口包括單據(jù)內(nèi)碼特征列和單據(jù)分錄特征列中的部分或全部??蛇x地,如圖7所示,語(yǔ)句生成單元403包括:功能語(yǔ)句生成子單元4031;功能語(yǔ)句生成子單元4031,用于根據(jù)所述開(kāi)發(fā)需求獲取預(yù)先創(chuàng)建的至少一個(gè)sql功能語(yǔ)句模板,針對(duì)所述至少一個(gè)sql功能語(yǔ)句模板中的每一個(gè)sql功能語(yǔ)句模板,根據(jù)所述數(shù)據(jù)結(jié)構(gòu)信息,確定所述待開(kāi)發(fā)單據(jù)對(duì)應(yīng)于所述sql功能語(yǔ)句模板的替換參數(shù),通過(guò)所述替換參數(shù)對(duì)所述sql功能語(yǔ)句模板中的默認(rèn)參數(shù)進(jìn)行替換,生成所述待開(kāi)發(fā)單據(jù)的一個(gè)所述sql功能語(yǔ)句。上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過(guò)程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見(jiàn)本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。本發(fā)明實(shí)施例還提供了一種可讀介質(zhì),所述可讀介質(zhì)上存儲(chǔ)有執(zhí)行指令,當(dāng)存儲(chǔ)控制器的處理器執(zhí)行所述執(zhí)行指令時(shí),所述存儲(chǔ)控制器執(zhí)行前述任一實(shí)施例提供的單據(jù)開(kāi)發(fā)方法。本發(fā)明實(shí)施例還提供了一種存儲(chǔ)控制器,包括:處理器、存儲(chǔ)器和總線;所述存儲(chǔ)器用于存儲(chǔ)執(zhí)行指令,所述處理器與所述存儲(chǔ)器通過(guò)所述總線連接,當(dāng)所述存儲(chǔ)控制器運(yùn)行時(shí),所述處理器執(zhí)行所述存儲(chǔ)器上存儲(chǔ)的所述執(zhí)行指令,以使所述存儲(chǔ)控制器執(zhí)行前述任一實(shí)施例提供的單據(jù)開(kāi)發(fā)方法。本發(fā)明各個(gè)實(shí)施例提供的單據(jù)開(kāi)發(fā)方法及裝置,至少具有如下有益效果:1、在本發(fā)明實(shí)施例中,以可視化的方式向開(kāi)發(fā)人員展示數(shù)據(jù)結(jié)構(gòu)信息錄入界面,開(kāi)發(fā)人員通過(guò)數(shù)據(jù)結(jié)構(gòu)信息錄入界面錄入待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息后,根據(jù)數(shù)據(jù)結(jié)構(gòu)信息生成待開(kāi)發(fā)單據(jù)的sql建表語(yǔ)句,并根據(jù)數(shù)據(jù)結(jié)構(gòu)信息和開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求生成至少一個(gè)sql功能語(yǔ)句,最終將生成的sql建表語(yǔ)句和至少一個(gè)sql功能語(yǔ)句導(dǎo)出到的指定的存儲(chǔ)路徑。由此可見(jiàn),開(kāi)發(fā)人員在開(kāi)發(fā)單據(jù)時(shí),只需要根據(jù)數(shù)據(jù)結(jié)構(gòu)信息錄入界面錄入待開(kāi)發(fā)單據(jù)的數(shù)據(jù)結(jié)構(gòu)信息,便可以獲得待開(kāi)發(fā)單據(jù)的sql建表語(yǔ)句和各個(gè)sql功能語(yǔ)句,相對(duì)于通過(guò)手工錄入的方式獲得各類sql語(yǔ)句,節(jié)省了獲得sql語(yǔ)句的時(shí)間,從而提高了對(duì)單據(jù)進(jìn)行開(kāi)發(fā)的效率。2、在本發(fā)明實(shí)施例中,根據(jù)開(kāi)發(fā)人員錄入的數(shù)據(jù)結(jié)構(gòu)信息,生成待開(kāi)發(fā)單據(jù)的單據(jù)界面和數(shù)據(jù)窗口,而單據(jù)界面和數(shù)據(jù)窗口是管理軟件創(chuàng)建單據(jù)時(shí)需要使用的用戶界面模板。在現(xiàn)有單據(jù)開(kāi)發(fā)方法中,單據(jù)界面和數(shù)據(jù)窗口由開(kāi)發(fā)人員手工繪制,通過(guò)數(shù)據(jù)結(jié)構(gòu)信息自動(dòng)生成待開(kāi)發(fā)單據(jù)的單據(jù)界面和數(shù)據(jù)窗口并進(jìn)行導(dǎo)出,降低了開(kāi)發(fā)人員在單據(jù)開(kāi)發(fā)過(guò)程中的勞動(dòng)強(qiáng)度。3、在本發(fā)明實(shí)施例中,根據(jù)開(kāi)發(fā)人員錄入的數(shù)據(jù)結(jié)構(gòu)信息,自動(dòng)生成sql建表語(yǔ)句和各種sql功能語(yǔ)句,相對(duì)于由開(kāi)發(fā)人員手動(dòng)書(shū)寫(xiě)sql語(yǔ)句的方式,一方面,降低了開(kāi)發(fā)人員的勞動(dòng)強(qiáng)度,提升了單據(jù)開(kāi)發(fā)的效率,另一方面,相對(duì)手動(dòng)書(shū)寫(xiě)sql語(yǔ)句減少了sql語(yǔ)句中的錯(cuò)誤,提升了所開(kāi)發(fā)單據(jù)的質(zhì)量,保證管理軟件能夠正常生成單據(jù)。4、在本發(fā)明實(shí)施例中,除了能夠根據(jù)開(kāi)發(fā)人員錄入的數(shù)據(jù)結(jié)構(gòu)信息生成sql建表語(yǔ)句外,還能夠根據(jù)開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求,結(jié)合數(shù)據(jù)結(jié)構(gòu)信息生成各種類型的sql功能語(yǔ)句,以實(shí)現(xiàn)對(duì)待開(kāi)發(fā)單據(jù)的各種操作。一方面,由于各種類型sql功能語(yǔ)句無(wú)需手工書(shū)寫(xiě),減少了開(kāi)發(fā)人員開(kāi)發(fā)單據(jù)過(guò)程中的重復(fù)勞動(dòng),降低了單據(jù)開(kāi)發(fā)的勞動(dòng)強(qiáng)度。另一方面,能夠根據(jù)開(kāi)發(fā)人員輸入的開(kāi)發(fā)需求,生成各種類型的sql功能語(yǔ)句,滿足不同用戶的需求,提升了該單據(jù)開(kāi)發(fā)方法的適用性。需要說(shuō)明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)〃·····”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同因素。本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)中。最后需要說(shuō)明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說(shuō)明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12