SlideShare a Scribd company logo
#forcedotcomjp
トリガ & カスタムボタンを使ってみよう
SalesforceのURL、パラメータ、Javascript、Apexの基礎
#forcedotcomjp
Developer Forceをフォローください
@developerforcej/ #forcedotcomjp
Developer Force Japan
+Developer Force Japan
Developer Force Japan
Developer Force Group
#forcedotcomjp#forcedotcomjp
スピーカー
岡本 充洋
ディベロッパープログラムマネージャ
@mitsuhiro
#forcedotcomjp
Safe Harbor
Safe harbor statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of
the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking
statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service
availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future
operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use
of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our
service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth,
interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with
possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and
motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-
salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial
results of salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This documents and
others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be
delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
#forcedotcomjp
アジェンダ
§  カスタムボタンとは
–  カスタムボタンを使ってみる
•  サンプル1 : カスタム新規商談作成
•  サンプル2 : リスト一括削除
•  サンプル3 : カスタム商談一括編集
§  トリガとは
–  トリガを使ってみる
•  サンプル1 : リード重複登録禁止
•  サンプル2 : Chatter添付ファイル禁止
–  AppExcahngeを活用
カスタムボタン
#forcedotcomjp
カスタムボタンとは
§  Salesforce内の画面に配備出来るボタン
§  動作を自由に指定できる
–  URLを開く
–  Javascriptを実行
–  Visualforceページを開く
§  ボタンが配備できる箇所
–  詳細ページ (ボタン & リンク)
–  リストビュー
–  Salesforce1モバイル (アクション)
#forcedotcomjp
Tips : SalesoforceのURL、データの特徴
§  SalesforceのURLはオブジェクトごとに最初の3桁は固定
–  取引先 : 001 , 商談 : 006 , ケース : 500 …
§  URLも形式が決まっている	
–  新規作成 : https://ap.salesforce.com/<データ毎の3桁>/e?
–  ビュー : https://ap.salesforce.com/<データ毎の3桁>/o?
§  各ページから自由に作成や参照画面にリンクできる	
–  初期値のセットも可能
•  https://ap.salesforce.com/006/e?&opp3={!Account_Name}
#forcedotcomjp
Tips : URLで項目の初期値をセットする方法
§  標準オブジェクト、レポートには決められた値がある
–  [商談] 商談名 : opp3 、金額 : opp7 、フェーズ : opp11 、説明 : opp14
–  [活動] 件名 : evt5 、金額 : opp7 、種別: evt10、説明 : evt6
–  などなど
§  項目の値を調べるには?
–  Chromeなどで項目を右クリックし、”要素の検証”をしてIdを取得
#forcedotcomjp
カスタムボタンサンプル1 : 商談作成ボタン
§  商談作成時に自動的にいくつかの処理を行う
–  商談の取引先に、商談作成時の取引先を入れる
–  商談名に「取引先名 – 」を入れる
–  商談作成後に商談画面に戻ってくる
“/006/e?retURL=/{!Account.Id}&accid={!Account.Id}&opp3={!Account.Name} -”
#forcedotcomjp
Tips : カスタムボタンのJavascript
§  実行時に、Salesforceが提供しているライブラリを読み込む
ことができる
–  {!REQUIRESCRIPT("/soap/ajax/30.0/connection.js")}
•  Apexのようなプログラムを直接呼び出すことも可能
§  注意点
–  Javascriptでのデータ操作はAPIコールを消費する
–  実行するユーザにもAPI利用権限が必要
#forcedotcomjp
カスタムボタンサンプル2 : オブジェクト一括削除
§  リストビューからチェックした商談を一括削除できるボタン
#forcedotcomjp
カスタムボタンサンプル2 : オブジェクト一括削除
§  下記のカスタムコードを使用
§  保存後、商談一括削除を
リストビューボタンに追加
if(window.confirm('チェックしたデータを一括削除します。宜しいですか?')){
{!REQUIRESCRIPT("/soap/ajax/30.0/connection.js")}
sforce.connection.deleteIds({!GETRECORDIDS( Opportunity.Id )});
document.location.reload();
}
#forcedotcomjp
1	
カスタムボタンサンプル3 : 商談一括編集
§  フェーズも含めた商談データの一括編集を可能に
#forcedotcomjp
カスタムボタンサンプル3 : 商談一括編集	
§  カスタムボタンはVisualforceページを呼び出すことも可能
1	
3	
2	
ソースコード
https://gist.github.com/10338253
トリガ(Trigger)
#forcedotcomjp
トリガとは
§  データの登録、更新、削除時に自動的に
プログラムを動作させる機能
–  コンセプトはワークフローと似ている
§  ワークフローには無い高度な処理が可能
–  別のオブジェクトからデータを検索
–  保存される内容を元に処理を分岐
–  Chatterへのポストに対する生後
–  など
#forcedotcomjp
サンプル1 : リード重複登録禁止
§  リードの登録、更新時のメールアドレスが
–  既にリードにある場合か既に取引先責任者にある場合エラーとする
#forcedotcomjp
サンプル1 : リード重複登録禁止
§  リードの登録、更新時のメールアドレスが
–  既にリードにある場合か既に取引先責任者にある場合エラーとする
§  パッケージをインストール
§  トリガが有効になっているかどうかを確認
https://login.salesforce.com/packaging/installPackage.apexp?p0=04t10000000C0YC
#forcedotcomjp
サンプル2 : Chatter添付ファイル禁止
§  Chatter Feedの登録時に、添付ファイルがある場合エラー
#forcedotcomjp
サンプル2 : Chatter添付ファイル禁止
§  Chatter Feedの登録時に、添付ファイルがある場合エラー
trigger BlockAttachementFromChatter on FeedItem (Before Insert) {
for (FeedItem fi : trigger.new) {
if (fi.Type == 'ContentPost'){
fi.addError('ファイルの添付は禁止されています');
}
}
}
#forcedotcomjp
トリガの注意点
§  トリガは複数同時更新する場合には一括で動作
–  複数更新前提のプログラミングを行う必要がある
§  トリガに限らず、 Apexコードはテストプログラムが必須
–  手軽に書いて・・・という訳には行かない
§  Apexのテストの注意点
–  テストのカバレッジ(カバー率)がコード全体の75%以上必要
–  テスト時には他のトリガや必須項目、検証ルールも動作する
•  組織に独自の設定がある場合には注意が必要
§  本番環境には直接トリガ(Apex)の記述は出来ない
#forcedotcomjp
トリガの注意点
§  テストが全体の75%を超えないと本番環境で動かせない
テスト実施
テスト未実施
#forcedotcomjp
トリガの注意点
§  テスト実行時に他の機能が動作する
Test
1.テストを実行
2. データを登録しようとするが・・・
3. データを登録しよ
うとするが
別で設定した検証ルー
ルが・・
4. 結果、テスト失敗
#forcedotcomjp
現実的なトリガ活用法
§  AppExchangeを有効活用
–  Chatterに禁止ワードを設定したい
•  Chatter BlackList
–  https://appexchange.salesforce.com/listingDetail?
listingId=a0N30000003JqdAEAS
–  Chatter投稿時にトリガによって、禁止ワードをチェック
§  サンプルコードを元に開発者に依頼
–  Chatterにファイル添付を禁止したい
•  Force.com Blog
–  http://blogjp.sforce.com/2012/05/chatter-3e4b.html
#forcedotcomjp
こんな時はトリガで出来る
§  商談の概要を更新時、自動的に活動履歴を作成
§  商談が作成されたら、取引先など、関連するデータの
Chatterフィードにもポストする
§  などなど
#forcedotcomjp
まとめ
§  カスタムボタン、リンクを使って処理を追加
–  オブジェクトのプレフィクスやパラメータで画面遷移を簡素化
–  リストビューでの一括処理(Javascript , Visualforce)
§  トリガを使って高度な処理を実現
–  ワークフロー、数式で出来ないようなオブジェクト横断検索
–  Chatterに対するデータハンドリング
–  但し
•  Apexコード自体は高度になるので、AppExchangeを活用
•  開発者に既にあるコードのカスタマイズを依頼
#forcedotcomjp#forcedotcomjp
Q & A
岡本 充洋
ディベロッパープログラムマネージャ
@mitsuhiro
#forcedotcomjp
セミナー開催日から3ヶ月
トレーニングコース
どれでも
5%OFF!割引適用方法
各コースのWebページにあるお申込みフォームのプロモーションコード欄に右記の
コードを必ず入力してお申し込みください
Ø プロモーションコードのご記入がない場合は割引を適用致しかねます
Ø セミナー開催日から3ヶ月以内の定期集合研修のお申込みに限ります
Ø 他の割引との併用はできません
JP-10314861D  
+
セミナー開催月日
	
エデュケーションサービス部  
TEL  :  03-‐‑‒4222-‐‑‒0710
URL  :  www.salesforce.com/jp/training
  Email  :  jtraining@salesforce.com                              
例例)4⽉月1⽇日のセミナーの場合
「JP-‐‑‒10314861D0401」
Platformセミナーご参加特典!
Jp trgger and_custom_button_forsuperbeginner

More Related Content

What's hot (20)

PDF
Visualforceを使ってみよう
Salesforce Developers Japan
 
PDF
Apple WatchとSalesforceを使った開発Webinar
Salesforce Developers Japan
 
PDF
初めてのHeroku Webinar
Salesforce Developers Japan
 
PDF
超初心者向けForce.com入門
Salesforce Developers Japan
 
PDF
Herokuで実践するCI, CD
Salesforce Developers Japan
 
PPTX
Einstein Analyticsによるユースケース別機能、実現例のご紹介(前編)〜Winter’18 新機能紹介を交えて
Salesforce Developers Japan
 
PDF
Dreamforce15 報告など
Mitch Okamoto
 
PDF
Summer '16 開発者向け新機能 Webセミナー
Salesforce Developers Japan
 
PDF
Lightning コンポーネント Deep Dive
Salesforce Developers Japan
 
PDF
Salesforce 開発入門
Salesforce Developers Japan
 
PDF
やれる Heroku - Java アプリケーション開発編
Salesforce Developers Japan
 
PDF
JavascriptとVisualforceの統合Webinar
Salesforce Developers Japan
 
PDF
Lightning Experience 時代のフロー開発
Salesforce Developers Japan
 
PDF
Node.js開発者のためのHeroku入門
Salesforce Developers Japan
 
PDF
Lightning Experience で何が変わったか?
Salesforce Developers Japan
 
PDF
Lightningのコンポーネントフレームワークの概要
Salesforce Developers Japan
 
PDF
Winter '17 開発者向け新機能Webセミナー
Salesforce Developers Japan
 
PDF
THE REINVENTION OF APPS
Salesforce Developers Japan
 
PDF
Spring16 リリース開発者向け新機能Webセミナー
Salesforce Developers Japan
 
PDF
コンポーネントを”つなぐ”時代へ Web&Mobileアプリ開発最新動向
Mitch Okamoto
 
Visualforceを使ってみよう
Salesforce Developers Japan
 
Apple WatchとSalesforceを使った開発Webinar
Salesforce Developers Japan
 
初めてのHeroku Webinar
Salesforce Developers Japan
 
超初心者向けForce.com入門
Salesforce Developers Japan
 
Herokuで実践するCI, CD
Salesforce Developers Japan
 
Einstein Analyticsによるユースケース別機能、実現例のご紹介(前編)〜Winter’18 新機能紹介を交えて
Salesforce Developers Japan
 
Dreamforce15 報告など
Mitch Okamoto
 
Summer '16 開発者向け新機能 Webセミナー
Salesforce Developers Japan
 
Lightning コンポーネント Deep Dive
Salesforce Developers Japan
 
Salesforce 開発入門
Salesforce Developers Japan
 
やれる Heroku - Java アプリケーション開発編
Salesforce Developers Japan
 
JavascriptとVisualforceの統合Webinar
Salesforce Developers Japan
 
Lightning Experience 時代のフロー開発
Salesforce Developers Japan
 
Node.js開発者のためのHeroku入門
Salesforce Developers Japan
 
Lightning Experience で何が変わったか?
Salesforce Developers Japan
 
Lightningのコンポーネントフレームワークの概要
Salesforce Developers Japan
 
Winter '17 開発者向け新機能Webセミナー
Salesforce Developers Japan
 
THE REINVENTION OF APPS
Salesforce Developers Japan
 
Spring16 リリース開発者向け新機能Webセミナー
Salesforce Developers Japan
 
コンポーネントを”つなぐ”時代へ Web&Mobileアプリ開発最新動向
Mitch Okamoto
 

Similar to Jp trgger and_custom_button_forsuperbeginner (20)

PDF
食わず嫌いの為のSalesforce1 Platform入門
Mitch Okamoto
 
PDF
Salesforce1 Platform 入門 2014 〜改めて基本から理解するforce.com〜
Salesforce Developers Japan
 
PPTX
Salesforce1開発(s1 tour)
Akihiro Iwaya
 
PDF
Jp visualforce in salesforce1
Salesforce Developers Japan
 
PDF
さあ、はじめよう。Application Partner
Kazuki Nakajima
 
PDF
Salesforce1モバイルアプリ開発入門Webinar
Salesforce Developers Japan
 
PDF
Developer Keynote
Salesforce Developers Japan
 
PDF
実践!カスタマー エクスペリエンス 向上のためのアプリ開発 後編
Salesforce Developers Japan
 
PDF
Salesforce1モバイルアプリケーション開発概要
Salesforce Developers Japan
 
PDF
Summer '12のワイルドな新機能+
Mitch Okamoto
 
PDF
実践!カスタマー エクスペリエンス向上のためのアプリ開発 前編
Salesforce Developers Japan
 
PDF
Summer '14開発者向け新機能Webinar
Salesforce Developers Japan
 
PDF
Salesforce1 platform最新動向とパートナーエコシステム
Salesforce Developers Japan
 
PDF
実践Heroku アプリ開発編 Webinar
Salesforce Developers Japan
 
PDF
Salesforce1 で始めるモバイルアプリ開発
Salesforce Developers Japan
 
PDF
活躍中のアプリケーションから紐解くForcecom
Kazuki Nakajima
 
PDF
絶賛活躍中のモバイルアプリに学ぶモバイルならではのアイデア
Salesforce Developers Japan
 
PDF
Go Faster with Lightning : Salesforce Lightning 概要Webinar
Salesforce Developers Japan
 
PDF
Salesforce Agile 事例
Yoshi Oikawa
 
PDF
Salesforce Platform Mobile Serviceを使ったアプリ開発
Salesforce Developers Japan
 
食わず嫌いの為のSalesforce1 Platform入門
Mitch Okamoto
 
Salesforce1 Platform 入門 2014 〜改めて基本から理解するforce.com〜
Salesforce Developers Japan
 
Salesforce1開発(s1 tour)
Akihiro Iwaya
 
Jp visualforce in salesforce1
Salesforce Developers Japan
 
さあ、はじめよう。Application Partner
Kazuki Nakajima
 
Salesforce1モバイルアプリ開発入門Webinar
Salesforce Developers Japan
 
Developer Keynote
Salesforce Developers Japan
 
実践!カスタマー エクスペリエンス 向上のためのアプリ開発 後編
Salesforce Developers Japan
 
Salesforce1モバイルアプリケーション開発概要
Salesforce Developers Japan
 
Summer '12のワイルドな新機能+
Mitch Okamoto
 
実践!カスタマー エクスペリエンス向上のためのアプリ開発 前編
Salesforce Developers Japan
 
Summer '14開発者向け新機能Webinar
Salesforce Developers Japan
 
Salesforce1 platform最新動向とパートナーエコシステム
Salesforce Developers Japan
 
実践Heroku アプリ開発編 Webinar
Salesforce Developers Japan
 
Salesforce1 で始めるモバイルアプリ開発
Salesforce Developers Japan
 
活躍中のアプリケーションから紐解くForcecom
Kazuki Nakajima
 
絶賛活躍中のモバイルアプリに学ぶモバイルならではのアイデア
Salesforce Developers Japan
 
Go Faster with Lightning : Salesforce Lightning 概要Webinar
Salesforce Developers Japan
 
Salesforce Agile 事例
Yoshi Oikawa
 
Salesforce Platform Mobile Serviceを使ったアプリ開発
Salesforce Developers Japan
 
Ad

More from Salesforce Developers Japan (20)

PDF
Salesforce DX の始め方とパートナー様成功事例
Salesforce Developers Japan
 
PDF
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
Salesforce Developers Japan
 
PDF
Einstein Analyticsでのデータ取り込みと加工
Salesforce Developers Japan
 
PDF
GMOペパボのエンジニアが語るHeroku活用ノウハウ
Salesforce Developers Japan
 
PDF
Salesforce Big Object 最前線
Salesforce Developers Japan
 
PDF
Salesforce 開発者向け最新情報 Web セミナー 〜 TrailheaDX での新発表 & Summer '19 リリース新機能 〜
Salesforce Developers Japan
 
PDF
Einstein Next Best Action を試してみよう
Salesforce Developers Japan
 
PDF
Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発
Salesforce Developers Japan
 
PDF
Lightning時代のService Cloud概要とカスタマイズ
Salesforce Developers Japan
 
PDF
Spring '19リリース開発者向け新機能セミナー
Salesforce Developers Japan
 
PDF
業務課題の解決に、データ分析・予測結果の活用を - Einstein Discovery / Einstein 予測ビルダーのご紹介 -
Salesforce Developers Japan
 
PDF
Einstein analyticsdashboardwebinar
Salesforce Developers Japan
 
PDF
MuleSoft Anypoint Platformのコンセプトとサービス
Salesforce Developers Japan
 
PDF
IoTで成功を収めるための製品と戦略 〜 Salesforce IoT 〜
Salesforce Developers Japan
 
PDF
Heroku seminar winter19
Salesforce Developers Japan
 
PDF
Dreamforce18 update platform
Salesforce Developers Japan
 
PDF
Winter '19 開発者向け新機能
Salesforce Developers Japan
 
PDF
Lightning時代のレポート ダッシュボード & Flow 最前線
Salesforce Developers Japan
 
PDF
Summer18 開発者向け新機能Webセミナー
Salesforce Developers Japan
 
PDF
使ってみよう、Salesforce Big Object!
Salesforce Developers Japan
 
Salesforce DX の始め方とパートナー様成功事例
Salesforce Developers Japan
 
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
Salesforce Developers Japan
 
Einstein Analyticsでのデータ取り込みと加工
Salesforce Developers Japan
 
GMOペパボのエンジニアが語るHeroku活用ノウハウ
Salesforce Developers Japan
 
Salesforce Big Object 最前線
Salesforce Developers Japan
 
Salesforce 開発者向け最新情報 Web セミナー 〜 TrailheaDX での新発表 & Summer '19 リリース新機能 〜
Salesforce Developers Japan
 
Einstein Next Best Action を試してみよう
Salesforce Developers Japan
 
Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発
Salesforce Developers Japan
 
Lightning時代のService Cloud概要とカスタマイズ
Salesforce Developers Japan
 
Spring '19リリース開発者向け新機能セミナー
Salesforce Developers Japan
 
業務課題の解決に、データ分析・予測結果の活用を - Einstein Discovery / Einstein 予測ビルダーのご紹介 -
Salesforce Developers Japan
 
Einstein analyticsdashboardwebinar
Salesforce Developers Japan
 
MuleSoft Anypoint Platformのコンセプトとサービス
Salesforce Developers Japan
 
IoTで成功を収めるための製品と戦略 〜 Salesforce IoT 〜
Salesforce Developers Japan
 
Heroku seminar winter19
Salesforce Developers Japan
 
Dreamforce18 update platform
Salesforce Developers Japan
 
Winter '19 開発者向け新機能
Salesforce Developers Japan
 
Lightning時代のレポート ダッシュボード & Flow 最前線
Salesforce Developers Japan
 
Summer18 開発者向け新機能Webセミナー
Salesforce Developers Japan
 
使ってみよう、Salesforce Big Object!
Salesforce Developers Japan
 
Ad

Jp trgger and_custom_button_forsuperbeginner