狠狠撸

狠狠撸Share a Scribd company logo
手冊說明 
目的: 
為使本公司的經銷商能快速安裝及使用Acmetech Acmeflow,所以撰寫這一手 
冊。希望能夠幫助經銷商完成系統的安裝及能夠向客戶展示本系統。 
本手冊的內容大都是來自 Acmeflow 使用手冊,不一樣的是:在這手冊中,我 
們以一張 ”請購單”來貫穿所有章節。無論是表單的設定,流程的設定或是client 
端的使用,都以這張表單為主體。 
本手冊都以比較簡單的設定來說明所有步驟,至於其細節部份,建議參考使用 
手冊。 
快速安裝 
主系統安裝 
執行光碟片中的 serversetup.exe,您會看到以下的畫面。選取「全部安裝」項目, 
安裝程式會依序安成「WorkFlow資料庫」、「產生Client 端的安裝程式」及「安裝 
server 端的元件」。
接下來,安裝程式會出現以下的畫面以確認您要全部安裝的項目。您可以根據需 
求而作修正。 
當選定要安裝的項目後,按下「下一步」就可以了。 
安裝Workflow 資料庫: 
接著,安裝程式會要求您輸入SQL Server 的管理者的帳號及密碼,以利安裝程 
式的繼續進行。同時,您必須告訴系統伺服器所在的電腦名稱及網域名稱;以及
SQL server 的版本。 
若您要使用client server 的版本的話,您可以選取「產生Client Server安裝程 
式」的選項,並指安裝程式所放置的位置就可以了。 
當您完成以上各項資訊的輸入後,就可以按下「登入」按鈕了。 
*此時所輸入的管理者代碼(sa)及安全密碼,本系統會以這一組代碼及安全密碼 
來建立 Workflow 所使用的資料庫及資料庫使用者。
下一個畫面會詢問資料庫的資訊,您可以選取已存在的資料庫來當本系統的資 
料庫,也可以按鍵以重新建立資料庫。您也可以按 
鍵,以重新指定資料庫伺服器。 
若您重新建立新的資料庫,則會出現以下的畫面。您只要輸入「資料庫名稱」,系 
統為自動為您建立實際儲存體名稱(Device),您可以根據企業的需求而改變實 
際儲存體的大小,系統預設值為Data Device 10 Mega byte,Log Device 5 
Mega byte。 
當填妥以上資訊後,按下鍵,系統會把workflow 所需的資料庫 
建立起來。
接著又回到上一個畫面, 此時您可以按鍵,以繼續進行系統安 
裝。 
按下「下一步」后,系统就会出现以下的画面而开始进行安装了。
安裝成功時,系統會出現以下的訊息,以通知使用者安裝成功。 
安裝 Transaction 及建立 Client 端安裝程式 
完成資料庫 setup 後,您可以進行 Transaction伺服器的安裝。在主安裝畫面按 
下「安裝 Transaction 及建立 Client 端安裝程式」的選項後,就會出現以下的畫 
面。 
在這介面中,您只要選取要將Transaction 套件安裝在哪一個目錄,然後按下
開始安裝的按鍵就可以了。 
您可以按下右方的按鍵以選取要安裝的目錄所在。 
按下「開始安裝」後, 系统就会进行安装了。
當這一部份安裝完成後,系統會將client 端的安裝程式分享出來; 每一個欲使 
用本系統的用戶端都可以連上伺服器,直接進行安裝。 
當完成這一部份的安裝後,系統就會出現以下的視窗以告知安裝成功。
服務程式安裝 
您可以在任何一台執行Windows NT 的電腦進行 workflow servive的安裝。而 
安裝方法,只要按下「安裝Workflow service」的選項就可以了。 
當您按下「安裝Workflow service」的選項,系統會出現一個視窗,讓您選擇要 
安裝的目錄。如下圖:
選擇好目錄後,按下確定鍵。系統會立即進行安裝的動作,當安裝成功後,系統 
會發出以下的訊息以通知使用者安裝成功。 
同時,在原來安裝的主畫面上,原來的「安裝Workflow Service」的選項會變為 
「移除 Workflow Service」。您可以利用這一個選項來移除已經安裝好的service。
當您按下「移除 Workflow Service」的選項時,系統會立即進行service 的解除 
安裝動作。 移除成功後,系統會出現以下的訊息以通知使用者移除成功。 
系統設定 
使用者設定 
新增使用者 
所有要使用此系統的人員,都必須在此介面登錄。 按下 新增|系統使用者,會
出現以下作業畫面: 
圖表 0-1 新增系統使用者 
? 使用者代碼:為此使用者的識別碼,最多可輸入10個字元,而且不可與其 
他使用者重複。 
? 使用者名稱:記錄此使用者的姓名,當系統在描述使用者的資訊時,常會 
使用代碼與名稱來辨識使用者。 
? 使用者部門:記錄此使用者所屬的部門,在此無法輸入;必須由公司組織 
介面來設定,請參閱【Workflow 使用手冊】。
? 使用者密碼/密碼確認:使用者登入系統時,所使用的密碼;兩個欄位的值 
必須相同。 
? 職務代理人:為管理者設定的職務代理人,管理者可按右方按鍵以選取其 
他系統使用者為該職務代理人。若使用者要自己變更職務代理人,請參考 
【Workflow 使用手冊】。 
? 信箱名稱:為Exchange server 中信箱的display name。 
? 電子郵件:為一般電子郵件信箱,系統以此欄位透過POP3來讀取使 
用者的信件。 
? 使用者說明:描述使用者的其他資訊,以利管理。
? 確定後新增下一個使用者:若勾取此欄位的話,則當管理者按下確定 
鍵後,這個新增使用者的畫面會持續開啟,以便輸入下一個使用者; 
反之,則會關閉此介面。 
公司組織設定 
公司組織的建制,是本系統最基本的作業;透過公司組織的架構,系統可以將 
電子表單傳送到正確的人員或職務的信箱。而本系統除了提供一般功能式公司組 
織外,也提供了各式的矩陣式公司組織。 
要設定公司組織,可選取右方的樹狀結構圖。 
新增部門 
可透過工具列上的按鍵或在「公司組織」區域按下滑鼠右鍵以選取「新增部 
門」。
當執行以上動作後,系統會出現視窗,以便管理者輸入該部門的資訊及選擇部 
門主管。 
? 單位代碼:輸入單位編號式單位識別碼,最多可輸入10個字元而且不可與 
其他單位代碼重複。 
? 單位名稱:輸入此單位的名稱,不可與其他單位名稱重複;最多可輸入32 
位元。 
? 單位主管:按右方按鍵可進入另一視窗以選取該單位的主管。
? 上層單位:在公司組織中,有一個特性就是有階層觀念,而這個觀念在本 
系統中就以樹狀結構(Tree Structure)來表現。因此要建構這樣一個樹狀組織 
圖,必須明確地指出每一節點(單位)的父節點(上層單位)。而在新增單位時, 
只要按下「上層單位」右方的按鍵即可以看到已存在的公司組織圖,而予以 
選取適當的上層單位。 
? 單位說明:描述此單位的其他資訊,以利管理。
? 確定後繼續新增下一個部門:若勾取此欄位的話,則當管理者按下確定鍵 
後,這個新增單位的畫面會持續開啟,以便輸入下一個單位;反之,則會 
關閉此介面。 
部門新增後,我們必須設定這部門中的人員;另外,我們也可以為這一部門設 
定一些職務群組。職務群組在系統中的功用有兩項:(一)為工作性質相同(似)的 
人員分派工作(二)流程中的職務群組人員異動時,不必變更流程設定 
【Workflow 使用手冊】。 
在公司組織的管理介面中可以看到有兩個頁面(page),分別可以做新增單位人 
員及新增職務群組的功能。 
新增單位人員 
新增單位人員的步驟如下: 
1. 選取該人員所屬的單位 
2. 按下工具列的按鍵
就會出現新增單位人員視窗,如下圖: 
? 此視窗會顯示所有系統使用者名單,只要在您所要的人員名單上雙擊滑鼠 
(double click),或選取您要的人員名單後按下確定鍵即可新增部門人員。 
? 若勾取「確定後繼續新增下一個使用者」欄位的話,則當管理者按下確定鍵 
後,這個新增單位人員的畫面會持續開啟,以便選取下一個人員名單;反 
之,則會關閉此介面。 
當您完成公司組織結構圖且為每位系統使用者選取所屬的單位後,您可以在
回到「系統使用者」資料夾,看看之前所建立的使用者,其使用者部門資 
訊已經填入適當的資料了: 
新增職務群組 
新增單位人員的步驟如下: 
1. 選取該人員所屬的單位 
2. 按下工具列的按鍵
就會出現新增單位人員視窗,如下圖: 
在這個畫面中,有三類的資訊,分別為職務群組的基本資訊、群組中的人員及工 
作分派方式。 
? 基本資訊: 
1.職務群組代碼:輸入此職務群組的代號,不可與其他職務群組代號相同且 
最多可輸入10個有效字元。 
2.職務群組名稱:職務群組名稱有兩種輸入方式,第一種是直接在空白處輸 
入群組名稱;另一種方式是透過右方的按鍵選取已存在的群組名稱,亦 
即在不同部門下可能會有相同的職務群組名稱。 
3.職務群組説明:描述此職務群組的其他資訊,以利管理。
? 群組人員: 
1. 加入人員:按下按鍵,就會出現一個人員名單視窗。而這視窗所 
出現的人員名單,全都是該部門的人員。 
? 此視窗會顯示該部門的系統使用者名單,只要在您所要的人員名單上雙擊 
滑鼠(double click),或選取您要的人員名單後按下確定鍵即可新增職務群 
組人員。 
若勾取此欄位的話,則當管理者按下確定鍵後,這個新增職務群組人員的畫面 
會持續開啟,以便選取下一個職務群組人員;反之,則會關閉此介面。 
表單註冊 
所有要在本系統運作的電子表單都必須經由「表單資料夾」來管理,本系統提供 
了表單註冊/刪除、修改表單資訊、預覽表單及加入/刪除表單屬性的功能。
要管理表單,首先先選取「表單資料夾」。 
此時會在右方看到表單管理介面,而其管理介面分為四個部份,分別為「表單分 
類」、「功能表」、「表單一覽表」及「屬性一覽表」。 
註冊表單 
選取功能表上的按鍵,就可以進入表單註冊介面。
在此畫面中,按下按鍵以選取您己經設計好的請購單。就會出現以下 
的介面以選取您的檔案。因為我們要使用一張請購單,所以選取「Demo2.ocx」. 
選取表單後,系統會立刻載入該表單所提供的資訊。
您可以在「表單資料」頁面修改相關的資訊。 
? 表單編號:記錄此表單的編號,用來辨識這一表單。不可與其他表單編號重 
複。 
? 表單名稱:記錄這一表單的顯示名稱。 
? 表單說明:說明此表單的其他資訊。 
? 介面名稱:表單設計時,所定義的介面名稱【詳見Workflow 使用手冊】。 
? OCX 檔名:此表單的程式名稱【詳見Workflow 使用手冊】。 
? 表單分類:表單所在的的資料夾,為方便管理表單必須設定方便的表單資 
料夾。 
? 版本:記錄此表單的版本,目前沒有功能。
? 註冊日期:為註冊此表單的日期,可修改。 
? 註冊人:為註冊此表單的人員。 
另外,在「表單屬性」頁面,您可以看到此表單在開發時期所設計的所有屬性 
【Workflow 使用手冊】。您可以在這時,將您會用到的屬性給選擇進來;或是可 
以透過「加入屬性」的功能來選取您所需要的屬性【詳見Workflow 使用手冊】。 
因為我們在流程設定時會使用”money”及”dollar”這兩個欄位值來作流程的決策, 
所以我們在註冊表單先把這兩個欄位import 進來,當然您也可以事後再來變更 
這些欄位項目【詳見 使用手冊】。 
流程設定 
在本系統運作的主體,就是流程【請參閱Workflow 使用手冊】。所以要作好完善
的流程管理才能為企業的運作帶來良好的效益。在這一節中,我們會對這一部份 
作一詳盡的介紹。而對於一些流程控管的領域知識(Domain Knowledge),請參 
閱【Workflow 使用手冊】。 
在本系統管理流程,首先先選取「流程資料夾」。 
您就可以看到在螢幕下方出現一個流程管理視窗。 
基本上,系統的流程檢視可分為三種狀態;分別為設計中,測試中及已發行。若 
您想看「設計中」的流程,可以按下按鍵,就可以看到所有處於設計狀 
態的流程。若您想看「測試中」、「發行中」的流程,可以按下、 
按鍵,就可以看到所有處於測試中或發行中狀態的流程。您也可以按下
來看所有分類項目中的流程。 
新增流程 
要新增流程,請按下按鍵下的「流程」。此時系統除了會自動建出「流程開 
始」及「流程結束」節點(活動,activity)外,也會自動顯示出「流程屬性」的定義頁 
面。 
在「流程屬性」的定義中,總共有七個頁面,分別為「流程內容」、「版本」、「流程處 
理」、「流程欄位」、「活動清單」、「活動傳遞清單」及「定義描述」。以下將針對每一頁 
面的各項功能及意義作一描述。
在流程內容的屬性頁中,您可以設定流程編號及流程名稱就可以了。以我們的請 
購單為例,我們可以把流程名稱命名為 ”請購流程”。 
在版本屬性頁中,您要特別注意「發行狀態」及「有效期限」兩個欄位。 
? 發行狀態:為此流程的狀態,共分為「設計中」、「測試中」、「正式發行」及「廢 
止」四種。只有測試中及正式發行兩種狀態的流程可以讓使用者來使用。而目 
前這兩種狀態只用來區別流程的狀態,對於實際運作並無差別。 
? 有效期限:描述這一流程可實際被使用的期限。系統會自動以流程的建立日 
期為有效期限的起始日期;而以一年為有效期限,管理者可按日期的右方 
箭頭來修改這些資訊。 
您必須妥善設定這兩個欄位,這個流程才能正常使用。
至於其他屬性頁的功能及其用法,請參閱使用手冊。 
接下來,我們可以開始來設定流程了。 
回到流程設計畫面,如下圖: 
通常我建議用以下的四個步驟來完成流程的設定。 
? 設置活動 
? 設定活動轉換 
? 設定每一活動內容 
? 設定活動轉換的內容 
(1) 設置活動 
設置活動的方法可以選取工具列上的按鍵或在流程圖面按下滑鼠右鍵,
即會出現以下的畫面以供選擇活動類別。 
您可以選擇一種活動類別後,然後在流程圖面按下滑鼠左鍵拖拉後,就會出現 
您所安置的活動。 
重複以上的動作,您可以將此流程所需的所有活動都逐一地安置在流程圖面中。 
就可以完成以下的畫面。
(2) 設定活動轉換 
活動轉換代表電子表單從一個「來源活動」(傳送者)傳送到一個「目標活動」(接收 
者)。設定活動轉換的方法就是在流程圖面上的「來源活動」按下滑鼠右鍵,即會 
出現以下的畫面並選取「活動轉換」。 
接著,滑鼠按下「目標活動」就可以完成設定了。
同樣的方法可以完成所有的活動轉換設定了。而完成如下圖的內容了。 
(3) 設定每一活動內容 
當完成以上步驟之後,您可以針對每一個活動需要,而設定其內容。首先在活動 
上雙擊滑鼠或按下滑鼠右鍵後選取活動屬性,就會出現以下的視窗。 
首先我們可以設定 “流程開始” 節點的活動內容。您可以在該節點上double 
click,就會出現以下的畫面。
在這畫面中,您主要設定的地方就是活動表單。在這我們選取 “請購單”。當您選 
取表單後,會出現以下的視窗。 
若選取 “是”,則在這流程中的每一活動都會套用這一張表單。 
接著,我們要匯入這活動所使用的表單屬性。 
而其方法就是在「欄位」的屬性頁中,選取在表單註冊時所匯入的表單屬性。
? 匯入表單欄位:將表單中的欄位,使用在此活動中。這樣的功能可使表單中 
的欄位在活動中傳遞,以利「決策活動」的進行。 
当选取要匯入的表单栏位后,按下「确定」键后,您可以看到在原来的视窗中,
出現了您所選取的欄位了。 
? 當然,您也可以使用global 變數來設定這些欄位,參閱使用手冊。 
接著,我們可以設定其他活動的受信者。詳細的設定方法可參閱使用手冊。 在這 
我們簡單地設定以下的接收者。至於其他類型的接收者,也請參閱使用手冊。 
活動名稱接收者代碼接收者名稱 
活動3 
Celab 
黃國城 
活動5 
Sky 
吳震明 
活動6 
Judy 
史玉雯
活動3 的內容: 
活動5的內容:
活动6的内容:
此外,在以上每一個活動中,其欄位的屬性頁中也必須匯入表單的屬性: 
money,dollar。其方法可參考流程開始的節點中的設定。 
接下來,我們要介紹的是活動4,決策活動的設定。 
當您正確完成以上各步驟的設定後,您可以活動4的「決策處理」 的屬性頁 
中,看到如下的畫面。 
您可以發現在活動欄位中出現了「 活動3.money」及「活動3.dollar」。也就是 
說您可以在這決策活動中使用「 money」及「dollar」兩個欄位來作決策判斷 
了。 
以下我們假設這張請購的流程如下:
當money 的值大於3000時,傳給Sky(吳震明),當Sky 同意後,再傳給 
Judy(史玉雯)。如果 money 的值小於或等於3000時,則當 Caleb(黃國城) 
完成審核後,就直接傳給Judy而不需給Sky 審核了。 
為了達到以上的情境需求,我們需要用 if…..then….else 的條件式來作判斷。 
因此,我們可以在左上方的「運算」視窗中選取適當的運算子及條件敍述句 
來使用。當完成這部份的設定後,您可以看到以下的畫面了。 
當您按下「確定」後,您可以看到原來的流程畫面,多了一組條件式判斷了 
如下圖。
當然,您也可以再用「dollar」的欄位一起來完成更複雜的判斷。 
當您完成以上設定後,您還必須注意設定此流程的權限。這一部份的設定, 
建議參考使用手冊。 
(4)設定活動轉換的內容 
在您要改變的活動轉換上double click,就會出現以下的畫面。您可以根據 
需要而改變每一活動轉換的可能性。
開始使用 
使用表單 
表單的使用,您可詳細參考使用手冊的說明。在這我們只簡單地驗證「請購流程」 
在以下兩種情形下,表單所傳遞的狀況。 
第一關第二關 
情況一: money=1000 
Celab Judy 
情況一: money=5000 
Celab Sky 
? 情況一 (Money=1000) 
celab 所接收的表單內容:
celab 同意後,表單的流向: 
? 情況二 (Money=5000) 
celab 所接收的表單內容:
celab 同意後,表單的流向:
表單開發 
Delphi 表單開發 
一.撰寫AcmeFlow時常用的,Method及Property: 
MailItem Property :每張表單一定要定義此一Property,其程式碼如下 
function TfmSampleForm.Get_MailItem: OleVariant; 
begin 
Result:=FMailItem; 
end; 
procedure TfmSampleForm.Set_MailItem(Value: OleVariant); 
begin 
FMailItem:=Value; 
end; 
2.Item_Open Method: 開啟表單(ActivexForm)時會觸發此一方法 
procedure TfmSampleForm.Item_Open; 
begin 
{Do Something……} 
end; 
3.Item_Close Method: 關閉(ActiveXForm)表單時會觸發此一方法 
function TfmSampleForm.Item_Close: WordBool; 
begin 
{Do somethin…..} 
Result:=True;//若Result為True代表關閉表單, False代表不關閉
//在此不可以作, Userproperties的寫入動作 
end; 
4.Item_Agree Method: 當按下同意鈕時會觸發此一方法 
function TfmSampleForm.Item_Agree: WordBool; 
begin 
{Do something……..} 
Result:=True; //當Result為True時會觸發到Item_Send這一個方法, 反之則不會觸發到 
// Item_Send這個方法see step1 
end; 
5.Item_DisAgree Method: 當按下不同意鈕時會觸發此一方法 
function TfmSampleForm.Item_DisAgree: WordBool; 
begin 
{Do something……..} 
Result:=True; //當Result為True時會觸發到Item_Send這一個方法, 反之則不會觸發到 
// Item_Send這個方法,see step1 
end; 
6. Item_Reject Method: 當按下駁回這個按鈕時會觸發到此一方法 
function TfmSampleForm.Item_Reject: WordBool; 
begin 
(Do something…..)
Result:=True; //當Result為True時會觸發到Item_Send這一個方法, 反之則不會觸發到 
// Item_Send這個方法see step1 
end; 
7. Item_Send Method: 由Item_Agree....等Method觸發 
function TfmSampleForm.Item_Send: WordBool; 
begin 
{ Do something …} 
Result:=True; //若Result為True時會觸發到Item_Close這一個方法, 反之則不會觸發到 
// Item_Close這個方法 
end; 
8.Item_Abort Method; 當流行被終止時觸發 
procedure TfmSampleForm.Item_Abort; 
begin 
{ Do something …} 
end; 
8.Item_Complete Method; 當流行完成時觸發 
procedure TfmSampleForm.Item_Complete; 
begin 
{ Do something …} 
end;
貳.MailItem常用的,Method及Property: 
1.FormStep Property: 表單關數 
0 - 第一張表單 
1 – 一般表單,不是第一張,也不是最後一張(Middle) 
2 - 最後一張表單 
3 - 副本通知 
4 - 寄件備份 
5- 表單回覆 
2. CommentState Property:審核狀態 
0 – 使用者按下同意鈕 
1 – 使用者按下不同意鈕 
2 – 使用者按下駁回鈕 
一般常用於Item_Send , Item_Complete 等Method裏 
3. Userproperties Property:使用者自定屬性變數 
使用方法如下: 
MailItem.Userproperties.Find('FieldName1').Value:=’字串’; 
MailItem.Userproperties.Find('FieldName2').Value:=122; //Integer 
MailItem.Userproperties.Find('FieldName3').Value:=122.222; //Float 
4. AddBinaryFieldFromFile and GetBinaryFieldToFile Method: 
(1).AddBinaryFieldFromFile(const sName, sFileName: WideString)
SName ->為欄位名稱 
SFileName->為檔案名稱 
用途: 將某個檔案加進某個欄位 
Example: 
MailItem.AddBinaryFieldFromFile('FieldName1','K:WorkList.doc'); 
(2).GetBinaryFieldToFile(const sName, sFileName: WideString): OleVariant; 
SName ->為欄位名稱 
SFileName->為檔案名稱 
用途: 將某個欄位的值解析成檔案 
Example: 
MailItem. GetBinaryFieldToFile ('FieldName1','K:WorkList.doc'); 
5. AddBinaryField and GetBinaryField Method: 
(1).AddBinaryField(const sName: WideString; BData: OleVariant); 
SName ->為欄位名稱 
BData ->某個欄位的值 
(2).function GetBinaryField(const sName: WideString): OleVariant; 
SName ->為欄位名稱 
Result ->某個欄位的值 
Example: 
MailItem.AddBinaryFieldFromFile('FieldName1','K:WorkList.doc'); 
V:= MailItem. GetBinaryField('FieldName1'); 
5. AddDynamicUser Method: 可程式控制動態指定使用者 
AddDynamicUser(const UserID, DeptID, ACName: WideString);
UserID->使用者代碼 
DeptID->部門代碼 
Acname->活動名稱(為選擇性欄位) 
Example1: 
MailItem.AddDynamicUser(‘Abner’, ‘RD’); 
Example2: 
MailItem.AddDynamicUser(‘Abner’, ‘RD’,’活動1’); 
Example3: 
MailItem.AddDynamicUser(‘Abner’, ‘RD’); 
MailItem.AddDynamicUser(‘Test1’, ‘RD’); 
MailItem.AddDynamicUser(‘Test2’, ‘RD’); 
MailItem.DynamicAppendSign:=True; //動態使用者加簽 
6. Attributes property: 屬性集物件 
Example: 
Comment:=MailItem.Attributes.ItemByName('Comment'); //取得審核意見 
CommentResult:=MailItem.Attributes.ItemByName('CommentResult'); //取得審核結果 
當同意時CommentResult傳回 ’同意’ 的字串 
當不同意時CommentResult傳回 ’不同意’ 的字串 
當駁回時CommentResult傳回 ’駁回’ 的字串
7. SendCarbon Method: 寄送副本 
SendCarbon(const participant: WideString); 
Participant->參與者代碼 
8.User property: 同Iuser 介面 
Interface Description 
Interface Name : Iuser 
Parent Interface: InamedObject 
GUID : {2F003EEB-7E8A-11D2-9F4E-0080C874F742} 
Description : 系統使用者定義介面 
Properties 
Name Description Datatype DispI 
d 
OV A R W 
XUId 
使用者代碼(系統內部使用) 
WideString 1 * * 
Password 
密碼 
WideString 2 * * 
DeptId 
使用者所屬部門代碼(因為支援 
矩陣式組 
織,此屬性暫不使用) 
WideString 3 * * 
UserType 
(相容DCMS98) 
Smallint 4 
Security 
(相容DCMS98) 
Integer 5 
NTAccount 
(相容DCMS98)` 
WideString 6 
AgentId 
預設代理人 
WideString 7 
Id 
代碼 
WideString 100002 * * * *
Name 
名稱 
WideString 100003 * * * 
Description 
描述/說明 
WideString 100004 * * 
Saved 
是否已存檔 
WordBool 100007 * * * 
NeedPreallo 
c 
是否需要預先取得代碼(已不使 
用) 
WordBool 100008 * * * 
InternalId 
內部使用代碼 
WideString 100012 * * * 
Example: 
MailItem.User.Name ->取得使用者名稱 
8.其他 
FormID 
表單ID 
Mailid Mail id 
Subject 
主旨 
Body 
保留未用 
ActiveXForm Ocx Name 
Addressees 
收件者 
ItemStates 
狀態 
EstDueDate 
預計結束日期 
IactiveXForm 
ActiveXForm的Interface 
IourForm 
OurForm的Interface 
TimeSent 
寄件時間
TimeReceived 
收件時間 
ProcInstState 
流程副本狀態 
0 : 正常執行中 
1 : 暫停 
2 : 執行中發生異常且尚未 
排解 
3 : 壓件 
ClientOcxPath 
取得Client端Ocx路徑 
CurrentUser Logon User 
User 
同Iuser 介面 
WMServer 
同 I WorkflowServer 介面 
Department 
同 I Department 介面 
IourBar 
同 I OurBar 介面 
IworkListFor 
m 
同 IfmWorkListForm介面 
NextMailID 
下一關的MailId 
WorkList 
同 IworkList 介面 
DeptID 
部門代碼 
DeptName 
部門名稱
參.使用Delphi開發ActiveXForm表單: 
1.開起Delphi點選File|New開起如下的畫面: 
2. 点选摆础肠迟颈惫别齿闭页次产生如下的画面:
3.指定檔案名稱,按下OK按鈕即可開啟一個 
ActiveXForm表單 
4. 點選View|Type Library產生如下的畫面: 
說明: 此畫面可定義ActiveXForm的Method及Property..等 
Outlook 表單開發 
一.Outlook表單基本屬性: 
1. EFormWid: 記錄表單的唯一編號 
2. OurBarEvent: 記載使用者觸發的事件
3. 在VbScript裏定義一常數FormID 代表[表單編號] 
二.譔寫VBScript: 
a. Outlook EFrom 和 ActiveXForm混合式表單: 
Step1: Open AcmeActiveXForm樣本表單 
Step2: In VBScript Change the follow Code 
FormID = "OAform" 
as 
FormID = "你所須要的表單代碼" 
Setp3: 另存新表單(設檔名為IPM.Note.AcmeForm1) 
Step4:Open wfadmin.exe 
Step5: 如圖:
b.Outlook Efrom: 
Step1: Open AcmeForm樣本表單 
Step2: In VBScript Change the follow Code 
FormID = " SOutlook" 
as 
FormID = "你所須要的表單代碼" 
Setp3: 另存新表單(設檔名為IPM.Note.AcmeForm) 
Step4:Open wfadmin.exe 
Step5: 如圖: 
b. VbScript說明: 
Function Item_Open() 
Set AcmeServer = CreateObject("OutlookFlow.Server") 
set AcmeServer.OutlookItem = Item
set AcmeServer.OurBar = Item.GetInspector.ModifiedFormPages("表單_ 
").fmOurBar1 ‘傳入OurBar介面 
set AcmeServer.OurForm = Item.GetInspector.ModifiedFormPages("表單 
_ 
").fmOurForm1 ‘傳入OurFormr介面 
Set WfMailItem = AcmeServer.Connect( FormID) 
‘取得AcmeFlow 的MailItem介面 
End Function 
Function Item_Close() 
Set WfMailItem = nothing ‘ Free WfMailItem 
AcmeServer.Disconnect ‘Disconnect AcmeFlow 
set AcmeServer= nothing ‘ Free AcmeServer 
End Function 
註:
三. OurBarEvent所觸發的事件 
1.Sub OnClose() //關閉(ActiveXForm)表單時會觸發此一方法 
Item.Close(1) 
End Sub 
2.Sub OnBeforeAgree() 
FmOurBar.Comment = 
Item.UserProperties.Find("EformComment").Value 
End Sub 
3.Sub OnAfterAgree() 
Item.Close(1) 
End Sub 
4.Sub OnBeforeDisAllow()
End Sub 
5.Sub OnAfterDisAllow() 
End Sub 
6.Sub OnBeforeReject() 
End Sub 
7.Sub OnAfterReject() 
End Sub 
8.Sub OnBeforeDelete() 
End Sub 
9.Sub OnAfterDelete() 
Item.Delete 
End Sub 
10.Sub OnItemComplete() ‘ 當流行完成時觸發 
‘MsgBox "In Outlook Complete" 
End Sub 
11.Sub OnItemAbort() ‘當流行被終止時觸發 
End Sub
附錄 
表單事件觸發
開啟表單 
A c t i v e X F o r m 本身的F o r m C r e a t e E v e n t 
將活動( 流程) 欄位屬性的預設值寫入A c t i v e X F o r m 的P r o p e r t y 或O u t l o o k E F o r m 
的U se r p r o p e r t i e s欄位 
I t e m _ O p e n 
無傳回值 
表單開啟完成 
審核結果 
同意 
I t e m _ A g r e e 
傳回W o r d B o o l 
I t e m _ D i sA g r e e 
傳回W o r d B o o l 
I t e m _ R e j e c t 
傳回W o r d B o o l 
不同意 
駁回 
S e t _ M a i l I t e m 
F a l se 
F a l se 
F a l se 
T r u e 
T r u e 
I t e m _ S e n d 
傳回W o r d B o o l 
T r u e 
I t e m _ C l o se 
無傳回值 
F a l se 
結束 
I t e m _ A b o r t 
無傳回值 
將A c t i v e X F o r m 的P r o p e r t y 或O u t l o o k E F o r m 的U se r p r o p e r t i e s欄位寫回活動( 流 
程) 欄位 
流行完成I t e m _ C o m p l e t e 
無傳回值 
是 
否 
異常終止

More Related Content

Similar to Quick start of AcmeFlow (20)

App inventor 教學講義 chapter4
App inventor 教學講義 chapter4App inventor 教學講義 chapter4
App inventor 教學講義 chapter4
Jerry Wu
?
Flex20100906
Flex20100906Flex20100906
Flex20100906
reasonpun
?
贰肠濒颈辫蝉别开发平台快速入门
贰肠濒颈辫蝉别开发平台快速入门贰肠濒颈辫蝉别开发平台快速入门
贰肠濒颈辫蝉别开发平台快速入门
Luo Korth
?
Refactoring with Patterns in PHP
Refactoring with Patterns in PHPRefactoring with Patterns in PHP
Refactoring with Patterns in PHP
Jace Ju
?
Demo for ms azure machine learning
Demo for ms azure machine learningDemo for ms azure machine learning
Demo for ms azure machine learning
Will Kuan 官大鈞
?
0220 Windows server 2008 PowerShell
0220 Windows server 2008 PowerShell0220 Windows server 2008 PowerShell
0220 Windows server 2008 PowerShell
Timothy Chen
?
软件设计原则、模式与应用
软件设计原则、模式与应用软件设计原则、模式与应用
软件设计原则、模式与应用
yiditushe
?
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
?
JavaScript 脚本控件(二)
JavaScript 脚本控件(二)JavaScript 脚本控件(二)
JavaScript 脚本控件(二)
RANK LIU
?
厂辩濒语句的优化
厂辩濒语句的优化厂辩濒语句的优化
厂辩濒语句的优化
abszhanghe
?
4.2第四章 swarm代码剖析 可选补充课程
4.2第四章 swarm代码剖析 可选补充课程4.2第四章 swarm代码剖析 可选补充课程
4.2第四章 swarm代码剖析 可选补充课程
zhang shuren
?
闯滨搁础与笔辞飞别谤颁补尘基本使用教学
闯滨搁础与笔辞飞别谤颁补尘基本使用教学闯滨搁础与笔辞飞别谤颁补尘基本使用教学
闯滨搁础与笔辞飞别谤颁补尘基本使用教学
chloe0723
?
厂别濒别苍颈耻尘介绍
厂别濒别苍颈耻尘介绍厂别濒别苍颈耻尘介绍
厂别濒别苍颈耻尘介绍
lory hou
?
2019-HPE Infosight AI智能雲平台功能解析1-7篇
2019-HPE Infosight AI智能雲平台功能解析1-7篇2019-HPE Infosight AI智能雲平台功能解析1-7篇
2019-HPE Infosight AI智能雲平台功能解析1-7篇
裝機安 Angelo
?
惭苍别蝉颈补用户手册
惭苍别蝉颈补用户手册惭苍别蝉颈补用户手册
惭苍别蝉颈补用户手册
shu beta
?
深入研究 Windows 系統服務 效能調校與故障排除
深入研究 Windows 系統服務    效能調校與故障排除深入研究 Windows 系統服務    效能調校與故障排除
深入研究 Windows 系統服務 效能調校與故障排除
5045033
?
利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek
Johnson Gau
?
惭诲虫解决方案(第二版)笔记
惭诲虫解决方案(第二版)笔记惭诲虫解决方案(第二版)笔记
惭诲虫解决方案(第二版)笔记
zhejiang university
?
App inventor 教學講義 chapter4
App inventor 教學講義 chapter4App inventor 教學講義 chapter4
App inventor 教學講義 chapter4
Jerry Wu
?
贰肠濒颈辫蝉别开发平台快速入门
贰肠濒颈辫蝉别开发平台快速入门贰肠濒颈辫蝉别开发平台快速入门
贰肠濒颈辫蝉别开发平台快速入门
Luo Korth
?
Refactoring with Patterns in PHP
Refactoring with Patterns in PHPRefactoring with Patterns in PHP
Refactoring with Patterns in PHP
Jace Ju
?
0220 Windows server 2008 PowerShell
0220 Windows server 2008 PowerShell0220 Windows server 2008 PowerShell
0220 Windows server 2008 PowerShell
Timothy Chen
?
软件设计原则、模式与应用
软件设计原则、模式与应用软件设计原则、模式与应用
软件设计原则、模式与应用
yiditushe
?
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
?
JavaScript 脚本控件(二)
JavaScript 脚本控件(二)JavaScript 脚本控件(二)
JavaScript 脚本控件(二)
RANK LIU
?
厂辩濒语句的优化
厂辩濒语句的优化厂辩濒语句的优化
厂辩濒语句的优化
abszhanghe
?
4.2第四章 swarm代码剖析 可选补充课程
4.2第四章 swarm代码剖析 可选补充课程4.2第四章 swarm代码剖析 可选补充课程
4.2第四章 swarm代码剖析 可选补充课程
zhang shuren
?
闯滨搁础与笔辞飞别谤颁补尘基本使用教学
闯滨搁础与笔辞飞别谤颁补尘基本使用教学闯滨搁础与笔辞飞别谤颁补尘基本使用教学
闯滨搁础与笔辞飞别谤颁补尘基本使用教学
chloe0723
?
厂别濒别苍颈耻尘介绍
厂别濒别苍颈耻尘介绍厂别濒别苍颈耻尘介绍
厂别濒别苍颈耻尘介绍
lory hou
?
2019-HPE Infosight AI智能雲平台功能解析1-7篇
2019-HPE Infosight AI智能雲平台功能解析1-7篇2019-HPE Infosight AI智能雲平台功能解析1-7篇
2019-HPE Infosight AI智能雲平台功能解析1-7篇
裝機安 Angelo
?
惭苍别蝉颈补用户手册
惭苍别蝉颈补用户手册惭苍别蝉颈补用户手册
惭苍别蝉颈补用户手册
shu beta
?
深入研究 Windows 系統服務 效能調校與故障排除
深入研究 Windows 系統服務    效能調校與故障排除深入研究 Windows 系統服務    效能調校與故障排除
深入研究 Windows 系統服務 效能調校與故障排除
5045033
?
利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek
Johnson Gau
?
惭诲虫解决方案(第二版)笔记
惭诲虫解决方案(第二版)笔记惭诲虫解决方案(第二版)笔记
惭诲虫解决方案(第二版)笔记
zhejiang university
?

Quick start of AcmeFlow