У меня есть ситуация, когда я использую сайты 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.
Теперь код вершины не может вызывать веб-сервис, если у меня выполняется процесс DML. Поэтому мне пришлось переместить процесс двумя кнопками.
Во-вторых, код вершины не может сгенерировать pdf, пока квитанция не будет вставлена DML полностью в базу данных.
Конечным результатом является то, что клиент должен быстро нажать 3 кнопки, чтобы обработать все заявления. Это проблематично, поскольку с 1999 года используется кнопка в один клик. Есть ли способ обработать все это за одно выполнение кода вершины?