韓瑋杰 韓樹(shù)標(biāo)
【摘 要】在社會(huì)保障工作中,將VB.Net子集(VBA7.0)應(yīng)用于核對(duì)員工社保數(shù)據(jù)與基數(shù)申報(bào)程序中,通過(guò)VBA與Office新版軟件的無(wú)縫集成,實(shí)現(xiàn)了核對(duì)員工社保數(shù)據(jù)的程序自動(dòng)化進(jìn)行,實(shí)現(xiàn)了下一年基數(shù)計(jì)算的純數(shù)字化無(wú)人操作。
【Abstract】In the work of social security, a subset of the VB.Net (VBA7.0) is applied to check the employee social security data and base reporting procedures, through the seamless integration of VBA and new version office, the automatic program of checking staff social data is realized, and realize the pure digital unmanned operation of last year cardinal calculation.
【關(guān)鍵詞】VB.Net 子集; 社保數(shù)據(jù) ;基數(shù)
【Keywords】VB.Net subset ; social security data ; base
【中圖分類(lèi)號(hào)】TP311 【文獻(xiàn)標(biāo)志碼】A 【文章編號(hào)】1673-1069(2017)07-0144-02
1 引言
煤峪口礦作為一座具有百年歷史的老礦,企業(yè)員工數(shù)量非常龐大,截至2017年5月,本礦正式參加社會(huì)保險(xiǎn)的在職員工有5000多人,而社保管理部門(mén)的一項(xiàng)重要工作內(nèi)容就是每年給全礦的所有在職員工與工傷退崗員工申報(bào)本年的社保繳費(fèi)基數(shù),這個(gè)繳費(fèi)基數(shù)是由去年全年該員工的統(tǒng)籌工資取平均值算得;其另一項(xiàng)日常重要工作內(nèi)容則是根據(jù)每個(gè)月全礦員工的工資臺(tái)賬中記錄的社保實(shí)際扣款,與該員工的社保申報(bào)扣款基數(shù)核對(duì),發(fā)現(xiàn)錯(cuò)誤應(yīng)及時(shí)調(diào)整糾正。這些工作任務(wù)量相當(dāng)大,需要記錄下每個(gè)人該年度內(nèi)每個(gè)月的統(tǒng)籌工資,并與根據(jù)上年的申報(bào)基數(shù)計(jì)算得到的養(yǎng)老金、醫(yī)療金、失業(yè)金進(jìn)行核對(duì)。這項(xiàng)工作在進(jìn)行時(shí),工資臺(tái)賬中包含的大量無(wú)用數(shù)據(jù)、在各個(gè)表格間切換耗費(fèi)的時(shí)間、查找替換需要的煩瑣操作以及重名員工會(huì)給該項(xiàng)工作造成干擾,使得這項(xiàng)日常工作對(duì)人時(shí)間的消耗、精力的消耗巨大,而且錯(cuò)誤率也居高不下,初次做完后需要多次核對(duì)才能保證結(jié)果基本正確。再考慮到每個(gè)月各種情況的人員增減變動(dòng)對(duì)結(jié)果的影響,可以說(shuō),這項(xiàng)任務(wù)是對(duì)工作人員耐性的極大挑戰(zhàn)。
2 研究?jī)?nèi)容及創(chuàng)新點(diǎn)
2.1 本套程序的結(jié)構(gòu)組成
本套程序由前端用戶(hù)接口(UI)和后級(jí)子程序(SubProgram)構(gòu)成。前端用戶(hù)接口是一個(gè)包含有一些標(biāo)準(zhǔn)控件的Windows窗體;后級(jí)子程序則分為供窗口調(diào)用的過(guò)程子程序(Sub)和供過(guò)程子程序調(diào)用的函數(shù)子程序(Function)。這些子程序按照應(yīng)用步驟的不同被分別放置在兩個(gè)不同的模塊里以便于管理公共變量和功能區(qū)分。另外還有一個(gè)提供轉(zhuǎn)換功能的通用子程序,放置在一個(gè)單獨(dú)的模塊中。宏觀的功能組包含有三組,子程序有27個(gè)。
2.2 本套程序的安裝運(yùn)行方式
本程序使用的VB子集版本為VBA7.0,該VBA集成自O(shè)ffice 2010版本開(kāi)始使用,并且保持后項(xiàng)兼容。由于該套程序中引用了Office 2013及以后版本才提供的全新工作簿統(tǒng)計(jì)函數(shù),因此本套程序需要的運(yùn)行環(huán)境為安裝有Office 2013、Office 2016或者Office 365的Windows計(jì)算機(jī),該程序在32位版本的Office或者64位版本的Office下均可使用??紤]到控件安裝形式帶來(lái)的兼容性和穩(wěn)定性問(wèn)題,本套程序采用包含宏的
.xlsm格式保存和發(fā)行。
2.3 本套程序的作用
①工資臺(tái)賬按分組重命名;
②工資臺(tái)賬原始數(shù)據(jù)摘取;
③對(duì)比本年社??劭罱Y(jié)果,并且準(zhǔn)備下一年要申報(bào)的基數(shù)。
2.4 本套程序可實(shí)現(xiàn)的功能特點(diǎn)
①自動(dòng)讀取對(duì)應(yīng)月份的數(shù)據(jù)目錄,無(wú)須手動(dòng)使用目錄設(shè)定對(duì)話框指定每個(gè)月的數(shù)據(jù)所在目錄。
②智能判斷每個(gè)臺(tái)賬Excel文件中包含的科室名稱(chēng),據(jù)此將原始臺(tái)賬數(shù)據(jù)不適用于本單位的文件名重命名為有規(guī)律的、便于后期工作數(shù)據(jù)處理的文件名。
③自動(dòng)打開(kāi)各個(gè)臺(tái)賬Excel文件,自動(dòng)輸入密碼,自動(dòng)設(shè)置格式,自動(dòng)處理包含鏈接的Excel文件,自動(dòng)讀取各個(gè)臺(tái)賬Excel文件中記錄的本工作所需要的員工本月統(tǒng)籌工資金額、本月扣除養(yǎng)老保險(xiǎn)數(shù)額、本月扣除醫(yī)療保險(xiǎn)數(shù)額、本月扣除失業(yè)保險(xiǎn)數(shù)額,智能糾正原始Excel臺(tái)賬文件中包含的公式錯(cuò)誤、引用錯(cuò)誤和鏈接錯(cuò)誤,并將處理結(jié)果寫(xiě)入中間文件。最后對(duì)讀取到的數(shù)據(jù)進(jìn)行合理性判斷,刪除讀取到的無(wú)效數(shù)據(jù),標(biāo)記出有邏輯錯(cuò)誤的數(shù)據(jù),方便后期處理。整個(gè)過(guò)程無(wú)須人工干預(yù),全部由程序自動(dòng)完成。
④先讀取處理完成的中間文件,然后讀取匯總文件中的申報(bào)基數(shù)信息,將文件中記錄的每一個(gè)員工的扣款數(shù)據(jù)和申報(bào)的基數(shù)進(jìn)行對(duì)比,比對(duì)正確的數(shù)據(jù)記錄聯(lián)合統(tǒng)籌工資寫(xiě)入到該匯總文件,比對(duì)錯(cuò)誤的數(shù)據(jù)記錄寫(xiě)入到錯(cuò)誤記錄庫(kù)。由于VBA程序的運(yùn)行機(jī)制問(wèn)題,代碼對(duì)VBA對(duì)象的訪問(wèn)非常耗時(shí)。因此,本套程序?qū)iT(mén)對(duì)此做出了優(yōu)化:只在開(kāi)始讀取記錄的時(shí)候和末尾保存比對(duì)結(jié)果的時(shí)候使用對(duì)象訪問(wèn)操作,其他操作一律在內(nèi)存數(shù)組中完成。這雖然會(huì)增加程序占用的計(jì)算機(jī)RAM資源,但是,這種方法規(guī)避了大量對(duì)象讀寫(xiě)操作的超長(zhǎng)耗時(shí),而且當(dāng)下主流計(jì)算機(jī)配置的RAM均在4GB或以上,用增加200MB內(nèi)存消耗的代價(jià)換取幾個(gè)小時(shí)的時(shí)間節(jié)省,顯而易見(jiàn)是一種更優(yōu)的做法。
⑤根據(jù)上級(jí)社保單位提供的局內(nèi)社保數(shù)據(jù)記錄表,比對(duì)工資匯總表,自動(dòng)補(bǔ)全其缺失的人員信息,便于每年的數(shù)據(jù)核對(duì)工作和基數(shù)申報(bào)工作。
⑥每年申報(bào)基數(shù)后需要根據(jù)上級(jí)社保單位給出的保底工資和封頂工資調(diào)整年初預(yù)估工資的誤差,本功能與核對(duì)功能合并在一個(gè)子程序內(nèi)完成,用對(duì)話框返回參數(shù)的形式進(jìn)行控制。
3 實(shí)際應(yīng)用狀況及經(jīng)濟(jì)效益
本套程序自2016年12月開(kāi)始設(shè)計(jì)、編寫(xiě)代碼,2017年3月份初步完成第一版,并立即投入使用,同時(shí)在使用中根據(jù)出現(xiàn)的實(shí)際問(wèn)題不斷完善代碼的穩(wěn)定性與兼容性。
根據(jù)對(duì)負(fù)責(zé)這項(xiàng)工作的老員工的咨詢(xún)以及與兄弟單位的相關(guān)工作人員的交流,平均每處理1000位在職員工的社保數(shù)據(jù),需要兩名工作人員3至5個(gè)工作日的時(shí)間。使用本套程序處理數(shù)據(jù),每1000位在職員工平均需要約7分鐘的時(shí)間。程序耗時(shí)實(shí)測(cè)數(shù)據(jù)如下(1000條測(cè)試樣本,Windows7 x64,Office 2013 SP1 x64):
本礦有在職員工約5000人,每個(gè)月在該套程序的協(xié)助下完成數(shù)據(jù)處理需要大約半小時(shí)的時(shí)間。全礦有約八萬(wàn)在職員工,大約80名負(fù)責(zé)在職員工數(shù)據(jù)處理的工作人員。按照每1000人3個(gè)工作日耗時(shí)的平均值來(lái)計(jì)算,純?nèi)斯げ僮鞯那闆r下八萬(wàn)在職員工需要大約240個(gè)工作日,使用本套程序則僅需要8小時(shí),即一個(gè)工作日。由此可見(jiàn),若是將本套程序推廣給有相同需求的兄弟單位,一個(gè)月便可以節(jié)省239個(gè)工作日的時(shí)間消耗,相當(dāng)于10多個(gè)月的工作量。按照3000元每人的平均工資計(jì)算,這套程序一個(gè)月可以節(jié)省工資支出3萬(wàn)多元。這還沒(méi)有考慮因人工處理失誤造成的工時(shí)消耗。
4 結(jié)語(yǔ)
VB.Net子集(VBA7.0)在社會(huì)保障工作中核對(duì)員工社保數(shù)據(jù)與基數(shù)申報(bào)程序的應(yīng)用取得了相當(dāng)好的效果,經(jīng)濟(jì)效益非常顯著,如果它能應(yīng)用在全國(guó)各個(gè)企事業(yè)單位的話,那將對(duì)節(jié)支降耗產(chǎn)生極大的影響,因此具有極大的推廣應(yīng)用價(jià)值。下一步將首先優(yōu)化代碼的兼容性,使之適用于更多條件更多場(chǎng)合,并逐步向兄弟單位的相關(guān)工作人員推廣使用,以提高工作效率,降低錯(cuò)誤率,使社保工作更加有序高效的進(jìn)行,更好地保障員工的權(quán)益。endprint