2013-05-20 51 views
0

我有使用force.com網站運行購物車的情況。在購物車的前5個頁面中,我收集諸如信用卡號碼收貨地址等數據。一次提交多個對象

最後一個按鈕稱爲「下訂單」。這是我想要將所有內容提交到數據庫並對信用卡收費的地方。因此,這裏是執行的順序:

1) Insert an account. 
2) Charge the credit card using a call out webservice. 
3) If the charge worked, create a Receipt__c object which is a slave object on the Account. 
4) Create a pdf of the Receipt__c object. 
5) Display the pdf in an iframe of the client's browser. 

現在,先端代碼不能調用Web服務,如果我有DML進程中執行。所以我必須用兩個按鈕來移動這個過程。

其次,apex代碼不能生成pdf,直到收到DML插入完全執行到數據庫中。

最終的結果是客戶必須快速連續點擊3個按鈕才能處理所有語句。這是有問題的,因爲單擊按鈕是自1999年以來的方式。有沒有辦法在單個頂點代碼執行中處理所有這些?

回答

0

你可以做這樣的事情:

<apex:actionFunction name="action1" action="{!action1}" rerender="message" oncomplete="action2()" /> 
<apex:actionFunction name="action2" action="{!action2}" rerender="message" /> 
<input value="Save" class="btn" onclick="action1();" type="button" />