iT邦幫忙

0

如何建立一個可以創建公文簽函稿的ASP.NET?

不好意思要大家聽聽我這個程式新手的問題
公司原本有一個公文流程的登記系統
但最近稽核認為這樣遠遠不足以管控公司內部需要
於是乎要求我們要能在發文時即載入流水號管控所有公文

我想到的方案有二
一、透過巨集方式開啟Word範本,並且在範本中呼叫流水號控管
我有試著在Visual Studio 中建立新的 Word 文件專案來實作這個想法
發現這樣雖然簡單但卻有巨集容易被關閉甚至內文範本被刪修的問題
二、參考標準公文系統的作法,以網頁式的方法來管控所有控制項
但因為經驗與能力薄弱所以實行上極有困難
因此前來請益相關的作法與參考

p.s 我會寫一點簡單的C#

看更多先前的討論...收起先前的討論...
外獅佬 iT邦大師 1 級 ‧ 2010-10-15 21:11:23 檢舉
應該先把整個系統架構弄出來吧....
感覺您很急著要動手寫程式啊....
外獅佬 iT邦大師 1 級 ‧ 2010-10-16 23:20:48 檢舉
charles502提到:
要求我們要能在發文時即載入流水號管控所有公文

還沒存檔就載入???
那...如果取消呢?
應該是存檔之後,把系統給的流水號帶出...比較不會造成斷號的問題
sula3065408 iT邦研究生 1 級 ‧ 2010-10-18 08:59:58 檢舉
同意++
問題不在流水號
而是完整的公文系統

C#, ASP.NET, 公文系統
Google的結果是源代碼下載
player iT邦大師 1 級 ‧ 2010-10-18 14:17:54 檢舉
可是您提供的這套code
用了很多來路不明的 dll或 ocx
如果真的要實驗
需要勇氣

個人建議
有些asp.net的應用書籍裡
有的也有現成的公文系統
如果要用
不如去找那些
或是做為參考, 自己寫一套?
(自己寫過一套簽呈系統, 已上線約一季, 目前還OK)

不過後來看到一本
ASP.NET 2.0網站開發實例演練
http://www.books.com.tw/exep/prod/booksfile.php?item=0010359729
看似架構還算不錯, 不過我沒有裝起來實地試看看
或許你可以拿它書上光碟當範本參考看看
charles502 iT邦研究生 5 級 ‧ 2010-10-19 09:55:25 檢舉
因為我本來想的很簡單.........
就只是單純的在word公文中帶入流水號即可
但實作後發現這樣的問題太多Orz
可是又不想也沒有能力作出一整個系統架構
因為以敝單位的人力來說
那不如外包給專門的廠商做
只是以我們的公文量來看似乎沒有這個必要

至於斷號的問題
我認為公文號只是一個號碼代表
有沒有斷號理論上是無所謂的事情
charles502 iT邦研究生 5 級 ‧ 2010-10-19 09:56:15 檢舉
感謝兩位的協助
antijava說的沒錯
其實弄個完整的公文系統即可解決這些問題
但卻有很多問題阿~~
ginsu iT邦新手 5 級 ‧ 2010-10-20 16:19:32 檢舉
抱歉,我剛來,看不太懂開版者的問題,試著用我的理解描述一下,

問題:需要能在發文時即載入(發文)流水號的機制,以便管控公文。
現況:用word的範本發文,公文量不大,也無發文流水號機制,現有公文流程登記系統,但公文是紙本跑,未電子化。

假設在下的理解無問題,那麼您的需求不難處理,做法如下:
1. 用vs2008以上開發word2007文件專案
2. 開新專案的過程,有精靈引導您要用新的word文件還是舊有的word文件,建議您選擇舊有word的文件,並選擇貴公司的word發文範本
3. 寫程式,在文件存檔前取得文號及存入資料庫
private void ThisDocument_BeforeSave(object sender, Microsoft.Office.Tools.Word.SaveEventArgs e)
{
//先取發文單號
lblSendDocNoValue.Text = getSendDocNo();
//儲存發文單號到資料庫
//注意單號若已存在,即不再重覆寫入資料庫
}

private string getSendDocNo()
{
//實作產生單號機制
return "您的發文單號";
}
4. Build一下專案,把word檔copy出來給大家用即可。
player iT邦大師 1 級 ‧ 2010-10-20 16:51:34 檢舉
先取單號,會有要不要先計數增值的問題
如果不先增值+1,可能會同號
如果先增值+1,要是被取的單號,永遠是草稿,或送出前作廢的話,可能導致跳號現象

所以在Insert的時候,再抓單號
可能這樣發生問題的機會
會低一些

我個人是不建議抓單號的code寫在展示層的網頁上
因為在極低的機率還是有可能發生同號

看你的公文是一定要用Word存檔? 還是可以改用Web當操作介面?
後者比較容易找到現成的套件
charles502 iT邦研究生 5 級 ‧ 2010-10-21 14:49:44 檢舉
您的理解無誤
這的確是我要的
而且依照主管的態度似乎是想要用word來控管流水號問題
但我有試著實作一下發現
會有巨集被阻擋或者被user手動關閉且刪除的問題
請問這該如何防範?
charles502 iT邦研究生 5 級 ‧ 2010-10-21 14:50:21 檢舉
目前看來是只能用word了
感謝您的建議

1 個回答

10
player
iT邦大師 1 級 ‧ 2010-10-15 22:53:58
最佳解答

你是問
你寫了一個ASP.NET的網站
當發送公文(insert到SQL時)
要自動取得流水號到該公文Table的公文編號的欄位嗎?

範例給你,如果你看得懂的話,請自己改寫,用在你Insert的地方
單號產生器
http://www.player.idv.tw/prog/index.php/%E5%96%AE%E8%99%9F%E7%94%A2%E7%94%9F%E5%99%A8

charles502 iT邦研究生 5 級 ‧ 2010-10-18 10:08:53 檢舉

其實我是腦中完全沒有畫面該如何去做這個功能
我用過完整的公文系統
但是又不想且沒有能力做到那麼大
在最基本的狀況下我希望用ASP.NET來做出一個公文範本且附加流水號
冒昧請問
這該怎麼去做?
抑或有範本可參考??

我要發表回答

立即登入回答