本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,具體地說是一種通過腳本實現(xiàn)表單分錄控制輔助動態(tài)顯示的方法。
背景技術(shù):
在程序功能的設(shè)計中,避免不了的就是數(shù)據(jù)冗余問題,因為數(shù)據(jù)信息過多會導致部分信息重復出現(xiàn),同時讓使用者對哪些項是必須的哪些項是非必須的產(chǎn)生疑惑,比如以往的通用業(yè)務(wù)單明細表包含分錄和輔助信息,導致分錄信息會重復,輔助信息太多,產(chǎn)生了哪些項必填的不確定性。
基于此,本發(fā)明提出一種通過腳本實現(xiàn)表單分錄控制輔助動態(tài)顯示的方法,可以解決分錄信息冗余以及通過動態(tài)展示輔助信息來消除使用者的疑惑。
技術(shù)實現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是針對以上不足之處,提供一種通過腳本實現(xiàn)表單分錄控制輔助動態(tài)顯示的方法。
一種通過腳本實現(xiàn)表單分錄控制輔助動態(tài)顯示的方法,其實現(xiàn)過程為:通過腳本獲取到分錄的科目編號,根據(jù)科目編號獲取到對應(yīng)的科目核算關(guān)系,取出需要的核算輔助名稱來進行動態(tài)展示,并通過根據(jù)當前分錄行的切換來動態(tài)隱藏和展示對應(yīng)輔助信息。
其具體實現(xiàn)過程為:
一、首先配置核算關(guān)系表,用于查詢科目核算關(guān)系;通用業(yè)務(wù)表,存儲主表的基礎(chǔ)數(shù)據(jù);通用業(yè)務(wù)分錄表,存儲分錄的數(shù)據(jù);通用業(yè)務(wù)輔助表,存儲輔助數(shù)據(jù);
二、然后設(shè)計腳本,當用戶錄入選擇科目的參數(shù)時,該腳本根據(jù)所選科目,從核算關(guān)系表中查詢出核算科目名稱,然后賦值給輔助信息,并進行動態(tài)展示。
所述配置核算關(guān)系表、通用業(yè)務(wù)表、通用業(yè)務(wù)分錄表、通用業(yè)務(wù)輔助表以及設(shè)計的腳本均在服務(wù)端安裝設(shè)計,用戶在客戶端錄入選擇科目的信息后,服務(wù)端自動調(diào)用腳本,獲取到客戶端錄入的科目編號,獲取到對應(yīng)的科目核算關(guān)系,篩選出需要展示的科目核算項目名稱,展示在輔助列表中。
本發(fā)明的一種通過腳本實現(xiàn)表單分錄控制輔助動態(tài)顯示的方法和現(xiàn)有技術(shù)相比,具有以下有益效果:
本發(fā)明的一種通過腳本實現(xiàn)表單分錄控制輔助動態(tài)顯示的方法,整體上減少了填報人錄入輔助信息時的不確定性,使單據(jù)信息更加完善和清晰,有效的降低了單據(jù)的退單率,通過腳本控制避免錄入非必需數(shù)據(jù),以提高程序運行速度和使用者工作效率,實用性強,適用范圍廣泛,具有很好的推廣應(yīng)用價值。
附圖說明
附圖1為本發(fā)明的實現(xiàn)示意圖。
具體實施方式
下面結(jié)合附圖及具體實施例對本發(fā)明作進一步說明。
如圖1所示,一種通過腳本實現(xiàn)表單分錄控制輔助動態(tài)顯示的方法,解決了分錄信息冗余和錄入分錄對應(yīng)的輔助信息時的不確定性問題,其實現(xiàn)過程為:通過腳本獲取到分錄的科目編號,根據(jù)科目編號獲取到對應(yīng)的科目核算關(guān)系,取出需要的核算輔助名稱來進行動態(tài)展示,并通過根據(jù)當前分錄行的切換來動態(tài)隱藏和展示對應(yīng)輔助信息。
其具體實現(xiàn)過程為:
一、首先配置核算關(guān)系表zwhsgx$FISCALYEAR$,用于查詢科目核算關(guān)系;通用業(yè)務(wù)表BZZXTYYW,存儲主表的基礎(chǔ)數(shù)據(jù);通用業(yè)務(wù)分錄表BZZXTYYWFL,存儲分錄的數(shù)據(jù);通用業(yè)務(wù)輔助表BZZXTYYWFZ,存儲輔助數(shù)據(jù);
二、然后設(shè)計腳本,當用戶錄入選擇科目的參數(shù)時,該腳本根據(jù)所選科目,從核算關(guān)系表中查詢出核算科目名稱,然后賦值給輔助信息,并進行動態(tài)展示。
所述配置核算關(guān)系表、通用業(yè)務(wù)表、通用業(yè)務(wù)分錄表、通用業(yè)務(wù)輔助表以及設(shè)計的腳本均在服務(wù)端安裝設(shè)計,用戶在客戶端錄入選擇科目的信息后,服務(wù)端自動調(diào)用腳本,獲取到客戶端錄入的科目編號,獲取到對應(yīng)的科目核算關(guān)系,篩選出需要展示的科目核算項目名稱,展示在輔助列表中。
通過腳本獲取到分錄的科目編號,根據(jù)科目編號獲取到對應(yīng)的科目核算關(guān)系,取出需要的核算輔助名稱來進行動態(tài)展示。并通過根據(jù)當前分錄行的切換來動態(tài)隱藏和展示對應(yīng)輔助信息。
如上所述,zwhsgx$FISCALYEAR$用于查詢科目核算關(guān)系信息(只需查zwhsgx_bmhs,zwhsgx_bmhs,zwhsgx_grhs,zwhsgx_cphs,zwhsgx_hswb,zwhsgx_wbbh,zwhsgx_zxhs,$FISCALYEAR$代表當前年份)。
BZZXTYYW、BZZXTYYWFL、BZZXTYYWFZ分別存儲主表、分錄、輔助的信息。
預制好所需的數(shù)據(jù)表后,在制單界面,分錄科目編號選擇科目后,輔助會自動顯示該科目對應(yīng)的核算科目名稱,并新增一行。
例如:以通用業(yè)務(wù)單為例,進入制單界面。
當分錄新增后選擇科目編號后,腳本會根據(jù)所選科目,從zwhsgx$FISCALYEAR$查詢出核算科目名稱,然后賦值給輔助進行展示。
//實現(xiàn)代碼
function fzGridColumn(kmbh) {
var fzinfo = '';//用于科目對應(yīng)的核算項目信息,保存判斷時候使用
if (typeof kmbh != 'undefined') {
var dwbh = $("#TYYW_DWBH").val();
var lbdtLBID = DealAjax.getJsonDataTable('BZZX', 'zwhsgx$FISCALYEAR$', 'zwhsgx_bmhs,zwhsgx_dwhs,zwhsgx_grhs,zwhsgx_cphs,zwhsgx_hswb,zwhsgx_wbbh,zwhsgx_zxhs', " AND zwhsgx_dwbh='" + dwbh + "' and zwhsgx_kmbh='" + kmbh + "'");//根據(jù)單位編號和科目編號獲取核算關(guān)系
var ifdwhs = lbdtLBID.Rows[0].ZWHSGX_DWHS;//是否單位核算
var ifbmhs = lbdtLBID.Rows[0].ZWHSGX_BMHS;//是否部門核算
var ifgrhs = lbdtLBID.Rows[0].ZWHSGX_GRHS;//是否個人核算
var ifcphs = lbdtLBID.Rows[0].ZWHSGX_CPHS;//是否產(chǎn)品核算
var ifwbhs = lbdtLBID.Rows[0].ZWHSGX_HSWB;//是否外幣核算
var ifwbbh = lbdtLBID.Rows[0].ZWHSGX_WBBH;//是否外幣核算
//根據(jù)核算關(guān)系決定是否顯示相關(guān)的輔助核算
if (ifdwhs == 1) {//顯示往來單位核算
gridfzcontrl.toggleCol('YWFZ_DWMC', true);//處理列信息
fzinfo += 'dw,'
}
if (ifbmhs == 1) {//顯示部門核算
gridfzcontrl.toggleCol('YWFZ_BMMC', true); //處理列信息
fzinfo += 'bm,'
}
if (ifgrhs == 1) {//顯示個人核算
gridfzcontrl.toggleCol('YWFZ_ZGXM', true); //處理列信息
fzinfo += 'zg,'
}
if (ifcphs == 1) {//顯示產(chǎn)品核算
gridfzcontrl.toggleCol('YWFZ_CPMC', true); //處理列信息
fzinfo += 'cp,'
}
gridfzcontrl.toggleCol('YWFZ_BBJE', true);
//專項核算類別數(shù)組,控制專項列顯示
var hslb = lbdtLBID.Rows[0].ZWHSGX_ZXHS.trim().split(",");
for (var nn = 0 ; nn < hslb.length; nn++) {
for (var kk = 0; kk < lbdt.Rows.length; kk++) {
var onelb = lbdt.Rows[kk];//將專項核算類別和核算關(guān)系進行對比
if (onelb.LSXMLB_LBBH == hslb[nn]) {//如果需要核算,處理列信息進行展示
gridfzcontrl.toggleCol('YWFZ_HSXM' + onelb.ROWN, true);//將需要的核算專項進行顯示
gridfzcontrl.changeHeaderText('YWFZ_HSXM' + onelb.ROWN, onelb.LSXMLB_LBMC);//將需要核算的專項 專項名稱動態(tài)的給列名賦值
fzinfo += onelb.ROWN + ','//將行編號賦值給輔助信息
break;
}
}
}
if (fzinfo != '') {
return fzinfo.slice(0, -1);//返回遍歷的每一條輔助信息
} else {
return fzinfo; //返回輔助信息
}
} else {
return fzinfo;//返回需要處理的所有專項核算信息
}
}。
通過上面具體實施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實現(xiàn)本發(fā)明。但是應(yīng)當理解,本發(fā)明并不限于上述的具體實施方式。在公開的實施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實現(xiàn)不同的技術(shù)方案。
除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。