隨筆 - 21  文章 - 12  trackbacks - 0
          <2011年1月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(4)

          隨筆檔案

          文章檔案

          新聞檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          前面講到我在做2BizBox ERP開發的時候,遇到導入數據的需求,然后我用JXL對Excel進行了一些操作。

          但我們不能讓用戶輸入“1,2”這種坐標吧,如客戶編號坐標;用戶肯定喜歡用Excel的坐標,A1,B1等來表示。來個圖看看:


          所以就要求程序把A1,B1等轉換成JXL認識的坐標。

          第一步:校驗數據,看是否符合Excel坐標表示法,我用的是正則

          第二步:把字母轉化成數字

          代碼供參考

          publicstaticint[] splitExcelCell(String coordinate) {

                coordinate = coordinate.trim().toUpperCase();

                int[] colAndRow =newint[2];

               

                if (coordinate.matches("[A-Z]{1,2}[0-9]+")) {

                  

                   StringBuffer tmpS = new StringBuffer();

                  

                   for (int i = 0; i < coordinate.length(); i++) {

                      char c =coordinate.charAt(i);

                     

                      if (c >= 48 && c <= 57) {

                          colAndRow[0] = Integer.parseInt(coordinate.substring(i));

                          break;

                      }

                     

                      tmpS.append(c);

                   }

                  

                   colAndRow[1] = splitExcelCol(tmpS.toString());

                }

               

                return colAndRow;

             }

            

           

             publicstaticint splitExcelCol(String coordinate) {

                coordinate = coordinate.trim().toUpperCase();

                int colNumber = 0;

               

                if (coordinate.matches("[A-Z]{1,2}")) {

                   if (coordinate.length() == 1) {

                      int k = coordinate.charAt(0) - 64;

                      colNumber = k;

                   }

                   elseif (coordinate.length() == 2) {

                      int i = coordinate.charAt(0) - 64;

                      int j = coordinate.charAt(1) - 64;

                     

                      colNumber = i * 26 + j;

                   }

                }

               

                return colNumber;

             }

          當然程序也要做一些判斷,如果用戶輸入有誤的話,報一些錯誤提示。

          posted @ 2012-06-19 09:54 zhangchuanzheng 閱讀(210) | 評論 (0)編輯 收藏

           

          大家知道TWaver Java總的TList繼承自Swing的JList,所以我們可以很容易控制其選擇,例如單選、多選等。但是本文介紹如何控制按指定數量進行選擇。

          人生就是一個不停選擇的過程。所以,我們必須要謹慎的控制好你的選擇,無論是TList的SelectionModel,還是人生之路。

          在實際項目中,我們經常需要對list進行不能超過限定數量的多重選擇控制。本文用到的技巧可能是本站最簡單的一次了:利用DataBox的SelectionModel,當選擇總數超過限定,就將最早的選擇刪除。

          其中max我們可以指定。乳溝max=1則變成了單選。

          通過這個思路,本文寫了一個很簡單的例子:通過控制多選數量,制作一個簡單的點菜選擇。相信你的系統中也經常會有類似的場景:通過list讓用戶選擇指定數量的數據。



           

          posted @ 2012-05-29 17:14 zhangchuanzheng 閱讀(175) | 評論 (0)編輯 收藏

          Java很早就推出了Java Web Start(簡稱JWS)技術。這一技術的初衷很好:希望將桌面程序和Web頁面之間搭起一個無縫的橋梁。雖然Applet技術已經存在了十多年,但是它日趨老邁衰落,所以JWS也就應運而生了。

          但是JWS并未順利實現它的初衷。從Java的幾次大改版都可以看到,JWS的bug多多,漏洞頻頻,Sun和Oracle不得不頻繁的進行打補丁 修復。可以看看Java 5和6每次大小版本升級變化中,有多少是和Java Web Start有關的。難怪很多人都這樣感嘆:“哥再也不用Java Web Start部署應用了!”其實也未必,隨著Java的不斷完善,我們只要了解更多的技巧,就可以有效的消除一些JWS潛在的問題,并順利的應用在企業應用 中。

          以2BizBox ERP項目為例,本文介紹如何在企業應用中利用動態生成JNLP文件的技術來實現應用的快速部署。

          大家知道,2BizBox ERP作為一個免費的高質量ERP軟件,有成千上萬的用戶。就我們開發團隊負責維護的服務器,就有近千臺。每臺服務器都是一家企業,每家企業又有幾十上百 的客戶端。如果采用下載客戶端安裝程序進行安裝的方式來維護諸多的客戶端,無疑是巨大的工作量,用戶和我們開發團隊都不會輕松方便。為了解決這一問題,采 用JWS無疑是必然的選擇。

          為了讓客戶端自動啟動下載和安裝程序,我們在企業的2BizBox ERP服務器上部署以下JNLP文件內容:

          上面的JNLP文件定義了2BizBox ERP客戶端啟動所需要的jar包以及下載位置、jre版本等。

          在實際應用中,效果良好。但是由于JNLP和JWS本身的bug,在某些情況下,后臺jar程序更新升級后,用戶側啟動jnlp并不能獲得更新,需 要強行清空JWS緩存才行,這肯定不是一般用戶懂得的。還有一種情況,就是由于ERP本身的jar包發生了變化(例如發生了增減),此時相當于jnlp文 件的內容發生了變化。這時候,要求用戶一側機器必須意識到jnlp的變化并先將jnlp進行更新。在很多java版本中(例如jre6的早期版本——例如 jre6 update20之前),由于潛在的一些bug等原因,都不能順利的進行更新,導致程序啟動失敗。

          如何解決這一情況呢?采用動態jnlp是一個有效的方法。

          動態jnlp的思路是:在服務器的后端,通過jsp或servlet來動態的生成一個jnlp文件,而不是放置一個靜態的固定不變的jnlp文件。這樣,jnlp文件內容就可以通過后臺應用的邏輯進行動態生成創建:需要什么jar包、需要什么jre版本等等。

          以jsp為例。在這個jsp中,首先要注意的幾個技術點是:要設置本頁面不要被瀏覽器緩存,放置jnlp內容變化無法及時被更新;其次要設置 mime類型讓瀏覽器認為它是一個jnlp文件,以便下載執行而不是直接在瀏覽器中顯示出來。通過設置response即可達到這些目的:

          其中,禁止瀏覽器和webstart緩存jnlp內容,通過設置:response.setHeader(“Pragma”, “no-cache”);和response.setHeader(“Expires”, “0″);
          設置文件類型,并給定一個動態的文件名。這個通過這個進行:response.setHeader(“Content-Disposition”, “filename=\”bb.jnlp\”;”);response.setContentType(“application/x-java-jnlp-file”);

          一個需要注意的問題是,在動態生成jnlp文件時,要注意jnlp文件中的href標簽不要進行設置。為什么呢?看一下jnlp的格式文檔是這樣說的:
          http://lopica.sourceforge.net/ref.html#jnlp



          The jnlp file's one and only root.

          Attributes
          spec=version , optional
          Specifies what versions of the jnlp spec a jnlp file works with. The default value is 1.0+. Thus, you can typically leave it out.
          version=version , optional
          Specifies the version of the application as well as the version of the jnlp file itself.
          codebase=url , optional
          Specifies the codebase for the application. Codebase is also used as base URL for all relative URLs in href attributes.
          href=url , optional
          Contains the location of the jnlp file as a URL. If you leave out the href attribute, Web Start will disable the update check on your JNLP file, and Web Start will not treat each new JNLP file as an application update - only updated jar files will. Leaving out href usually makes only sense if your jnlp file is created dynamically (that is, throug a cgi-script, for example) and if your jnlp file's arguments or properties change from request to request (user to user).
          Note, that Java Web Start needs href to list your app in the Web Start Application Manager.

          可見在動態生成jnlp時候就不要設置href了,這樣就可以保證每次瀏覽器會重新下載jnlp文件內容,否則可能會被緩存,無法及時更新程序。

          另外一個技巧是:jnlp文件中的jar包,可以進行動態檢查文件jar包并動態生成。這樣,如果以后程序的jar文件有增減,就不必修改jnlp文件了。方法也很簡單:檢查當前web在服務器的絕對路徑,并list所有的jar文件,然后在jnlp生成時候輸出即可:

          然后在jar的部分這樣列出:

          最后,如果需要在jnlp中指定當前服務器的ip地址或主機地址,也可以通過動態生成。例如jnlp文件中的codebase,就是如此。另 外,2BizBox ERP還需要在主函數中給出當前服務器的ip地址。而對于上千家的2BizBox服務器,每個jnlp要手工維護ip地址,是不可想象的。這里通過動態生 成,就永遠的解決了這個問題:

          然后在jnlp中:

          這樣,通過jsp動態生成jnlp的方案就完成了。它在2BizBox ERP中應用良好,方便的讓上千家2BizBox ERP的云主機用戶快速得到程序更新,而簡化了程序的維護方式。

          posted @ 2012-05-23 10:31 zhangchuanzheng 閱讀(400) | 評論 (2)編輯 收藏
          又免費,又免費,ERP免費,現在進銷存也免費了...2BizBox-A2正式發布
          轉個貼給大家看看哈
          用戶們盼望已久的2BizBox-A2正式發布了。 :P

          總有人抱怨2BizBox ERP還是太復雜難用。現在好了,A2提供了一個簡化版的2BizBox,它類似一個“進銷存”版本的2BizBox。
          A2對2BizBox ERP的模塊進行了精心的簡化和優化,業務只涵蓋了采購、銷售、庫存和財務,而去掉了工單和生產環節,是一個典型的“進銷存+財務”的業務系統。

          A2特別 適合沒有生產、或不想實施生產業務的企業。

          A2可以平滑升級到2BizBox ERP。

          主要特點
          • 2BizBox ERP精簡版:包括進銷存+財務,去掉了工單和生產環節
          • 簡單易用,業務精簡,適合不含生產業務的中小企業,或暫不對生產進行管理的企業
          • 可平滑無縫升級到2BizBox ERP
          • 界面風格和2BizBox ERP完全保持一致

          主要功能
          • 基礎數據模塊、采購、銷售、庫存、財務
          • 實現一體化進銷存+財務業務
          • 簡化ERP流程,可直實現無訂單直接收發料
          附件:
          2bizbox-109.png
          2bizbox-109.png [ 28.66 KiB | 被瀏覽 8 次 ]

          附件:
          2bizbox-117.png
          2bizbox-117.png [ 139.31 KiB | 被瀏覽 8 次 ]

          下載地址:http://www.2bizbox.cn/product/download
          posted @ 2012-04-28 18:25 zhangchuanzheng 閱讀(371) | 評論 (0)編輯 收藏
          轉發一下,確實很強大啊...
          關鍵是還免費...
           2BizBox最新版本 v3.5.0版本正式發布
          為了讓大家能夠度過一個愉快、祥和的5.1假期,2BizBox團隊不辭辛苦、全體發力,最新版本 v3.5.0版本正式發布…

          新增功能:
          1. 在控制面板中添加了“發料時必須指定領料人”的開關,啟用后每次發料時必須填寫領料人,防止漏填;
          2. 工單收料單列表添加“操作員”一列;
          3. 在“物料清單零件使用統計”、“零件短缺”界面中添加“項備注”一列;
          4. “工單工作簿”添加一個“全不選”的按鈕;
          5. 工單排產時,用特殊顏色標記有替換件的零件項;
          6. 公司設置中“零件號最大長度”后面加以標識“最大值為50”;
          7. 回收單收料單和退貨單發貨單支持項的拆分;
          8. 銷售單增加“以含稅價作為銷售單項計算標準”的功能;
          9. 零件的選擇界面改進,增加按型號、產品編碼、商品編碼等參數尋找零件的功能;
          10. 增加開關控制“是否顯示數字尾零功能”,可隱藏數量小數點后的尾零,價格默認保留兩位小數;
          11. 改進付款周期;改進付款周期界面的選擇以及添加功能;增加初始化付款周期老數據的功能;
          12. 銷售單和工單增加“取消”按鈕;
          13. 工藝上增加“備注“字段;
          14. 改進上傳零件文檔功能,不限制上傳文檔名;
          15. 改進了零件界面零件單位、采購單位以及采購單位轉換率的顯示方式;
          16. 改進采購單項上零件單位,采購單位以及采購單位轉換率的顯示方式;


          修復功能:
          1. 修復采購單,收料單,應付賬款及工單零件明細四舍五入造成的金額差異的問題;
          http://www.2bizbox.cn/forum/viewtopic.php?f=29&t=4450
          2. 修復導入客戶和供應商,如若其編號含有小寫字母,導入后,客戶以及供應商的聯系人添加后無法保存的問題;
          3. 修復“按物料查看銷售單X物料清單”報表中“標準成本”和“平均成本”位置顛倒的問題;
          4. 修復“應付賬款”無法對員工付款的問題;
          http://www.2bizbox.cn/forum/viewtopic.php?f=6&t=3096
          5. 修復因采購單“項目”數據太長造成的無法收料問題;
          http://www.2bizbox.cn/forum/viewtopic.php?f=4&t=4348
          6. 修復“搜索檢驗單”報表無法搜索出全部檢驗單的問題;
          http://www.2bizbox.cn/forum/viewtopic.php?f=4&t=4308
          7. 修復分庫后,導入工具庫存信息報錯的問題;
          8. 修復創建工單后,無法帶入零件單位的問題;
          9. 修復發貨需要查看地址權限的問題;
          http://www.2bizbox.cn/forum/viewtopic.php?f=4&t=4115
          10. 修復繁體發送通知無法選擇收信人的問題;
          11. 修復“從盤存表中搜索需要調整庫存的零件”無數據的問題;
          http://www.2bizbox.cn/forum/viewtopic.php?f=4&t=3853
          12. 修復“搜索員工”無法搜索出批量導入的員工問題;
          http://www.2bizbox.cn/forum/viewtopic.php?f=29&t=3827
          13. 修復郵件服務器不支持“-”等符號的問題;
          http://www.2bizbox.cn/forum/viewtopic.php?f=3&t=1359
          14. 修復工單排產時候,如果“替換件”數量過大,替換不成功的問題;
          http://www.2bizbox.cn/forum/viewtopic.php?f=2&t=3724


          下載地址:

          http://www.2bizbox.cn/product/download
          posted @ 2012-04-28 18:15 zhangchuanzheng 閱讀(468) | 評論 (0)編輯 收藏


          作為供應商,可能會在一個月內接到同一客戶的多次采購請求,會建立多個銷售單。但對每個銷售單每次都開相應金額發票又略顯繁瑣。在2BizBox里,您可針對此種情況,做批量應收賬款建立。

          在財務模塊->應收賬款->按發貨單項添加應收賬款,選擇要建立應收賬款的客戶,同時選擇幣種,點擊確定,出現如下圖1:
          附件:
          batch AR.png
          batch AR.png [ 87.72 KiB | 被瀏覽 11 次 ] 


          勾選希望應收賬款合并建立到一起的發貨單,點擊確定后,出現合并到一起的應收賬款頁面,如下圖2:
          附件:
          one AR.png

          隨后,財務相關人員即可進行收款等操作事宜。
          posted @ 2011-10-25 09:33 zhangchuanzheng 閱讀(241) | 評論 (0)編輯 收藏

          posted @ 2011-10-24 09:53 zhangchuanzheng 閱讀(1480) | 評論 (2)編輯 收藏


          2BizBox API v3.3.1已經提供發布。此次發布的主要更新內容涵蓋:

        1. 與2BizBox ERP v3.3.1同步更新;
        2. 改進了api內部緩存機制,降低類依賴,有效控制了包大小;
        3. 增加了集成式App開發運行環境2bizbox_gui.jar包;
        4. 修復了當修改后臺服務器端口后無法連接的問題;
        5. 簡單說,新的api,您可以:
          1、開發各種與2BizBox ERP v3.3.1進行集成的應用;
          2、開發各種App應用程序與插件。

          歡迎大家下載:http://www.2bizbox.cn/wiki/index.php/2BizBox_API%E4%B8%8B%E8%BD%BD

          posted @ 2011-10-13 10:01 zhangchuanzheng 閱讀(312) | 評論 (0)編輯 收藏
          posted @ 2011-08-09 13:53 zhangchuanzheng 閱讀(196) | 評論 (0)編輯 收藏

          posted @ 2011-08-08 10:31 zhangchuanzheng 閱讀(195) | 評論 (0)編輯 收藏

          posted @ 2011-07-15 11:31 zhangchuanzheng 閱讀(115) | 評論 (0)編輯 收藏


          時間:2011年8月22-24日
          地址:中國上海新國際博覽中心(上海浦東新區龍陽路2345號)

          2011年8月22~24日,2BizBox將參加第三屆中國(上海)國際石油化工技術裝備展覽會。其由中國石油和石油化工設備工業協會、中國國際貿易促進委員會化工行業分會及北京振威展覽有限公司主辦。cippe是國際石油石化行業例會,是中國大陸第22個獲得國際展覽聯盟UFI認證的高品質展會,每年春季在北京、秋季在上海舉辦,已成為全球最大石油展。

          2BizBox 位于W1展館W 1608展位,歡迎2BizBox的廣大用戶及關注與支持2BizBox的各位同仁蒞臨參觀指導。

          2BizBox是一款世界頂級免費ERP軟件,致力于為全球中小企業與制造企業提供高質量的免費ERP軟件。屆時,我們將展出2BizBox最新功能演示及典型案例分析,與大家共同分享。

          更多展會詳細信息請訪問:http://www.cippe.com.cn/

          posted @ 2011-07-11 11:41 zhangchuanzheng 閱讀(106) | 評論 (0)編輯 收藏
          posted @ 2011-07-11 11:34 zhangchuanzheng 閱讀(111) | 評論 (0)編輯 收藏

          介紹

          2BizBox推出“合作伙伴聯盟”計劃,誠邀各界優秀公司和個人加盟,共同為2BizBox用戶提供豐富、專業、高質量的軟件增值服務。

          研究顯示,全球需要企業信息化服務的中小企業市場有300~500億美元,且在持續增長中。中國作為中小企業數量龐大的制造業大國,這一情況尤為突 出。大多數中小企業尚未建立有效的信息化管理手段。這些中小企業的普遍特征是:資金薄弱、管理不完善、信息化基礎較差。隨著市場競爭的日益激烈,中小企業 也紛紛開始信息化建設,但很多嘗試并實施信息化的企業無法得到高質量的服務,導致信息化效果不佳。

          2BizBox作為免費ERP的急先鋒,在倡導軟件即服務的理念下,推出短短數月以來,已經獲得整個ERP行業的關注。目前軟件下載量已累計超過 50萬次,論壇日訪問量超過1萬PV,活躍用戶超過1000。很多企業正在積極研究、評估和學習2BizBox軟件,并即將進入實施階段。大量的 2BizBox用戶產生了龐大的服務需求市場,用戶期望獲得更加豐富、本地化的2BizBox軟件服務。

          為此,2BizBox籌建2BizBox“合作伙伴聯盟”,希冀共同為2BizBox用戶提供豐富、高質量的軟件增值服務。我們在全國范圍內,誠邀 企業與有識之士加盟2BizBox“合作伙伴聯盟”,2BizBox歡迎您加入合作伙伴聯盟,共享品牌、共享產品、共享市場、共享信息。

          無論您是任何行業的公司、企業或個人,只要您符合以下任意一項,您就可以成為我們的合作伙伴:

        6. 有意向全力合作共同發展;
        7. 有自主研發的軟件產品;
        8. 有信息化建設所需的硬件產品及服務;
        9. 有為企業提供軟件實施以及后續服務的能力;
        10. 合作伙伴授權項目:

        11. 2BizBox軟件授權實施服務;
        12. 2BizBox軟件授權本地客戶售后保障;
        13. 2BizBox軟件系統集成授權;
        14. 2BizBox軟件二次開發與定制;
        15. 合作伙伴分銷項目:

        16. 2BizBox軟件企業信息化硬件代購;
        17. 2BizBox軟件操作培訓課程;
        18. 2BizBox軟件網管培訓課程;
        19. 2BizBox軟件API開發培訓課程;
        20. 2BizBox軟件SaaS在線租賃;
        21. 優勢

        22. 獲得官方服務授權許可;
        23. 共享《合作伙伴聯盟》各種資源;
        24. 獲得官方網站目錄展示等市場推廣;
        25. 獲得2BizBox直接技術支持;
        26. 完善的聯盟體制,避免惡意競爭;
        27. 共享品牌、共享產品、共享市場、共享信息;
        28. 《合作伙伴聯盟》由四個會員級別:

        29. 戰略合作伙伴
        30. 金牌合作伙伴
        31. 銀牌合作伙伴
        32. 銅牌合作伙伴
        33. 備注:

          1. 合作伙伴需填寫《合作伙伴聯盟申請表》,由2BizBox團隊進行評估批準。
          2. 合作伙伴需具備一定的專業知識,并通過培訓取得相應的認證資質。
          3. 合作伙伴目錄及實施案例將在2BizBox官方網站適時更新。
          4. 合作伙伴可在授權期間和地域內開展指定的服務項目。
          5. 雙方需簽署《合作伙伴聯盟協議》,嚴重違反協議者,將終止合作伙伴資質,并追究其相應責任。

          聯系方式:

          聯系人:李經理
          咨詢專線:021-6439 8788(轉)809
          咨詢熱線:15900424005
          傳真:021-6439 5374
          咨詢郵箱:slong.li@servasoftware.com


          詳細內容請點擊


          官方網站:www.2bizbox.cn

           

          posted @ 2011-06-16 10:18 zhangchuanzheng 閱讀(191) | 評論 (0)編輯 收藏
          熱烈祝賀2BizBox第二屆免費公開課成功舉辦。
          感謝那些遠道而來的朋友,那些來自河北石家莊、山東、深圳、南京、杭州及上海的朋友,感謝大家的關注和支持。

          2BizBox_open_training_0527.jpg
          posted @ 2011-05-27 18:35 zhangchuanzheng 閱讀(200) | 評論 (1)編輯 收藏
          2BizBox v3.2.0 beta版發布后,中國財務的功能就完全展現在大家的面前了。中國財務無論是在業務上還是在使用上和外國財務還是有著天壤之別的。在此,2BizBox團隊向各位介紹一下有關進銷存在使用中國財務上需要注意的事項。

          一.設置本年利潤科目
          當您在初始化財務配置選擇中國后,系統將會自動增加“本年利潤”的初始設置。如要使用結轉損益,必須設置“本年利潤”科目。
          附件:
          1.PNG
          1.PNG [ 214.1 KiB | 被瀏覽 27 次 ] 

          首先,您需要返回“設置會計科目”界面,添加“本年利潤”會計科目,“本年利潤”的會計科目必須是“QN”類型,因此我們得先添加一個“QN”類型的會計科目->“本年利潤”。
          附件:
          2.png
          2.png [ 211.03 KiB | 被瀏覽 27 次 ] 

          然后,再返回“設置財務參數”界面,將設置好的“本年利潤”科目與“本年利潤”參數關聯即可。
          附件:
          3.PNG
          3.PNG [ 217.34 KiB | 被瀏覽 27 次 ] 


          二.設置自動審批人
          1.為什么要設置自動審批人
          自動審批人是通過“系統憑證類型”去添加的,首先先要去創建一個“憑證審批人”,因為創建“系統憑證類型”時需要“憑證審批人”這個字段數據,所謂要審批必須要有人去做,說的就是這個意思,所以必須為這個崗位配置一個人員才行。
          2.如何設置自動審批人
          第一步 創建憑證審批人。
          1.進入創建憑證審批人入口。
          附件:
          4.PNG
          4.PNG [ 104.55 KiB | 被瀏覽 27 次 ] 

          2.選擇一個員工號,將其添加為憑證審批人。
          附件:
          5.png
          5.png [ 10.48 KiB | 被瀏覽 27 次 ] 

          3.對其設置審批額度,用來定義審批金額的標準。
          附件:
          6.PNG
          6.PNG [ 12.75 KiB | 被瀏覽 27 次 ] 


          第二步 創建憑證字。
          創建一個憑證字,因為創建自動審批人是需要憑證字這個字段,憑證字是為了方便憑證分類查找檢核。一般來說,憑證字分為4種。第1種,“收款憑證”,憑證字就是“收”。用于收取現金、銀行存款時做。第2種,“付款憑證”,憑證字就是“付”。用于支付現金、銀行存款時做以下是添加憑證字的入口。第3種,“轉帳憑證”,憑證字就是“轉”。用于不動現金或銀行存款時做。
          1.進入添加憑證字的入口。
          附件:
          7.PNG
          7.PNG [ 134.64 KiB | 被瀏覽 27 次 ] 

          2.進入憑證字列表后,點擊右上方的“添加”。
          附件:
          8.PNG
          8.PNG [ 13.34 KiB | 被瀏覽 27 次 ] 

          3.憑證字和名稱是必填項,同時可設置會計科目。
          附件:
          9.PNG
          9.PNG [ 14.02 KiB | 被瀏覽 27 次 ] 


          第三步 創建自動審批人。
          為什么中國財務會需要自動審批人這一設置呢,原因是中國本土財務業務里,經常要批量做賬,所以如果一一去審批則會降低工作效率,有很多單據的審批程度相同,就可以把它們集結在一起,一次性將其審批完畢。
          1.創建完憑證字后,接下來就是創建自動審批人了,以下是添加自動審批人入口。
          附件:
          10.PNG
          10.PNG [ 130.16 KiB | 被瀏覽 27 次 ] 

          2.在系統憑證類型列表的右上方點擊“添加”。
          附件:
          11.PNG
          11.PNG [ 14.62 KiB | 被瀏覽 27 次 ] 

          3.“系統憑證類型”選擇“應付賬款的系統憑證”,之前創建的憑證字和審批人也可以在這里被選取。“應付賬款的系統憑證”包括“應付賬款”和“應付抵賬單”。
          附件:
          12.PNG
          12.PNG [ 13.97 KiB | 被瀏覽 27 次 ] 


          第四步 設置自動憑證審核:
          最后,在財務配置里,要將“自動憑證審核”勾選上,這樣就可以通過收料單和發料單直接創建賬款了。
          附件:
          13.PNG
          13.PNG [ 48.03 KiB | 被瀏覽 27 次 ] 


          提醒:銷售流程
          上面的步驟是采購流程創建賬款的注意事項,銷售流程創建賬款的注意事項和采購流程差不多,不過有幾點差異。
          首先,憑證字是“收款憑證”。
          附件:
          14.PNG
          14.PNG [ 14.01 KiB | 被瀏覽 27 次 ] 

          其次,“系統憑證類型”要選擇“應收賬款的系統憑證。”這樣一來,銷售流程的自動審批人也就添加完畢了。“應收賬款的系統憑證”包括“應收賬款”和“應收抵賬單”。
          附件:
          15.PNG
          15.PNG [ 14.28 KiB | 被瀏覽 27 次 ] 

          最需要大家注意的是,被添加為審批人的那個用戶,不能審批自己創建的單據。

          當設置成中國財務后,大家如果沒有做以上設置的話,那么在采購單或銷售單流程里最后創建賬款時會被系統提醒“自動審批人不能為空”。
          附件:
          16.PNG
          16.PNG [ 52.67 KiB | 被瀏覽 27 次 ] 


          另外,大家要注意一下摘要的問題,如在下圖中創建賬款界面中輸入摘要的話,系統創建憑證時會取此界面的摘要,如果不輸入,則取之前在創建“憑證字”時輸入的摘要。
          附件:
          17.PNG
          17.PNG [ 41.08 KiB | 被瀏覽 27 次 ] 


          以上是關于中國財務“自動審批人”的一些設置說明,希望對大家有所幫助。
          posted @ 2011-05-25 10:52 zhangchuanzheng 閱讀(1130) | 評論 (1)編輯 收藏
          有外幣業務的企業知道,財務上除了在做收付款時需要進行調匯以外,還需要周期性的對系統中的外幣賬戶進行匯率調整,將差異計入匯兌損益。那么,當我們進行月度調匯(或季度、年度,根據自身企業不同而定)時,如何決定哪些會計科目參與外幣調匯呢?答案就在會計科目本身上面。

          選中一個科目,進入編輯狀態。可以看見“核算外幣”和“期末調匯”兩個選項。“核算外幣”科目是說該科目是否是一個外匯科目。而“期末調匯”是說,如果是核算外幣科目,那么該科目是否參與期末調匯。
          附件:
          2bizbox_coa_currency.png
          2bizbox_coa_currency.png [ 38.71 KiB | 被瀏覽 158 次 ] 
          posted @ 2011-05-20 14:18 zhangchuanzheng 閱讀(198) | 評論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2011-02-15 12:16 zhangchuanzheng| 編輯 收藏

          上一錘提到了剛發布的免費ERP系統(www.2bizbox.com)后,大家反響很熱烈,短短3天就被下載了2萬多次,服務器一度宕機,呵呵。大家討論也比較熱烈,紛紛提出不少問題和技術探討,感覺非常有意義。這次和大家分享一下關于這個免費ERP的架構設計。之前先回答一下大家比較關心的一些問題:

          • 網站只提供了windows的exe安裝版,大家詢問是否有適合linux跑的版本:這個可以有,不過還需要一點時間來發布,幾周后就會有下載,請大家耐心等待并及時關注。目前,官網上已經提供了exe和zip,不過都是針對windows平臺的。
          • 下載后一些朋友無法解壓和運行,尤其使用迅雷等工具的朋友。這個原因還不知道,可能和多線程下載以及網絡有關,可以在下一次,或盡量不使用工具下載。由于服務器在國外,下載速度肯定不會特別好。不過一些熱心網友已經提供了國內的下載鏈接,官網較慢的可以試試這里:E備是鏈接地址,輸入驗證碼即可下載。我家2M帶寬,用chrome 自帶的下載工具下載,大約用了8分鐘完成下載。另外還有JavaSwingChina天極網下載華軍軟件園綠色軟件聯盟旋風下載中關村在線豆豆軟件站、。。。似乎一夜之間遍地都是了,呵呵
          • 還有朋友關心公司是國內的還是國外的:公司是美國的,不過我們上海這個小團隊負責一部分開發工作。在國內也有不少客戶,例如中石油、襄鉆股份、江漢三機、四機賽瓦等,我們負責本地客戶服務。
          • 有朋友詢問是否開源:目前是軟件完全免費,源代碼開放的事情還沒有消息。不過個人判斷完全有開源的可能性,呵呵,這要看美國人是怎么想的了。
          • 很多朋友關心團隊協調,高手低手如何共同工作,一個人搭框架,另外人不滿意怎么辦等等。我想這個并不是一個軟件團隊的特有問題。要說是問題的話,是咱們中國人特有的一種毛病還差不多。“不服氣”從來是咱們的特點,問題不是高手太少,而是“大明白”、“專家”、“牛人”太多了。我曾經去一個制造廠做實施,接我們的司機談起公司的管理來,那真是口若懸河、吐沫橫飛、頭頭是道,上至老總下至看大門的,都被分析的“體無完膚”,好像馬上換他去當老總一切問題立馬解決似地。所以我認為這根本就不是一個問題。想想“奧迪R8”和“寶馬7”這樣的工業精品都有一個總設計師,你是在問,BMW的一個剛進去工作的學生如果認為寶馬7系的總設計師設計有問題該怎么辦?

          還是來說說架構。先看這個圖就都明白了。


          提到架構,我們用到的第三方的框架不是很多,總的原則就是盡量簡單、穩固。這樣,就會高效、好維護。這遠比一些烏七八糟的所謂新思想新技術更加重要,畢竟我們的軟件要維護幾十年的(實際上已經從DOS到現在開發了20年了)。后臺主要是JBoss和Hibernate,其他大部分部分都是自己封裝。前臺則基于Swing以及自己封裝的各種組件。中間通訊也沒有采用第三方的框架,而是自己封裝,主要采用HTTP協議,對交換的VO(包括VO集合)對象(如參數、返回值、Exception等)進行標準的Java二進制序列化、zip壓縮、傳輸。調用的方法通過一個統一的invoke進行傳遞,被調用的模塊、方法名、參數等,都被封裝在一個POJO中傳給后臺。后臺Façade層解壓后,根據具體模塊,通過反射的方法,調用Local的各個模塊EJB,執行具體函數。每個函數先在Biz業務層進行業務邏輯分解處理,例如,如果要添加一個零件,要分解很多具體動作,先檢查零件號是否重復,再檢查零件號是否格式合法,數據是否完備,創建零件庫存初始信息、創建物料添加日志、通知相關人員…等等。分解后,形成具體的DAO操作,然后交給DAO進行調用相應的底層API完成。無數的DAO對各個業務數據進行各種數據級別的操作封裝(增刪改查等),然后通過Hibernate層進入數據庫。

           

          有朋友喜歡用Eclipse RCP來作為前臺框架。坦白說,我個人對SWT一向不喜歡,也不看好,因為他本質上和AWT的路線沒什么不同,只是后臺老板從SUN換成了IBM。當初以“好看+效率高”的旗號,SWT曾經風靡一時,人人趨之若鶩。不過本質上說,SWT這種技術是打著“好看/速度快”幌子分裂JAVA的政治游戲,我們程序員應當看清楚。當然不是說SWT技術不好不能做企業應用,實際上我認識的一些朋友已經用SWT搭建了好大好大的應用。不過SWT畢竟不是JAVA的官方技術。如果相信JAVA的未來的話,我覺著應當相信SWING才是正道。SWING有不足,但是它會不停的發展。另外,千萬別總拿“丑”和“慢”來攻擊Swing,說到底還是看你會不會用,吐口水實在無意+無聊。說道RCP框架,我倒更喜歡NetBeans。不過國內大家還是把Netbeans當做IDE來用,實際上這個RCP平臺相當不簡單,質量很高而且國外應用很多,已經非常成熟,有空可以多看看Netbeans的Platform頻道(不是IDE哦)。

           

          HttpInvoker沒有用過,不知是不是和Spring綁的比較死,看上去和我們的通訊方式完全類似。其實java序列化再傳輸就是幾行代碼的事情,如果不用Spring等框架,完全沒必要用第三方的,自己封裝一下就好了。看看這個代碼就知道了:

           1 /**
           2     * Here should be the unique access of FacadeWrapper.invoke!
           3     */

           4    public static Object invokeImpl(ServerAction action) throws ServerActionException {
           5        action = new ServerAction(action.getModuleName(), action.getMethod(), escapedStringParamsConvertor(action.getParams()), paramsTypeConvertor(action.getParamTypes()));
           6        action.setOrderBy(getOrderBy());
           7
           8        try {
           9            Object result = FacadeWrapper.getInstance().invoke(action);
          10            //unzip, if need.
          11            if (result instanceof ZippedByteArray) {
          12                ZippedByteArray zippedData = (ZippedByteArray) result;
          13                if (zippedData.getByteArray() != null{
          14                    try {
          15                        result = BB2Util.unzipObject(zippedData.getByteArray());
          16                    }
           catch (Exception ex) {
          17                        throw new ServerActionException(ex);
          18                    }

          19                }

          20            }

          21
          22            return result;
          23        }
           catch (Exception ex) {
          24            ExceptionWorker worker = new ExceptionWorker(ex);
          25            //
          26            throw new ServerActionException(ex, anotherServer);
          27        }

          28    }

          Hessian基于WS還可以支持不同的客戶端,也很不錯。不過我們這種需求不大,沒有使用WS以及其他客戶端技術的需求,也沒有采用。還是覺著簡單的東西自己封裝更加的靈活和容易控制。我們的思路是盡量少的引進第三方的框架。過多的異構框架導致的穩定性和靈活性的代價也是很大的。

           

          其他一些類似MQ之類的異步框架就更比較謹慎使用。前后臺調用需要實時性,肯定是同步調用為主。異步的情況不多,即使有,在基于HTTP的結構下(例如只開放80端口)也比較難實現。我們采用了JBOSS的JMS機制,實現一些后臺主動發送業務消息、上傳圖紙等功能。當然如果后臺禁止了相應端口,客戶端就自動放棄JMS連接,工作在純“主動模式”下,相當于一個“瀏覽器”。

           

          對于非桌面客戶端,例如手機、數據采集器、PDA等,我們在后臺的Façade層上面再包裝一個又一個簡單的“協議適配”就行了,也就是把Java的對象簡單的封裝到XML或HTML,負責與這類終端通訊。這樣,身后的安全啊、日志啊、業務啊等就完全復用,開發速度是很快的。對于大多手機,使用XHTML進行瀏覽即可;對于iPhone等則開發native的終端,對于PDA和數據采集器,由于有條形碼、收料發料、盤點等復雜應用,所以用本地的環境進行創建GUI(一般都是Windows CE,可用C#進行)。這樣,我們的架構可以簡單快速的支持各種不同的終端接入:


          有朋友擔心一個Servlet提供所有API太變態,其實不必擔心。沒錯,我們的模塊API至少上萬,但是這個后臺的Façade Servlet其實只有不超過10個方法。最主要的一個是invoke,方法都是通過一個對象封裝了模塊、方法名、參數序列等來通過反射機制完成的,所以,無論后臺模塊API有多少,只要通過這一個唯一的業務入口出入就行了。至于前臺使用不太方便的問題,可以通過前臺再次封裝展開來解決。

          最后在透漏一下這套免費ERP的下一步進度:目前正在緊張漢化工作,預計在本月內會發布全中文版本。Linux打包文件也在進行中,有望很快可以下載。其他還有很多很好的模塊,會陸續推出,期待大家支持和反饋。如果你身邊有人在研究或選型ERP,不放推薦一下這個全免費的、高質量的、專注機械制造業的大型ERP:2BizBox。
          套用一句劉儀偉的說法:現在誰還花錢用ERP啊?!

          最后送Swing界面:設置會計年度


          風信子長到第十天,沒有換水。
          posted @ 2011-01-19 16:57 zhangchuanzheng 閱讀(3183) | 評論 (3)編輯 收藏
          主站蜘蛛池模板: 庆阳市| 新蔡县| 准格尔旗| 九江县| 克拉玛依市| 武山县| 天长市| 华宁县| 昔阳县| 广平县| 张家界市| 江川县| 揭阳市| 东乡族自治县| 中西区| 甘洛县| 江安县| 邵武市| 松阳县| 巩留县| 遂宁市| 沂源县| 舟曲县| 五河县| 开平市| 广德县| 天津市| 沾益县| 滨海县| 永德县| 静海县| 鄂伦春自治旗| 同仁县| 木里| 临城县| 淮安市| 西乌珠穆沁旗| 南平市| 溧阳市| 巴彦县| 元朗区|