だいぶ間があいてしまいましたが、Workbookに沿って学んでみよう!の第2回です。
第1回はこちら。
第2回以降はWorkbookのバージョンが新しくしました。日本語版はまだありません。
新規にDeveloperEditionアカウントを取得すると閲覧できるチュートリアルでは、こちらのWorkbookを使ってます。

Workbookは以下にあります。
http://developerforce.s3.amazonaws.com/books/Forcedotcom_workbookv2.pdf
が、DeveloperEditionアカウントを取得してログインすれば、Flexで作成されたチュートリアルを見ることができます。
日本語に翻訳しなければならないので、前回のように1冊一気にやるのではなく、ちびちび参ります。
今日は上の図の左下「Add Logic」の#3「Fomulas & Validation」にチャレンジです。
(#1、#2はやらない理由は前回やったのと同じないようだからです)。
難易度はBeginner、時間は20分から30分というところらしいです。
(この難易度表示って、スキー場のコース表示みたいだなーと思うのは私だけでしょうか。)
では、さっそく始めて行きます。
Tutorial #3 :Using Formulas and Validation
(条件式とエラーチェックを利用する)
かなーり意訳してます。Formulaってどう訳すとしっくり来ますかね??数式?ちょっと違うなぁ。。。
Force.comプラットフォームには、作成したアプリケーションに投入されたデータの品質を維持、向上させるために
条件式や、項目に対するエラーチェックのルールを作成する機能が備わっています。
条件式もエラーチェックも自動的にデータを扱ったり、エラーチェックしたり、他のデータの値を元に計算するといった
あらかじめ用意されている関数を利用することができます。
それは他のセルの値を参照して、計算したりその値を返すことようなexcelの関数に良く似ています。
Force.comでは、セルではなくアプリケーションのデータ(レコード)を参照します。
このチュートリアルでは、ユーザがマイルを記録する際に、未来の日付を入力することがないように
エラーチェックを作成し、マイレージ記録アプリケーションを改良していきます。
さらに、2つの条件式を作成します。
1つは入力されたマイルから、キロメートルへの変換。
もう一つは、取引先の住所をGoogleMapにマッピングして表示します。
【前提条件】
基本的なマイレージ記録アプリケーションを作成しておく必要があります。
チュートリアル1(3ページ)もしくは、チュートリアル2(9ページ)を参照してください。
Step1:Validate Date Entries using Field Validation
(入力された日付のエラーチェックを作成する)
まず始めに、マイレージ記録アプリケーションのカスタムオブジェクトMileageのDateフィールドに対して
入力チェックをさくっと追加しましょう。
このタイプのエラーチェックは、Force.comプラットフォームでは「入力規則」と呼ばれています。
エラーとするルールは、マイルを記録するときに未来の日付を入れてはならない(あくまで、記録。ですからね)と言うものです。
簡単なエラーチェックではありますが、アプリケーションのデータの質を高めるのには十分に役立ちます。
1. 【設定】→【作成】→【オブジェクト】と順にクリックして、設定画面を開きます。
2. Mileageオブジェクトの名前(Mileageという表示)をクリックします。
3. 【入力規則】というところまでスクロールして、【新規】ボタンを押します。
4. 【ルール名】に「Date_Validation」と入れます。
5. 【有効】にチェックを入れます
6. 【説明】に「日付には未来の日付を入れてはならない。」と入れます。
7. 【エラー条件数式】セクションで、【項目の挿入】ボタンを押すと、「項目の挿入」というポップアップが開きます。
a. 初めのカラムから、「Mileage >」を選択します
b. 2番目のカラムから、「Date」を選択します
c. 【挿入】ボタンをクリックする
8. 条件数式のエリア内の「Date__c」の後にカーソルがあることを確認して、【演算子の挿入】ボタンを押し、
ドロップダウンから「 > より大きい」を選択します
9. 次に、関数エリア内の「TODAY」を選択し(アルファベット順に並んでいます)、【選択した関数を挿入】ボタンをクリック。
「Date__c > TODAY() 」となっていることを確認してください。
10. 【エラーメッセージ】欄に、次のエラーメッセージを入力します
「未来の日付を入力することはできません」
11. 【エラー表示場所】では、【項目】を選択し、ドロップダウンリストから「Date」を選択します。
12. 【保存】ボタンをクリックします。
さて、確認してみましょう♪
1. Mileageタブをクリックします
2. 【新規】ボタンをクリックします
3. 項目を埋めて行きます。日付は未来の日付を入れます。
4. 【保存】ボタンを押すと「未来の日付を入力することはできません」というエラーになることが確認できます。
Step 2: Display Mileage in Kilometers Using a Formula Field
(マイルをキロメートルに変換して表示する)
こんどは、マイルで登録されたレコードをキロメートルに自動変換する条件式を使いましょう。
この条件式では、ユーザはMileの項目に入力するだけです。
条件式が自動的にキロメートルに変換して、レコードの詳細に表示します。
1. 【設定】→【作成】→【オブジェクト】→【Mileage】と順にクリックし、Mileageオブジェクトの画面に戻ります。
2. 【カスタム項目 & リレーション】までスクロールし、【新規】ボタンをクリックします。
3. データ型で、「数式」を選択し、【次へ】をクリック
4. 以下の項目を埋めて行きます。
- 【項目の表示ラベル】に「キロメートル」
- 【項目名】に「Kilometers」
- 【数式の戻り値のデータ型】に「数値」
- 【小数点の位置】に「2」
5. 【次へ】をクリック
6. 【項目の挿入】ドロップダウンリストで「Miles」を選択します。テキストボックスには「Miles__c」を入力されます。
7. キロメートルに変換するため、テキストボックスに、「Miles__c × 1.6」となるように追加します。
以下のようになるはずです。
8. 【説明】欄に「マイルをキロメートルに変換する」と入力し、【次へ】をクリック
9. 【項目レベルセキュリティの設定】はデフォルトのまま【次へ】をクリック
10. 【ページレイアウトへの追加】でもデフォルトのまま【保存】をクリック
では試してみましょう♪
1. Mileageタブをクリック
2. 【新規】をクリック
3. 項目を埋めて行きます。編集画面には先ほどの新しい数式項目が表示されていないことに気がつきましたか?
項目はレコードの登録後、詳細画面でのみ表示されます。
4. 【保存】をクリックすると、自動的にキロメートルに変換された項目があることを確認できます。
Step 3: Display the Contact’s Address Using a Formula Field
(数式項目を利用した取引先住所の表示)
ここではMieageカスタムオブジェクトに別の数式項目を追加します。この数式項目はちょっぴり上級編ですが、簡単に作成できます。
思い出してください。(っていきなり言われてもw)私たちのアプリケーションでは、Mileageのレコードはすべて取引先のレコードに関連項目のルックアップを通してつながっています。
Mileageレコードを楽々登録するためには、Mileageレコード上で直接取引先の住所を参照できる方がよいですね。
そこで、MileageオブジェクトにContactオブジェクトの項目と連動するような数式項目を作成しましょう。
関連オブジェクトの項目を参照し、その項目に基づいて計算できる機能を「ro o e to or ula」(←これは何でしょう???)と呼んでいます。
1. 【設定】→【作成】→【オブジェクト】→【Mileage】と順にクリックし、Mileageオブジェクトの画面に戻ります。
2. 【カスタム項目 & リレーション】までスクロールし、【新規】ボタンをクリックします。
3. データ型で、「数式」を選択し、【次へ】をクリック
4. 以下の項目を埋めて行きます。
- 【項目の表示ラベル】に「取引先住所」
- 【項目名】に「Contact_Address」
- 【数式の戻り値のデータ型】に「テキスト」
5. 【次へ】をクリック
6. 【高度な数式】タブをクリック
7. 【項目の挿入】ボタンをクリックすると「項目の挿入」ポップアップウインドウが開きます
a. 初めのカラムで「Mileage > 」を選択
b. 2番目のカラムで「Contact > 」を選択
c. 3番目のカラムで「町名・番地(郵送先)」を選択
d. 【挿入】ボタンクリック
8. 【項目の挿入】ボタンを押して、さらに取引先の住所を追加し、連結演算子&と、改行関数BRを利用して以下のように項目をつなぎます。
Contact__r.MailingStreet & BR() &
Contact__r.MailingCity & ‘, ‘ & Contact__r.MailingState & ‘ ‘ & Contact__r.MailingPostalCode
※MailingCity=市区郡(郵送先)MailingState=都道府県(郵送先) MailingPostalCode=郵便番号(郵送先)
各項目と、句読点(市区郡と都道府県の間のカンマ)との間に連結演算子&があることに気がつきましたか?
カンマや、都道府県と郵便番号の間にあるような空白といった、プレーンテキストはシングルクオートで囲みます。
BR()関数は、町名・番地と残りの住所を改行しています。
9. 【構文の確認】ボタンを押して、エラーがないことを確認します。エラーがあれば修正します。
10. 【説明】欄に「取引先の住所を表示する」と入力し、【次へ】をクリック
11. 【項目レベルセキュリティの設定】はデフォルトのまま【次へ】をクリック
12. 【ページレイアウトへの追加】でもデフォルトのまま【保存】をクリック
確認してみましょう♪
1. Mileageタブをクリック
2. 【新規】をクリック
3. 項目を埋めて行きます。取引先を選択すると、自動的に住所を取得してレコードと関連づけられます。
4. 【保存】をクリックすると、自動的に取引先の住所が登録されていることを確認できます。
Step 4: Link the Contact’s Address to a Mapping Service
(取引先住所を地図サービスとリンクする)
取引先住所を数式項目として追加できたので、GoggleMapとForce.comデータのマッシュアップをして行きましょう。
取引先住所をGoogleMapに渡すには、ハイパーリンク関数を使います。
1. 【設定】→【作成】→【オブジェクト】→【Mileage】と順にクリックし、Mileageオブジェクトの画面に戻ります。
2. 【カスタム項目 & リレーション】までスクロールします。
3. 「取引先住所」の欄にある【編集】をクリックします。
4. 【数式オプション】欄に記入された数式の後ろにカーソルを持って行き、【演算子の挿入】ボタンをクリック
「& 連結」を選択します。さらに地図へのリンクの前にスペースを追加するため、「‘ ‘ & 」も追加します。
以下のようになるはずです。
Contact__r.MailingStreet & BR() &
Contact__r.MailingCity & ‘, ‘ & Contact__r.MailingState & ‘ ‘ & Contact__r.MailingPostalCode
& ‘ ‘ &
5. 関数欄から「HYPERLINK」を選択します。
関数を選択すると、その関数のための文法が表示されます。HYPERLINK関数は、url, friendly_nameが必須で、オプションとしてtargetを引数とするkとが出来ます。
この数式では、urlとfirendly_namのみを利用します。
6. 【選択した関数を挿入】をクリックし、HYPERLINK関数を以下のように修正します。
HYPERLINK(’http://maps.google.com/q=’ & Contact__r.MailingStreet & ‘, ‘ &
Contact__r.MailingPostalCode, ‘ Click to Map’)
7. 【構文の確認】ボタンを押して、エラーがないことを確認します。エラーがあれば修正します。
全体では、以下のようになります。
Contact__r.MailingStreet & BR() &
Contact__r.MailingCity & ‘, ‘ & Contact__r.MailingState & ‘ ‘ & Contact__r.MailingPostalCode
& HYPERLINK(’http://maps.google.com/?q=’ & Contact__r.MailingStreet & ‘, ‘ &
Contact__r.MailingPostalCode , ‘Click to Map’)
8. 【保存】をクリックします
試してみましょう♪
1. Mileageタブをクリック
2. 先ほど作成したMileageレコードをクリック
3. 取引先住所フィールドの「Click to Map」リンクをクリクします。
自動的にGoogleMapに取引先住所が出ることを確認します。
Summary
省略。(まあ、まとめですので・・・)
GoogleMapsなんですが、うまくいきませんでした。
テストデータが英語圏なんで、プロフィールを英語にしないとうまくいかないのかもしれません。





最近のコメント