//This remote action handles deleting the invoice if //the user doesn't want to insert the line item
@RemoteAction
global static Boolean goBack(String invoiceId){
// Delete created invoice and return to original //search screen
Invoice__c cancelledInvoice = [select Id from Invoice__c where Id=: invoiceId];
delete cancelledInvoice;
return true;
} }
次のコードスニペットに示すように、
Apex
コントローラには、取引先フィードの新 しい注文に関するフィード項目を作成するinsertQuickOrderメソッドもありま す。フィード項目は、請求書にリンクするリンク投稿です。FeedItem post = new FeedItem();
post.ParentId = aId;
post.Body = UserInfo.getName() + ' just created a quick order';
post.type = 'LinkPost';
post.LinkUrl = '/' + li.Invoice__c;
post.Title = li.Merchandise__r.Name + ': ' + li.quantity__c;
insert post;
jquery.touchwipe.min.js')}"/>
<apex:includeScript value="{!URLFOR(
$Resource.Mobile_Design_Templates, 'Mobile-Design-Templates-master/common/
js/main.min.js')}"/>
<style>
/* Default S1 color styles */
.list-view-header, .data-capture-buttons a { background: -webkit-linear-gradient(
#2a93d5,#107abb);
background: linear-gradient(#2a93d5,#107abb);
box-shadow: 0 1px 3px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.21);
color: white;
font-weight: bold;
}
#resultPage, #searchPage { padding-bottom: 50px;
}
</style>
また、QuickOrderPageは、
Force.com Canvas SDK
をコールし、パブリッシャーの[
登録]
ボタンを有効にして、パブリッシャーウィンドウを閉じます。まず、
SDK
への参照を指定します。<!-- This needs to be included so the publisher can be used to submit the action -->
<script type='text/javascript'
src='/canvas/sdk/js/publisher.js'></script>
次に、setValidForSubmitメソッドをコールして、パブリッシャーの
[
登録]
ボタンを有効にします。
//This method will activate the publish button //so the form can be submitted
Sfdc.canvas.publisher.publish({
name: "publisher.setValidForSubmit", payload:"true"});
setValidForSubmitがコールされて、ユーザが
[
登録]
をクリックすると、このsubscribeメソッドが起動します。このメソッドは、
JavaScript Remoting
を使用し て品目を挿入し(
これにより、簡易注文が完了する)
、フィード項目を取引先に投稿 する最終的なJavaScript
関数を呼び出します。<script type='text/javascript'>
Sfdc.canvas.publisher.subscribe({name: "publisher.post", onData:function(e) {
//This subscribe fires when the user hits
//Submit in the publisher insertQuickOrder();
}});
</script>
最後に、
Remoting
メソッドからのコールバックが正常に返されたら、このメソッドはパブリッシャーウィンドウを閉じます。
// Success - close the publisher and refresh the feed Sfdc.canvas.publisher.publish({name: "publisher.close",
payload:{ refresh:"true"}});
Force.com Canvas を使用した Salesforce1
への Web アプリケーションの統合
Force.com Canvas
を使用すれば、簡単にサードパーティ
Web
アプリケーションをSalesforce1
に統合できます。
トピック
:
•
Force.com Canvas につい て•
キャンバスカスタムアク ションを使用した Salesforce1 の拡張Force.com Canvas SDK
は、オープンソースのJavaScript
ライブラリのスイートで、既存のSalesforce1
API (REST API
、SOAP API
、Chatter REST API)
を 使用するシンプルなメソッドによって、モバイル•
フィードのキャンバスア プリケーションを使用し た Salesforce1 の拡張ユーザ向けのシームレスなエンドユーザ操作性を構 築できます。
Force.com Canvas について
Force.com Canvas
には、次のような機能があります。• 言語への非依存
—
開発は自由に行い、それをSalesforce
に表示できます。Force.com
Canvas
では、任意の言語で開発し、そのアプリケーションを容易にSalesforce1
アプリケーション内部に表示できます。
キャンバスアプリケーションとして公開するサードパーティアプリケーション は、どの言語でも作成できます。唯一の要件として、アプリケーションに安全な
URL (HTTPS)
がある必要があります。•
JavaScript SDK —
軽量で使いやすいJavaScript
ライブラリにより、アプリケーションは、クロスドメインネットワークの問題に対処することなく認証や通信ができ ます。これにより、ユーザは一元的なコマンドセンターを使用してすべてのアプ リケーションを制御できます。
• 簡略化された認証
— OAuth 2.0
または署名付き要求を使用して認証できます。つ まり、ユーザにとってはシームレスなまま、アプリケーションはデータレイヤでSalesforce
に接続できます。• アプリケーションの登録と管理