軟體開發(軟件開發)

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

室內設計、裝潢、窗簾報價估算軟體

網智數位主要提供套裝及客製化的軟體系統解決方案,針對室內設計師、木工、裝潢業產業,量身訂做客製化的軟體,達成客製化、智慧化及網路化的商用軟體。

商用軟體-客製化設計

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

IOT 物聯網-系統開發

根據客戶實際狀況,結合雲端與載具進行客製化物聯網IOT導入與軟體開發

雲端VPS虛擬主機租用

我們的雲端VPS虛擬主機是採用雲端(虛擬化)技術所開發之全新雲端伺服器服務,可以選擇多種作業系統(Windows、Linux等),客戶可載入自訂的應用環境,執行自己所要提供的網路服務,我們的雲端服務可為您的網站提供最完美的解決方案。

ERP軟體客製化導入

ERP軟體客製化導入,室內設計、營造業、裝潢、木作工程、系統櫃工程、會計系統,全面提升公司管理營運效率。

搜尋引擎最佳化SEO

搜尋引擎最佳化(SEO)不僅能提高網站在搜尋結果的排名,更能帶來大量對我們產品或服務真正有需求的訪客。SEO 最棒的特質之一就是不像廣告一樣亂槍打鳥而導致用戶的反感,反而更能提升點閱率跟成交率喔。

服務宗旨

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

我們的成立宗旨就是要以最猛的IT技術讓這個世界更Smart,在我們貫徹我們裡想的同時,我們希望可以把我們所開發的系統帶給台灣的中小企業,除了要推薦好的東西之外,我們也希望做點改變,所以我們的第一目標就是要使用最好用的系統再加上您寶貴的創意,不僅僅可以節省你大量的荷包,還可以有一個像樣的網站。我們可以幫你做的有

企業管理
  • 策略管理
  • 目標管理
  • 行銷管理
  • 財會管理
  • ERP導入
  • 企業流程自訂
資訊管理
  • 網站架設
  • 虛擬化/雲端架設
  • 主機代管
  • 私有雲建制與導入
軟體開發
  • UML設計
  • 版本控管
  • 企業軟體開發
  • APP開發
  • 網頁設計
資訊安全
  • 網頁弱點掃描
  • 主機弱點掃描
  • 木馬檢測
  • 資安鑑識
  • 設計網路架構
  • 資安監控
行銷
  • 關鍵字SEO
  • 社群網路行銷
  • 部落格行銷
  • FaceBook 粉絲團
其他
  • 協助企業申請Google Email
好玩工具開發

講出你的創意吧!沒有甚麼是資訊辦不到的

顯示具有 MPS 標籤的文章。 顯示所有文章
顯示具有 MPS 標籤的文章。 顯示所有文章

2024年2月12日 星期一

AI時代的ERP:釋放企業潛能的新革命

 隨著人工智慧(AI)技術的快速發展,企業資源規劃(ERP)系統正在經歷一場前所未有的變革。在這個AI時代,傳統的ERP系統已經無法滿足企業對數據分析、智能決策和業務優化的需求。因此,我們需要思維的突破,重新定義ERP在企業中的角色和價值。











數據驅動的智能決策

在AI時代的ERP中,數據不再僅僅是被收集和儲存的資源,而是成為了企業的寶藏。通過應用機器學習和數據挖掘技術,ERP可以從海量的數據中提取出有價值的信息,為企業提供準確的預測和智能化的決策支持。無論是在供應鏈管理、市場預測還是產品研發方面,AI時代的ERP都能夠幫助企業做出更明智的決策,實現業務的優化和增長。

自動化的業務流程

傳統的ERP系統往往需要大量的人力和時間來手動輸入和處理數據,這不僅效率低下,而且容易出現錯誤。在AI時代的ERP中,自動化成為了關鍵。通過應用機器學習和自然語言處理技術,ERP可以自動識別、分類和處理數據,從而實現業務流程的自動化和優化。無論是在訂單處理、發票核對還是客戶服務方面,AI時代的ERP都能夠大大提升企業的工作效率和品質。

個性化的用戶體驗

在AI時代的ERP中,用戶體驗也得到了極大的改善。傳統的ERP往往具有複雜的界面和固定的功能,難以滿足不同用戶的個性化需求。而在AI時代的ERP中,通過應用智能推薦和自適應界面技術,ERP可以根據用戶的偏好和習慣自動調整界面和功能,從而提供更個性化、更直觀的用戶體驗。無論是在管理員、業務人員還是客戶端用戶方面,AI時代的ERP都能夠滿足不同用戶的需求,提高用戶滿意度和使用效率。

ERP的未來:智慧、靈活、創新

總的來說,在AI時代,ERP不再僅僅是一個企業管理的工具,而是成為了一個智慧、靈活、創新的業務平台。通過應用人工智慧技術,重新定義數據的價值,優化業務流程,提升用戶體驗,AI時代的ERP將為企業帶來更大的價值和競爭優勢。

無論是小型企業還是大型企業,無論是製造業還是服務業,AI時代的ERP都將成為企業提升效率、降低成本、創新服務的重要利器。讓我們一起迎接AI時代的ERP革命,釋放企業潛能,開創美好未來!


網智數位-軟體開發,專門針對客戶進行量身設計的客製化軟體,已有多年經驗,也在不同產業領域都有實作成功案例。

(作者其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) - 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異
ERP 系統的淺談與優勢
ERP 系統在中小企業如何有效利用條碼與QRCode
[ ERP/MRP 系統 ] - 專案導入深入剖析
ERP 導入的投資報酬評估(ERP客製化、進銷存軟體)
ERP 與 CRM 整合對企業的重要性(軟體開發、ERP客製化)
ERP思維突破:啟動企業智能革命,引領未來行銷新浪潮
AI時代的ERP:釋放企業潛能的新革命



網智數位-開發團隊

一直突破開發技術、累積各種產業知識,而且在出版業、室內設計裝潢業、製造業、機電顧問、貿易、地板、窗簾、窗材、拉門、布料業的商業管理軟體投入有特別的領域知識、也在圖控軟體(圖控軟件)、機械手臂、 Android APP 、iPhone APP、3D列印 開發一直突破再創新,我們也堅持相信好的軟體可以協助企業,不管在管理營運角度、商品創新、決策分析等都絕對是不可缺少的關鍵因素,如果客戶您有任何軟體開發、程式開發委外需求,請聯繫我們讓我們協助您一起討論如何開發一個好的軟體來協助您。


網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105

ERP思維突破:啟動企業智能革命,引領未來行銷新浪潮

 在當今競爭激烈的商業環境中,企業資源計劃(ERP)系統已經漸漸成為企業成功的不二法門。然而,要在市場中脫穎而出,企業需要思維突破,將ERP系統發揮到極致,引領企業走向智能化的未來。



1. 整合全方位數據

傳統ERP系統主要注重內部流程,但現代行銷已經不再僅僅是企業內部的事務。思維突破的第一步是將ERP系統擴展至全方位的數據整合。透過整合外部市場趨勢、顧客反饋、競爭對手信息等數據,企業可以更全面地了解市場環境,做出更明智的行銷決策。

2. 強化數據分析與預測

ERP系統擁有豐富的數據,但如何運用這些數據是關鍵。透過引入先進的數據分析和預測技術,企業可以深入挖掘數據背後的價值,預測市場趨勢、顧客行為,提前調整行銷策略,使企業更具靈活性和應變能力。

3. 引入智能決策支援

ERP思維的突破還體現在智能決策支援上。透過整合人工智慧(AI)和機器學習(ML)技術,ERP系統可以自動分析大量數據,提供實時的決策建議。這不僅可以提高決策效率,還能夠減少人為誤差,使企業在競爭中更具優勢。

4. 打造客製化行銷體驗

隨著市場競爭的加劇,客製化行銷體驗成為企業贏得顧客的關鍵。ERP系統應當具備客製化功能,根據顧客的偏好和行為,提供個性化的行銷內容。這種客製化的互動將使顧客更加愿意參與並與企業建立深厚的關係。

結語

隨著ERP思維的突破,企業將能夠在行銷領域取得更大的成功。整合全方位數據、強化數據分析、引入智能決策支援和打造客製化體驗,將是企業引領未來行銷新浪潮的關鍵。這不僅是提升競爭力的手段,更是企業邁向智能化、數字化未來的必由之路。




網智數位-軟體開發,專門針對客戶進行量身設計的客製化軟體,已有多年經驗,也在不同產業領域都有實作成功案例。

(作者其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) - 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異
ERP 系統的淺談與優勢
ERP 系統在中小企業如何有效利用條碼與QRCode
[ ERP/MRP 系統 ] - 專案導入深入剖析
ERP 導入的投資報酬評估(ERP客製化、進銷存軟體)
ERP 與 CRM 整合對企業的重要性(軟體開發、ERP客製化)
ERP思維突破:啟動企業智能革命,引領未來行銷新浪潮





網智數位-開發團隊

一直突破開發技術、累積各種產業知識,而且在出版業、室內設計裝潢業、製造業、機電顧問、貿易、地板、窗簾、窗材、拉門、布料業的商業管理軟體投入有特別的領域知識、也在圖控軟體(圖控軟件)、機械手臂、 Android APP 、iPhone APP、3D列印 開發一直突破再創新,我們也堅持相信好的軟體可以協助企業,不管在管理營運角度、商品創新、決策分析等都絕對是不可缺少的關鍵因素,如果客戶您有任何軟體開發、程式開發委外需求,請聯繫我們讓我們協助您一起討論如何開發一個好的軟體來協助您。

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105

2020年9月1日 星期二

貿易公司需要導入BOM表嗎?(ERP導入、客製化輔導、軟體設計)

 今年疫情的發生,原本以為今年各行各業勢必會有所影響,不過反而公司這半年來業績更好,一來,可能很多客戶公司趁著疫情因素,反而提升企業內部體質,導入系統數位化來強化未來競爭性;二來,美中關係緊張,也造就很多台商加速回流台灣建置新廠房、導入新系統。

    而今天我想討論的是一個經營多年的貿易商,因為經營模式的改變,從單純的貿易往來,變成需要往上遊工廠端去管理生產流程、控制所有製造成本,徹底掌握所有產品的零件、物料需求數量,以及所有加工工廠即時生產數量、在製品數量,因此與我討論是否導入BOM表,以及導入BOM的種類。



BOM簡單可分為大類。

  (1) 生產用BOM;

  (2) 銷售用BOM;

  (3) 包裝材用BOM;

  (4) 設計研發BOM。

          (5) 海關用BOM。


    導入BOM的時機點?事實上不一定製造業或有工廠才需要導入BOM表管理,現在很多因為本身客戶經營模式的不同,產生許多無實際真正自己生產線的工廠,而是把資源用在銷售與服務,後續生產就全程委外代工廠,但有可能發生一個產品有A零配件、與B零配件 分別是由不同的A代工廠與B代工廠生產,最後在集中送到C包裝廠進行包裝出貨,這時候也要分別管控A零配件、B零配件庫存量、發包成本價格,但如果這時候導入BOM管理模組 ,就可以設計與管理產品如何分發不同工廠代工與零配件在各地的實際庫存量與需求量。


因此一個BOM表事實上不該停留刻板地認知是製造業、工廠端才需要導入,就單純的銷售也可以導入銷售專屬的BOM表,例如我幫一個很有想法與企圖心的窗簾業老闆,光導入BOM表就可以花了超過半年以上,討論再討論,因為一個產品可以替換選購的配件可以數百種,每個零配件價格計算方式都不相同,但這樣也只是銷售BOM的歸類。


如果在結合生產製程(工序),就必須再延伸更複雜的製程加工路線(工藝路線),將每個階乘的BOM(單一階的母子件)再對應至各自加工路線,並設計專屬的欄位屬性,如損耗率、生產天數、製造廠商、批號管理、及那個工序各自是否需要領料,甚至更複雜的機械設備產能評估衡量,用來記錄每個生產工序需要在那些工作中心,那些機台進行投產、需要那些作業員。


所以BOM表事實上不管是單純銷售業、服務業、餐飲業(POS系統事實上也需要BOM表)、製造業等都需要仔細思考如何導入不同種類的BOM表設計,而BOM表導入事實上也是很多更進階數位資訊系統的核心管理資料,例如MES、MRP、甚至APS(先進規劃與排程系統),如果有客戶導入APS系統,事實上重點在BOM表有沒有導入徹底,如果沒有,事實上APS也不用導入,因為數據計算根本不可能正確。




網智數位-軟體開發,專門針對客戶進行量身設計的客製化軟體,已有多年經驗,也在不同產業領域都有實作成功案例。

(作者其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) - 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異
ERP 系統的淺談與優勢
ERP 系統在中小企業如何有效利用條碼與QRCode
[ ERP/MRP 系統 ] - 專案導入深入剖析
ERP 導入的投資報酬評估(ERP客製化、進銷存軟體)
ERP 與 CRM 整合對企業的重要性(軟體開發、ERP客製化)
ERP思維突破:啟動企業智能革命,引領未來行銷新浪潮
AI時代的ERP:釋放企業潛能的新革命
貿易公司需要導入BOM表嗎?



網智數位-開發團隊

一直突破開發技術、累積各種產業知識,而且在出版業、室內設計裝潢業、製造業、機電顧問、貿易、地板、窗簾、窗材、拉門、布料業的商業管理軟體投入有特別的領域知識、也在圖控軟體(圖控軟件)、機械手臂、 Android APP 、iPhone APP、3D列印 開發一直突破再創新,我們也堅持相信好的軟體可以協助企業,不管在管理營運角度、商品創新、決策分析等都絕對是不可缺少的關鍵因素,如果客戶您有任何軟體開發、程式開發委外需求,請聯繫我們讓我們協助您一起討論如何開發一個好的軟體來協助您。


網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105

2020年7月25日 星期六

感謝-逸揚企業有限公司委託開發BOM表/CRM/跨工廠庫存管理/報價系統/委外工單系統(ERP客製化開發)

          從事買賣外銷40多年的逸揚企業,因為營運模式的改變,從早期的貿易買賣營業模式,變成接單代工+貿易出口模式,而原先的AS400 貿易系統,無法應付產品的物料需求計劃(MRP)、MPS主生產排程規劃、訂單代工產能評估、上下游供應商與代工廠的原物料配送,必須評估一個系統,來整合獨特的經營模式,在與網智數位-軟體開發團隊,討論多次如何整合現有系統資料與跨工廠的資訊訊息後,開始正式啟動客製化軟體專案開發。



網智數位-開發團隊一直突破開發技術、累積各種產業知識,而且在窗簾、窗材、拉門、布料業的商業管理軟體投入有特別的領域知識、也在圖控軟體(圖控軟件)、機械手臂、Android APP 、iPhone APP、3D列印 開發一直突破再創新,我們也堅持相信好的軟體可以協助企業,不管在管理營運角度、商品創新、決策分析等都絕對是不可缺少的關鍵因素,如果客戶您有任何軟體開發、程式開發委外需求,請聯繫我們讓我們協助您一起討論如何開發一個好的軟體來協助您。


網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105

2020年5月8日 星期五

專案工程管理軟體-統計利潤分析表(軟體開發、客製化ERP、軟體設計)

       這幾天我們又特別針對專案工程管理軟體ERP,增加了統計利潤分析表,可以一個按鈕執行查詢計算,自動將所有的專案工程相關成本、發票、收款、付款、師傅工資進行加總計算,列出所有專案的利潤、成本,也可以鎖定特地專案期間去分析利潤,如下部分系統畫面


PS.專案工程管理軟體-可以運用在很多行業領域,如、裝潢業、工程行、建設公司、專案服務型公司、室內設計業、機電顧問公司等領域皆以適用。

截圖 2020-05-08 上午12.12.58

截圖 2020-05-08 上午12.12.52

我們針對 室內設計、裝潢、建材行業已開發不同類型的軟體產品、窗簾/窗材行業ERP也會今年再次投入改版

我們另外也再開始針對電商、電話購物領域的ERP系統,開發專屬的產品促銷組合系統,可以類似多層次傳銷系統進行業績計算、滿額贈送、單品贈送、買A產品送多少B產品。

如需要更具體的細節功能需求了解,可以與我們聯繫,藉由資訊科技與軟體,進行成本與利潤的有效管控,管理交給資訊軟體,讓您多出更多心力時間去服務您的客戶,達成雙贏的成效。



網智數位-開發團隊一直突破開發技術、累積各種產業知識,而且在窗簾、窗材、拉門、布料業的商業管理軟體投入有特別的領域知識、也在圖控軟體(圖控軟件)、機械手臂、Android APP 、iPhone APP、3D列印 開發一直突破再創新,我們也堅持相信好的軟體可以協助企業,不管在管理營運角度、商品創新、決策分析等都絕對是不可缺少的關鍵因素,如果客戶您有任何軟體開發、程式開發委外需求,請聯繫我們讓我們協助您一起討論如何開發一個好的軟體來協助您。

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105

2020年3月24日 星期二

公司該何時才是適合導入ERP/MIS/進銷存等資訊系統(軟體開發、企業管理)


   一家公司對於導入進銷存、CRM、POS、ERP等資訊系統,何時才是最佳時間點呢?這也是我在IT ERPl領域多年,接觸各行業中小企業的企業主對我的通常疑問,但事實上沒有真正的標準答案,但我真的回頭深思有導入ERP資訊軟體的客戶群,通常都是該領域的佼佼者,
也就是有幾個特征
  1. 企業經營多年
  2. 產品多元性/複雜性
  3. 員工人數逐漸成長
  4. 部門溝通繁瑣想簡化
  5. 產品庫存無法控管
  6. 企業第二代/第三代接棒
  7. 原先該行業具有獨特競爭位置但逐年發覺競爭對手增多






根據這些特征,事實上一個公司導入系統,比較合適的最佳時期應該在處於興盛期(快速發展階段)、或經過快速發展階段而陷入停滯成長期;而相對一個企業在創業初期或已經正式在陷入較長的衰退期,導入系統成效相對不大。

在興盛成熟期、或停滯成長期,一個公司的主要領導者,會自然打從心裡產生革新念頭,這也是許多第二代接棒想要透過導入ERP資訊系統,很大的誘因,而也因為想要企業變革再造,大大增進了可以成功導入ERP的關鍵因素與時間點。


有迫切想要改善管理效率的公司一定要導入資訊系統 ERP
很多中心企業在初期的創業階段,是非常容易忽略內部的一些管理,包括執行製度的建立,運作規程建立,企業文化的發展等,這種企業發展到一定規模後,企業會圍繞一種理不清的混亂狀態,對於這類公司,進行導入ERP系統,目的就是為了利用ERP流程與數據整合管理的力量全面改善公司管理不善問題,可以好好利用ERP各模組軟體功能,來進行統籌規範管理。

有迫切需要完善資訊訊息管理的企業-不用懷疑請迅速導入 ERP
公司發展過程中經常會發現內部統計數據滯後,跟不上市場的快速反映,重複統計工作煩瑣,數據出處不唯一與散落在各部門間,資訊傳達不及時與錯誤,甚至誤導公司的主要決策者,究其原因就是內部資訊訊息還沒有辦法共享。
而 導入ERP系統很大目的是先實現數據整合,再通過ERP系統產生經營所需數據,來和公司的管理理念互相督促,使得公司管理的可以完善和提高。

對於發展潛力,迫切往更高層次發展的企業-ERP協助您將成為行業領域佼佼者
公司的決策者很清楚,要永續經營發展才是硬道理,所以他們必須有追求遠大長久目標與胸懷,這種情況選擇導入ERP系統,它的見效是加快的,因為決策者已很容易意識到解決的焦點問題,包括經營銷售遇到的瓶頸、公司內部生產與物流配送問題,財務資金運作問題以及更深層的企業國際化問題等,因此需求定義時只要將這些問題細化即可,實施導入ERP系統過程也明確了企業願景與發展宏偉目標。



(作者其他參考文章)
公司該何時才是適合導入ERP/MIS/進銷存等資訊系統




網智數位-開發團隊一直突破開發技術、累積各種產業知識,而且在窗簾、窗材、拉門、布料業的商業管理軟體投入有特別的領域知識、也在圖控軟體(圖控軟件)、機械手臂、Android APP 、iPhone APP、3D列印 開發一直突破再創新,我們也堅持相信好的軟體可以協助企業,不管在管理營運角度、商品創新、決策分析等都絕對是不可缺少的關鍵因素,如果客戶您有任何軟體開發、程式開發委外需求,請聯繫我們讓我們協助您一起討論如何開發一個好的軟體來協助您。

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105


2018年11月5日 星期一

模具行業管理軟體-ERP軟體開發、客製化軟體


            上個月一家在印尼多年(印尼石通企業),再從事生產模具開發、維修服務的台商找上我 Allen,希望我可以協助量身定做模具行業的生產管理流程,開發符合他們的軟體系統,因為之前他們委託過其他軟體合作廠商,但總覺得系統無法真的流程整合,因此該公司總經理在印尼9月份就透過Line 與我聯繫,先確定我是否在行業的流程整合可以給予整合意見,並提供他們現在的軟體系統畫面給我,告知他們使用上遇到的瓶頸,線上討論幾次確認我們是可以提供客製化服務,就回台灣時與我們當面討論許久,並正式分多次階段委託我們正式進行客製化軟體開發,幫工廠端可以提升資訊化管理能力。










網智數位-軟體開發,專門針對客戶進行量身設計的客製化軟體,已有多年經驗,也在不同產業領域都有實作成功案例。





網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

my_qrcode_1519621481105



2017年11月29日 星期三

利用 JavaScript D3 在網頁動態產生直條圖(軟體開發、軟件開發)

       最近因為我再次改版窗簾產業的ERP軟體(窗簾產業真的是產品格式最多樣化,這又是個革命的軟體了,為了這個領域投入許多時間來了解產業知識),以及又承接越南的一系列的工廠生產系統與ERP,讓我沒有多餘時間可以分享技術文章,剛好近來網智數位開發團隊又承接南部大廠、以及群創科技大廠的10個工廠整合數據所需要的軟體開發案,需要用到大量的程式繪圖技術,之前我們如果遇到繪圖技術通常開發團隊都選擇用Windows Form 或 WPF相關技術直接程式繪圖產生,或者如果是企業商業軟體,我們常用報表開發工具,來產生一系列的數據圖表,有利於系統使用者,看圖來判斷數據、以利作決策分析、異常辨識統計,但這次客戶全部要求都是WEB化的資訊系統建置,所以我們全部採用了 Java Script 直接繪圖及時動態產生圖表。 
       也因為這樣所以我選擇寫一篇利用 Java Script D3 程式技術來示範教學,如何動態產生直條圖(當然也可以產生各式各樣的圖表、例如折線圖),不過這篇技術文章,我假設前提是讀者已經非常熟析Java Script 以及 HTML CSS 語法,也對 D3 有初步認識,或許以後我有機會也會補充撰寫 Java Script 與 D3 的文章。


該案例執行結果 畫面
 

image

在這個案例你首先要先下載 D3.js library (可以到 https://d3js.org/ 去下載最新的 D3.js 檔案,來引入在網頁理)
如下列程式碼,我就在 head 直接引用d3.js

<head>
     <meta charset="utf-8">
     <title>利用Java Sciprt Array 來產生圖表(網智數位)</title>
     <link rel="stylesheet" type="text/css" href="styles.css"/>
     <script type="text/javascript" src="d3.js"></script>
< /head>

接下來底下我寫了一個最主要的核心 Java Scirpt 程式碼 
<script type="text/javascript">
    var data = [   // <- 程式碼A
        {width: 30, color: 23},{width: 35, color: 33},
        {width: 50, color: 40},{width: 30, color: 60},
        {width: 60, color: 22},{width: 65, color: 10},
        {width: 65, color: 5},{width: 30, color: 30},
         {width: 30, color: 60},{width: 70, color: 90},
        {width: 15, color: 10}
    ];
   
    var colorScale = d3.scale.linear()
        .domain([0, 100])
        .range(["#add8e6", "blue"]);   // <- 程式碼B
    function render(data) {
        d3.select("body").selectAll("div.h-bar")
            .data(data)
            .enter().append("div")
                .attr("class", "h-bar")               
            .append("span");
        d3.select("body").selectAll("div.h-bar")
            .data(data)
            .exit().remove();
        d3.select("body").selectAll("div.h-bar")
            .data(data)
                .attr("class", "h-bar")
                .style("width", function (d) { // <-程式碼 C
                     return (d.width * 5) + "px"; // <- 程式碼D
                 })
                .style("background-color", function(d){
                     return colorScale(d.color); // <- 程式碼E
                 })
            .select("span")
                .text(function (d) {
                    return d.width; //  <-程式碼 F
                 });
    }
    function randVal() {
        return Math.round(Math.random() * 100);
    }
    setInterval(function () {
         data.shift();
        data.push({width: randVal(), color: randVal()});
        render(data);
    }, 1500);
    render(data);
< /script>

程式邏輯講解
程式碼A,主要是一堆有 Json 物件組成的陣列,而存在在變數 data 裡,這邊我只是單純為了講解,所以直接在程式開頭就把數據全部宣告起來,實務上在開發中,應該及時讀取後端資料庫、或者 WebAPI,取得 Jason 物件陣列.



程式碼B,主要是利用D3的一個 Scale 函數,這個函數可以接受一個數字參數,而轉換為標準的 CSS 顏色值。這個可以在程式碼E區段,套用漸層顏色的效果。

程式碼C,主要是利用 D3的選擇函數傳回的所有集合物件(就是網頁的HTML 標籤元素,在這邊是 div),套用在每個DIV的 Style 屬性,這邊我直接控制 Width 屬性,這樣就可以變更每個div元素的寬度尺寸。
程式碼D,宣告了一個function(d),而這個 d 參數實際上就是代表程式碼A裡 data 變數陣列的每個數據物件(Json)
function (d)
{
    return (d.width * 5) + "px";
    //這邊我可以直接使用 d.width ,因為 d 就是個jason物件, 而且擁有 width 屬性
}
程式碼E,套用 D3的 Scale函數,使得有漸層效果。
程式碼F,在透過 D3的 Select 函數,選取 <div> 裡面的子元素 <span>,然後在透過標準的 HTML DOM 支援的 text() 函數,動態設定數字文字。






其他參考文章
HTML CSS 動畫教學–【軟體開發(軟件開發)】
繪圖程式-折線圖、區域圖 實作一 
產品報告與能源曲線分析系統
       
       






網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-5599-1310
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2017年9月1日 星期五

開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)

     品名(物料、零件、產品)在進銷存、MRP、ERP開發時,我們通常可以用一個品名基本檔進行記錄歸檔,品名這個詞包含很多的性質(欄位),在開發商用軟體時,品名基本檔欄位的收集與建立重要性絕對是一個基本關鍵。






  品名或稱物料這個詞包含很多的性質。我們平常所感受到它的物理屬性、自然屬性,但今天我在這邊想要特別談的是它的管理欄位開立的重要性。因為物料除了包含有形的實體外,其實還可以包括服務等無形的東西。在大型管理軟體中(例如 SAP),與物料相關的東西,除了它的大小、形狀、重量等等之外,還包括了它的價格、它的儲位、它的供應商等,這些都是它的管理屬性(欄位)。這些屬性關聯到我們如何有效地去管理它的採購、它的儲存、它的銷售,也作為商業報表分析的欄位基準。

    所以一般來說,幾乎大型ERP管理軟體對於物料(品名)這樣一個小元素就預留有幾乎近數百個控制項,這樣才可以讓我們窺見這些ERP管理軟體嚴密的錯綜複雜的管理邏輯。

 
而我們可以從四個方面來分解品名物料的管理屬性(欄位):
 
基本屬性
 
物料的基本屬性用於描述物料的設計特徵,這些屬性主要包括物料編碼、物料名稱、物料類型編碼、物料類型名稱、設計圖號、設計版次、生效日期、失效日期、品種規格(牌號、技術規格、技術條件和技術狀態)、預設的計量單位、單位重量、重量單位、單位體積和體積單位、尺寸單位等。
 
物料編碼和物料名稱都是物料的標識,物料編碼用於唯一標識物料,而物料名稱用於物料的輔助識別。物料類型編碼和物料類型名稱主要用於物料的統計分析。品種規格屬性描述物料的品牌、規格等資訊。
 
庫存與採購屬性
 
物料的採購和庫存屬性主要描述與採購、庫存管理有關的訊息,這些屬性包括物料製購類型、預設儲存倉庫、預設庫位、物料條碼、是否可用、ABC碼、盤點方式、循環盤點編碼、盤點週期、盤點日期、是否批次管理、批次號、批次有效天數、批次檢測週期、最新入庫日期、最新入庫量、最後出庫日期、最新出庫量、最新檢測日期、最新檢測結果、是否單件管理、是否限額領料、是否允許超採購訂單入庫、現有庫存量、最大庫存量、安全庫存量、物料平均日耗量、庫存金額、是否進價控制、物料計劃單價、進價上限率、預設供應商和在供應商使用的編碼等。
 
任何一家企業可以根據自身特點和條件來對物料的這一屬性進行管控。比如,物料製購類型包括自製件和採購件;企業可以有多個性質不同的倉庫,以便儲存來自不同的物料;如果公司物料管理方面採用了條碼管理,那麼,可以在物料條碼屬性中儲存該物料的條碼數據。條碼是否與物料編碼相同或關聯,也由公司的編碼規則確定。
 
再來談到庫存,還有一項不可分割的活動就是庫存盤點。庫存盤點是對每一種庫存物料進行清點數量、檢查質量和登記盤點表,且對盤盈盤虧數量進行物料帳面調整、達到物料帳物相符目標的管理過程。批次管理也是生產管理的一種重要手段。當某個物料有儲存有效期限制時,或需要對該物料的每一批物料進行跟踪控制時,可以採用批次管理功能。
 
計劃類屬性
 
物料的計劃類屬性主要描述與生產計劃管理相關的資訊,這些資訊包括確定物料需求的方式和物料需求的各種週期量的數據。例如,是否獨立需求、補貨政策、補貨週期、訂貨點、訂貨批量、採購或加工提前期、生產已分配量、銷售已分配量、不可用量、庫存可用量、批量政策、批量週期、預設工藝路線編碼、預設工藝路線名稱、是否可以替換、可替換物料編碼以及是否虛擬件等。
 
銷售類屬性
 
物料的銷售類屬性主要描述與物料銷售有關的資訊,包括銷售價格、銷售人員和銷售類型等內容。例如,銷售計劃價格、計價貨幣、折扣率、是否售價控制、銷價下限率、銷售成本科目、佣金、銷售人員編碼、預設的客戶編碼以及物料在買方使用的編碼等。
 
以上僅僅是從一個物料,我們就已經剖析出近百個管理屬性。由此可見一個複雜的ERP管理軟體是有著多麼錯綜複雜的管理網狀結構。 ERP的管理對象的複雜性,需求的多變性決定了我們不可能像引進機器一樣引進ERP,引進ERP的管理思想。它必須立足企業,融入企業自身的管理特徵與管理條件才能發揮作用,也才可以真正落實數據化流程管理。


 
        而我在多年協助企業導入與量身定做開發ERP管理軟體時,很多企業在考慮實施導入的時候,往往只注重到了他們現有看的到、感覺的欄位屬性,但無論是何種生產類型生產什麼產品,無論企業的規模大小,他們都是根據客戶的需求確定什麼時候生產什麼產品生產多少數量,從而確定什麼時間採購和生產什麼物料,採購和生產多少數量。他們要對供應鏈上的物流、資訊流、資金流進行優化控制和管理,使資源利用最大化。他們都追求共同的目標:最大限度的縮短產品的生產週期和採購提前期,最大限度的降低庫存資金佔用,降低生產成本,準時交貨,提高生產能力,快速響客戶的需求。



      但是決定ERP能否真正能給企業帶來經濟效益的,決定ERP實施成敗的關鍵因素,必須好好討論物料品名欄位它必須開立的欄位清單,而製造業隨著他們的生產組織、生產批量、生產產品的不同,其管理需求是不盡相同的。一般ERP軟體產品將製造業企業分為離散製造業和流程工業兩類。又將離散製造分為單件生產、多品種小批量生產、大批量流水生產和大規模定制等四種類型,以及上述類型的混合製造模式。根據客戶定單介入生產過程的不同又分為按庫存生產、按定單裝配、按定單生產和按定單設計的管理模式。比較全面的ERP產品他們通過不同功能的配置可以滿足上述不同需求。但一個ERP產品要想把上述各種各樣的需求都包含在產品裡,那麼這個產品就是一個怪物,譬如我們還是以物料的屬性為例,有些物料的屬性是可以窮舉的,譬如成衣生產的規格;而有一些屬性是無法窮舉的,譬如布匹染廠的,布匹顏色、尺寸大小。所以,ERP產品有強烈的專業性,而對這一點認識和客戶化處理決定企業ERP實施的成敗,所以要導入一個好的成功地ERP管理軟體,必須和企業流程、企業產業特性進行徹底地了解與討論,整理出目前與未來要分析管理的品名欄位,才是一個導入與開發ERP的起始點。




網智數位-軟體開發,專門針對客戶進行量身設計的客製化軟體,已有多年經驗,也在不同產業領域都有實作成功案例。

(作者其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) - 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異
ERP 系統的淺談與優勢
ERP 系統在中小企業如何有效利用條碼與QRCode
[ ERP/MRP 系統 ] - 專案導入深入剖析
ERP 導入的投資報酬評估(ERP客製化、進銷存軟體)
ERP 與 CRM 整合對企業的重要性(軟體開發、ERP客製化)
ERP思維突破:啟動企業智能革命,引領未來行銷新浪潮
AI時代的ERP:釋放企業潛能的新革命


網智數位-開發團隊

一直突破開發技術、累積各種產業知識,而且在出版業、室內設計裝潢業、製造業、機電顧問、貿易、地板、窗簾、窗材、拉門、布料業的商業管理軟體投入有特別的領域知識、也在圖控軟體(圖控軟件)、機械手臂、 Android APP 、iPhone APP、3D列印 開發一直突破再創新,我們也堅持相信好的軟體可以協助企業,不管在管理營運角度、商品創新、決策分析等都絕對是不可缺少的關鍵因素,如果客戶您有任何軟體開發、程式開發委外需求,請聯繫我們讓我們協助您一起討論如何開發一個好的軟體來協助您。



網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen





2017年7月25日 星期二

(ERP)產品成本計算系統(軟體開發、軟件開發、客製化軟體)

     今年7月份由一家多年在越南設廠的文具用品的台商,委外我量身定做開發屬於他們的ERP系統,該廠商在未委外給我開發軟體時,也在其他知名的套裝軟體有多年的使用經驗,但因為市面上的套裝軟體事實上無法真正的負荷他們的流程以及產品與用料成本計價方式,所以透過 Skype 與我洽談很久(談了2個月),確定我們開發團隊可以了解他們目前工廠遇到的問題就正式放心交個我進行開發設計了。

       不過難度比我想象的還複雜,不是一般BOM表可以用來克服成本計算,所有要分析他們所有會產生成本的各種因素,如材料、人力、耗材、製程,下面系統畫面是一個部分使用者操作畫面,可以用來自動計算單一個產品的所有影響成本的統計計算,未來他們就只要填寫報價單,轉正式訂單,系統就會把複雜的成本計算自動算好,帶入報價與訂單系統。


aaa


一個好的軟體系統,可以有效提升企業與工廠內部管理,讓企業專注於客戶接單、產品研發、而流程整合與數據分析就交給好的軟體系統。


(其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) - 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異
ERP 系統的淺談與優勢
[ ERP/MRP 系統 ] - 專案導入深入剖析



網智數位-軟體開發(軟件開發) 
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2017年7月10日 星期一

如何利用管理軟體來協助企業的銷售統計和分析(軟體開發、系統分析、管理軟體、客製化軟體)

     一家公司隨著營運的時間越久,所擁有的客戶資料、訂單資料、出貨資料、銷售成本資料等等,這些有價值的資料訊息,如果會很好地透過資訊系統、管理軟體來加以利用與分析,那麼可以有效協助企業進行更有競爭力的營運面向,而今天所謂銷售統計和分析是指對企業實際銷售的事後歸納與產出建議分析,這樣一來不僅可判別實際工廠生產經營是否已達到預期的目標、或者商品買賣利潤是否最大化,而且我們可以透過資訊管理軟體從中可以發現企業營運流程存在的各種問題,例如,實施的策略是否正確、組織機構是否適應、應變措施是否得當等。





      然而再進行銷售統計分析的依據是具體而準確的每日日常銷售記錄,而好的管理軟體,如 ERP系統就會為各種訂單、出貨記錄資訊進行有效收集和維護,也提供了有力支持。


      銷售的統計分析可以根據需要採用不同的思考方式來進行,例如我舉例我歷年幫客戶比較常進行的分析項目有大致如下:


       ·分類帳目分析:將分類帳目中所列各種銷售費用帳目的數值,如:運輸費用、委外加工費、差旅費、廣告費、郵電費、網路行銷費用、銷售佣金和特殊費用(如接待費等)進行加總統計,計算出各類費用佔總銷售額的百分比,然後進行分析對比,如:各類費用年內變化情況、各類費用比例與以往不同年度對比、各類費用比例與同行業對比、各類費用之間比例關係對比、歷年費用交叉分析比對等等。

·具體銷售功能與成本分析:將分類帳目所列銷售費用帳目按功能分類,然後再予以分析。至於功能如何劃分則常因企業不同而異。

(一)直接銷售費用:如各門市部、維修服務部的辦公費用、銷售人員工資、差旅費、伙食費等。

(二)間接銷售費用:如銷售人員的在職教育培訓費用、管理人員的薪水及市場研究費、銷售統計費等。

(三)其它銷售費用:如廣告費、運輸費、存儲費、分期付款所佔資金的利息等。


    ·市場單位銷售成本分析:將銷售費用按照不同的市場單位進行分析,然後與上述兩類分析進行聯合對比,以分析各類市場對企業經營狀況的影響。市場單位的劃分可採用銷售地區、產品類別、客戶類型、訂貨量的大小等不同方法,要根據需要而定。


      銷售分析必須蒐集各種必要的統計資料。統計報表提供的主要資訊可能包括些許項目:交運資料( 交運地點、日期、交運額)、銷售數量、銷售額、銷售成本、稅務信息,銷售代理商及銷售物料資料等等等。統計的時間範圍一般為 l~5年,可以按年度進行匯總比較,也可以按時段(通常為月度)進行 比較。這是一類時間序列型縱向統計資料,適用於趨勢分析。

統計的口徑根據不同的目標可選用:按客戶分類統計、按銷售代理分類統計、按銷售物料代碼分類統計、按銷售地區代碼分類統計、按市場領域進行分類統計(如行業分類) 以及按交運日期、地點等分類統計。分類統計的目的是為了進行橫向比較分析,以利於進行市場研究決策、制訂銷售戰略。

       銷售統計報表的資料不僅與SD模塊有關,而且還依賴於成本核算中的各種開票接口資訊。因而,銷售統計報表不但反映了實際銷售完成的情況、檢驗計劃的合理性,而且還有利於分析銷售管理的投入產出關係,進行各種策略下的盈虧分析。如:增加廣告宣傳費用對銷售的影響、採用效益掛鉤或數量折扣政策對銷售的影響等。




網智數位-軟體開發,專門針對客戶進行量身設計的客製化軟體,已有多年經驗,也在不同產業領域都有實作成功案例。

(作者其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) - 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異
ERP 系統的淺談與優勢
ERP 系統在中小企業如何有效利用條碼與QRCode
[ ERP/MRP 系統 ] - 專案導入深入剖析
ERP 導入的投資報酬評估(ERP客製化、進銷存軟體)
ERP 與 CRM 整合對企業的重要性(軟體開發、ERP客製化)
ERP思維突破:啟動企業智能革命,引領未來行銷新浪潮
AI時代的ERP:釋放企業潛能的新革命






網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen




2017年7月6日 星期四

透過 Delegate 委託支援的方法,撰寫非同步任務(軟體開發、客製化軟體、系統設計)

      此篇文章主要是延續之前的文章 【C#多工作業與平行處理技術講解】,講解與實作如何在利用強大的 透過 Delegate 委託支援的方法,撰寫非同步任務,這裡一樣我會透過簡單程式碼進行實作教學。

       在.Net 平台的委派類型(Delegate)自身就可以很容易地使用非同步作業,因為只要是委派(Delegate)類型都一點有 BeginInvoke 以及對應的 EndInvoke() 這 2 個非同步操作方法,所以我們就可以非常容易地透過 委派實體 直接 使用非同步任務。
      在這邊我一樣使用 Windows Form 來做示範(因為比較單純可以講解程式技巧,所以不要問我為何不用 ASP.NET MVC),整個實作範例畫面為如下圖:


繪圖



步驟1 :
在 Visual Studio 新增一個 Windows Form 專案,我們準備拖拉幾個控制箱來達成 主要結果畫面,分別有
Label 控制箱 (Text = 基數)、Button 按鈕控制箱(Text = 進行計算作業 , Name = btnDelegateInvoke)、ProgressBar控制箱(用於顯示非同步作業的進度)、TextBox 文字方塊(Name = txtResult , 用於顯示執行計算結果)。


步驟 2:
在 Button 控制箱 (name = btnDelegateInvoke)的 Click 事件,撰寫主要核心代碼:
private void btnDelegateInvoke_Click(object sender, EventArgs e)
{
    int baseNum = default(int);
    if (!int.TryParse(txtBaseNum.Text, out baseNum))
    {
        MessageBox.Show("請輸入一個正整數哦!");
        return;
    }


    txtResult.Clear();

    // 顯示進度表的狀態
    IProgress<int> progressReporter = new Progress<int>((p) =>
    {
        this.progressBar1.Value = p;
    });


    //  計算階乘的委派實體
    Func<int, BigInteger> ComputeNumValueAction = (bsNum) =>
        {
            BigInteger bi = new BigInteger(1);
            for (int i = 1; i <= bsNum; i++)
            {
                bi *= i; //相乘
                // 用於計算目前進度
                double ps = Convert.ToDouble(i) / Convert.ToDouble(bsNum) * 100d;
                progressReporter.Report(Convert.ToInt32(ps));
            }
            return bi;
        };


    // 開始呼叫使用
    btnDelegateInvoke.Enabled = false;
    ComputeNumValueAction.BeginInvoke(baseNum, new AsyncCallback(FinishedCallback), ComputeNumValueAction);


}



2017-07-06_01-01-56



程式碼邏輯講解:
1.在 Progress<T> 是實現 IProgress<T> 介面,所以這裡可以透過它支援的 Report()方法來報告目前非同步的操作進度數據,該對象在進度更新後,是允許使用者直接繼續操作主畫面的,例如拖拉。

2.Func<int,BigInteger> 委派,代表自身帶有一個 int 類型的參數,而返回的值類型為 BigInteger,這邊我特別用 BigInteger 類型,因為在計算階乘的計算結果,可能數字會非常大,會超出 long 類型的最大值。

3.在開始進行使用 委派(Delegate)支援的BeginInvoke方法時,必須再使用一個 AsyncCallback 委派,該委派主要是用於綁定一個方法,在檔非同步任務完成時,可以呼叫的回調方法,並且再回調方法中,再次調用 Delegate.EndInvoke方法來捕捉計算結果。

我們直接看 AsyncCallback 綁定的 FinishedCallback 方法。

private void FinishedCallback(IAsyncResult ar)
{
     // 取出委派變數
    Func<int, BigInteger> action = (Func<int, BigInteger>)ar.AsyncState;
    // 求得計算結果
    BigInteger res = action.EndInvoke(ar);
    this.BeginInvoke(new Action(() =>
     {
        btnDelegateInvoke.Enabled = true;
        // 顯示計算結果
        txtResult.Text = string.Format("計算結果:{0}", res);
     }));
}


ddd



上述程式碼撰寫完畢後,就可以編譯執行,在 基數欄位輸入一個正整數,就可以進行非同步的計算階乘作業。



參考文章
C#多工作業與平行處理技術講解
1.透過 Thread 類別撰寫多執行緒多工作業。
2.透過 Delegate 委託支援的方法,撰寫非同步任務。
3-1.透過 Parallel 類別操控多任務平行作業(一)。
3-2. 透過 Parallel 類別操控多任務平行作業(二)。
4.使用 Task 自行控制非同步任務作業。 
5.在非同步作業時,如何取消非同步任務。 
6.多執行緒多任務存取相同變數,但卻各自隔離保留各自任務的值。
7.非同步存取變數的問題。
8.非同步資源鎖定解決方式。






網智數位-軟體開發(軟件開發)

針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen