2011-10-03 26 views

回答

4

1)你需要創建一個VF頁,其中的確,你需要工作和重定向到任何你想要你的用戶是。描述在這裏:http://sfdc.arrowpointe.com/2009/01/08/invoke-apex-from-a-custom-button-using-a-visualforce-page/

2)看看這個例子的第二部分(req2部分):http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#CSHID=apex_process_example.htm|StartTopic=Content%2Fapex_process_example.htm|SkinName=webhelp。 然後,而不是從result獲得newWorkItemIds.get(0)值,你可能想從​​表查詢它

希望這有助於你

+0

我不知道我是否理解你的意思是從ProcessInstanceWorkitem中查詢 – Prady

+0

在該示例中,正在批准的WorkitemId(使用req2變量)取自示例啓動審批流程。這可能不是你的代碼中的情況。我假設審批流程已經啓動,您只需要批准下一步。 因此,您希望在數據層中找到WorkItemId。您可以通過查詢ProcessInstanceWorkitem來完成此操作。像這樣的東西應該會給你你後面的id: [Select ID From ProcessInstanceWorkitem where ProcessInstance.TargetObjectId =:idOfObjectToApprove]; – sorenkrabbe

4

選項一動:頂點代碼(HTTP://博客.jeffdouglas.com/2010/01/04 /自動化,銷售人員審批流程與 - 頂點 - 觸發器/)

下面頂點代碼可以用於提交備案批准

// create the new approval request to submit 
Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest(); 
req.setComments('Submitted for approval. Please approve.'); 
req.setObjectId(Trigger.new[i].Id); 
// submit the approval request for processing 
Approval.ProcessResult result = Approval.process(req); 
// display if the reqeust was successful 
System.debug('Submitted for approval successfully: '+result.isSuccess()); 

選項2:點擊JS(http://jamesrsullivan.com/salesforcecom-start-and-approval-process-from)

依次選擇:設置>自定義>機會>按鈕和鏈接按下「新建」按鈕,並使用這些信息: 標籤:批准 名稱:批准 顯示類型:詳細信息頁面按鈕 行爲:執行JavaScript的OnClick 的JavaScript:

IF((Modal.confirm & & Modal.confir (''一旦您提交 批准此記錄,您可能無法編輯它或從 批准過程中調用它取決於您的設置。繼續?'))|| (!Modal.confirm & & window.confirm(「一旦你提交該記錄 批准,則可能無法編輯或從 審批程序根據您的設置中調出,是否繼續?」))) navigateToUrl('/ p/process/Submit?id = {!Opportunity.Id} & retURL =%2F {!Opportunity.Id}');

用您的對象API名稱替換Opportunity。

+0

感謝您的信息..我可以提交審批,我想要做的一件事是讓管理人員批准從按鈕提交的記錄。我有一個提交記錄以供批准的音頻頁面。我希望經理們看看記錄,然後批准或拒絕 – Prady