• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Jp trgger and_custom_button_forsuperbeginner
 

Jp trgger and_custom_button_forsuperbeginner

on

  • 247 views

 

Statistics

Views

Total Views
247
Views on SlideShare
240
Embed Views
7

Actions

Likes
2
Downloads
2
Comments
0

3 Embeds 7

http://www.slideee.com 4
http://www.slidesharenet.org 2
http://blogjp.sforce.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Jp trgger and_custom_button_forsuperbeginner Jp trgger and_custom_button_forsuperbeginner Presentation Transcript

    • #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セミナーご参加特典!