版權(quán)聲明:可以任意轉(zhuǎn)載,轉(zhuǎn)載時請務(wù)必以超鏈接形式標明文章原始出處和作者信息及本聲明
http://www.tuenhai.com/
開發(fā)工具:microsoft visual studio .net 2003
操作系統(tǒng):windows xp
企業(yè)信息化失敗原因探討
中國企業(yè)上線erp的成功率是不高的。這是為什么呢?
實用的erp系統(tǒng)有兩個特征:
1. 要求具有高度的定制性
2. 要能根據(jù)企業(yè)實際隨時修改erp系統(tǒng)
而現(xiàn)在企業(yè)的erp系統(tǒng)開發(fā)基本采用外包模式,開發(fā)人員雖然也可以深入公司各個部門,掌握各個方面信息,然后進行定制開發(fā)。但是開發(fā)人員畢竟不是企業(yè)實際從業(yè)人員,掌握信息的廣度、深度畢竟是有限的,因此,通常情況下,所開發(fā)的erp系統(tǒng)難以保證第一個特征:要求具有高度的定制性。
另一方面,企業(yè)的實際情況隨時都可能發(fā)生變化,erp系統(tǒng)也要隨時修改,才可能隨時滿足企業(yè)的需求。如果說一開始,erp系統(tǒng)是滿足企業(yè)需求的,那么一年以后呢?當然開發(fā)人員也可以跟蹤企業(yè)需求,隨時修改erp系統(tǒng),但總歸是不太方便。
理想的企業(yè)信息化模式
個人認為,理想的企業(yè)信息化模式是這樣的:
1.企業(yè)信息化系統(tǒng)的開發(fā)應(yīng)由企業(yè)內(nèi)部人員進行,而不是外包
只有這樣,實用的erp系統(tǒng)所要求的兩個特征:要求具有高度的定制性; 要能根據(jù)企業(yè)實際隨時修改erp系統(tǒng)就很可能兩者都具備了。
2.企業(yè)信息化要從實際工作需要出發(fā),逐步推進
公司實際從業(yè)人員(兼開發(fā)人員)從實際工作需要出發(fā),開發(fā)出相應(yīng)的信息化模塊、功能,再逐步完善。
現(xiàn)實中,許多企業(yè)開發(fā)的信息化系統(tǒng)功能很多,但又有多少人會用呢,最終是花架子而已。
就象筆者所在單位,說大不大,說小不小,但要一開始推行信息化管理,是不可能的。企業(yè)各部門人員素質(zhì)不一,是不可能被普遍接受的。
要實現(xiàn)筆者所述理想的企業(yè)信息化模式,最大的困難是什么?
最大的困難是是人才難得,特定管理人員要同時具備兩種能力:管理能力和開發(fā)能力。這種人才并不是每個企業(yè)都能得到的。
筆者雖然談不上什么人才,但近幾年從事的卻是企業(yè)管理工作,并對信息化管理系統(tǒng)的開發(fā)亦略知一二。筆者就有可能親身實踐“理想的企業(yè)信息化模式”,并把有關(guān)經(jīng)驗與大家分享。
公司實際情況分析
從2004年起,tuenhai主管公司的計劃工作,包括制定并下發(fā)產(chǎn)品生產(chǎn)計劃,自制件生產(chǎn)計劃,外協(xié)件采購計劃等。原來公司內(nèi)一直用手寫的方式,由于公司產(chǎn)品的型號較多,如果tuenhai也是用手工填寫,計劃一多,整天忙于機械式的寫寫算算,做不了什么事情。所以tuenhai考慮用電腦代替部分機械性的工作,tuenhai就可以騰出精力抓其他方面事情了。電腦可以輔助、代替tuenhai做哪些機械性的工作呢?
比如,每一成品由零件組裝而成,零件分自制件和外協(xié)件。每一產(chǎn)品由哪些零件組成是固定的。每個月的生產(chǎn)計劃,都要分解成自制件生產(chǎn)計劃和外協(xié)件采購計劃,這個分解工作tuenhai決定交給電腦來完成。
程序開發(fā)模式分析
用什么開發(fā)工具,用什么開發(fā)模式來實現(xiàn)所要求的功能呢?公司內(nèi)暫時只有tuenhai自己運用,要實現(xiàn)的功能也不多,在一開始并沒有必要用復(fù)雜的大型數(shù)據(jù)庫系統(tǒng)。為方便信息共享,tuenhai決定用vb.net調(diào)用excel來實現(xiàn)功能模塊。
為什么用vb.net而不用c#,因為excel中有個vba,其語法和vb.net是近似的。而且,vb.net和c#的區(qū)別主要是語法,而非功能。
tuenhai現(xiàn)在只要求實現(xiàn)用程序自動安排《自制件生產(chǎn)計劃》,這個功能不用vb.net,單用vba也能輕易實現(xiàn)。但是,考慮到以后可能的功能擴充、升級,還是用vb.net。vb.net是面向一代的開發(fā)工具,功能強大,而且調(diào)用excel也很方便。
不推薦用vb6,vb.net的入門及初級應(yīng)用并不難,為何還要去用早期版本,而不用最新版本,掌握最新技術(shù)呢!
用vb.net和excel排生產(chǎn)計劃
軟件構(gòu)思是這樣的:
先在excel里定制好《自制件生產(chǎn)計劃》的樣表(模板),保存為自制件生產(chǎn)計劃.xls,其中只有一個sheet:樣表。在樣表中設(shè)置好各種格式,填寫好固定項。再新建一空白workbook,保存為2004年自制件生產(chǎn)計劃.xls。
新建一vb.net應(yīng)用程序,命名為生產(chǎn)計劃報表。在窗體上放很少幾個控件,如:幾個文本框,用來輸入產(chǎn)品數(shù)量;checkbox用來先選擇是正式生產(chǎn)計劃還是增補生產(chǎn)計劃;另外用二個文本框用來輸入計劃時間和計劃編號。
點擊button,程序打開自制件生產(chǎn)計劃.xls和2004年自制件生產(chǎn)計劃.xls,把樣表copy到2004年自制件生產(chǎn)計劃.xls,并自動在目標sheet中填寫各自制件需要生產(chǎn)的數(shù)量。
下面是實現(xiàn)代碼及詳細注釋。注意,要先添加com引用microsoft excel object library,tuenhai的是office 2003,引用microsoft excel 11.0 object library。
'以下代碼判斷用戶填寫信息是否完整,如不完整則提示信息并退出.
if chkformal.checked = false and chksubjoin.checked = false then
msgbox("是正式計劃還是增補計劃??", msgboxstyle.critical, "請先選擇計劃性質(zhì)")
exit sub
end if
if txtday.text = "2004年月" then
msgbox("什么月份的生產(chǎn)計劃???", msgboxstyle.critical, "請?zhí)顚懹媱潟r間")
exit sub
end if
if txt703.text = nothing or txt909.text = nothing or txt931.text = nothing or txt932.text = nothing then
msgbox("請?zhí)顚懹媱澟_數(shù)!", msgboxstyle.critical, "計劃臺數(shù)填寫不全")
exit sub
end if
if chkformal.checked = true and chksubjoin.checked = true then
msgbox("正式和增補兩者只能選一!", msgboxstyle.critical, "請重新選擇計劃性質(zhì)")
exit sub
end if
'以下代碼即是計算各自制件的數(shù)量,用中文來命名是免去代碼注釋
dim 涂氟龍面板703 as integer = ctype(txt703.text, integer)
dim 鈦金面板909 as integer = ctype(txt909.text, integer)
dim 油磨不銹鋼面板931 as integer = ctype(txt931.text, integer)
dim 油磨不銹鋼面板932 as integer = ctype(txt932.text, integer)
dim 底盤24 as integer = 涂氟龍面板703
dim 底盤22 as integer = 鈦金面板909
dim 底盤41a as integer = 油磨不銹鋼面板931
dim 底盤41b as integer = 油磨不銹鋼面板931
dim 水盤25 as integer = 涂氟龍面板703
dim 水盤24 as integer = 涂氟龍面板703
dim 水盤22 as integer = 鈦金面板909 * 2
dim 中心支架2 as integer = 涂氟龍面板703 + 鈦金面板909
dim 長支架931 as integer = (油磨不銹鋼面板931 + 油磨不銹鋼面板932) * 2
dim 支架931u as integer = 油磨不銹鋼面板931 * 2
dim 支架932u as integer = 油磨不銹鋼面板932 * 2
dim 磁頭抱攀 as integer = (鈦金面板909 + 油磨不銹鋼面板931 + 油磨不銹鋼面板932) * 2
dim 電池抱攀 as integer = (涂氟龍面板703 + 鈦金面板909 + 油磨不銹鋼面板931 + 油磨不銹鋼面板932) * 2
dim 三通抱攀 as integer = 電池抱攀 / 2
dim 爐頭墊片 as integer = 電池抱攀 * 3
'定義一個數(shù)組,方便在excel中循環(huán)寫入數(shù)字,也可以放在excel的vba中實現(xiàn)
dim allnum() as integer = _
{涂氟龍面板703, 鈦金面板909, 油磨不銹鋼面板931, 油磨不銹鋼面板932, _
底盤24, 底盤22, 底盤41a, 底盤41b, _
水盤25, 水盤24, 水盤22, _
中心支架2, 長支架931, 支架931u, 支架932u, _
磁頭抱攀, 電池抱攀, 三通抱攀, 爐頭墊片}
dim excelapp as new excel.application
dim excelbook as excel.workbook '自制件生產(chǎn)計劃.xls
dim excelbook2004 as excel.workbook '2004自制件生產(chǎn)計劃.xls
dim excelworksheet as excel.worksheet
dim planproperty as string '計劃性質(zhì),是正式計劃還是增補計劃
try '建議用try方式捕捉錯誤,處理錯誤
excelbook = excelapp.workbooks.open(application.startuppath & "/自制件生產(chǎn)計劃.xls")
excelbook2004 = excelapp.workbooks.open(application.startuppath & "/2004年自制件生產(chǎn)計劃.xls")
excelworksheet = ctype(excelbook.worksheets("樣表"), excel.worksheet)
excelworksheet.copy(after:=excelbook2004.sheets("sheet1"))
'把樣表copy到<2004年自制件生產(chǎn)計劃>workbook中sheet1的后面
excelapp.visible = true '設(shè)置工作薄為可視
if chkformal.checked = true then
planproperty = "正式"
elseif chksubjoin.checked = true then
planproperty = "增補"
end if
with excelbook2004.activesheet '用with 簡化代碼
.range("d1").value = txtday.text '計劃時間
.range("c2").value = "laoban公司" & txtday.text & planproperty & "采購計劃" '計劃依據(jù)
.range("c25").value = now.date.today.toshortdatestring '這就是制表日期
.range("f2").value = txtno.text '計劃編號
end with
for i as integer = 0 to 18 '共19種自制件
excelbook2004.activesheet.cells(4 + i, 4) = allnum(i) '4+i是行號,第二個4是列號
next '循環(huán)把各自制件數(shù)填入<2004年自制件生產(chǎn)計劃>中的活動工作表相應(yīng)位置
catch ex as exception '捕捉錯誤,并回收資源,顯示錯誤
excelbook = nothing
excelbook2004 = nothing
excelworksheet = nothing
excelapp = nothing
gc.collect(0)
msgbox(ex.tostring) '顯示錯誤信息,以查找定位
exit sub '出錯就退出
finally '這里的代碼一定會被執(zhí)行到
excelbook = nothing
excelbook2004 = nothing
excelworksheet = nothing
excelapp = nothing
gc.collect(0)
end try
msgbox("已排好自制件生產(chǎn)計劃,請查看")
excelbook = nothing
excelbook2004 = nothing
excelworksheet = nothing
excelapp = nothing
gc.collect(0)
end sub
下面是殺死excel進程的過程:
更多內(nèi)容在http://www.tuenhai.com/。
以上代碼非常簡單,功能也很有限,但是很實用,以前都是用手工填寫并計算的,現(xiàn)在全部自動實現(xiàn)。本來要半小時的工作,現(xiàn)在可以在5分鐘內(nèi)搞定。如果產(chǎn)品有變化,tuenhai可以隨時修改程序,使程序始終滿足企業(yè)需求。企業(yè)信息化就應(yīng)該是這樣,從很小的功能開始。
也許老總一點不知道何為企業(yè)信息化,你可以展示給老總,看,以前要用半小時排計劃,現(xiàn)在5分鐘就解決,這也是屬于企業(yè)信息化。
昨天用了一個晚上時間寫了以上代碼,一個晚上只是一個晚上而已,以后可以省下多少時間?老總是經(jīng)濟第一的,要他掏腰包聘專業(yè)開發(fā)人員,或外委軟件公司開發(fā),總是要讓老總割血,也是不太可能的事。tuenhai是管理人員,本身也懂一點編程,信息化從自身工作開始,不用老總多花一分錢,反而可以提高工作效率。而且,原來公司里只有極少懂產(chǎn)品的人有排計劃的能力,現(xiàn)在用程序來實現(xiàn),人人都會。
中國的企業(yè)信息化,要么華而不實,更多企業(yè)是根本不知并不用。tuenhai在公司內(nèi)進行企業(yè)信息化探索受諸多因素限制。無論如何,tuenhai會將tuenhai的經(jīng)驗與大家分享,大家共同來探索有中國特色的企業(yè)信息化之路。
新聞熱點
疑難解答
圖片精選