Spring'15から@testSetupアノテーションが新しく使用できるようになります。これを利用するとテストクラス内の各テストメソッドで使用できるテストデータを作成することが可能です。これにより処理が効率化されテスト実行時間を短縮することが可能になります。 サンプルコード ほぼ開発者向けドキュメントに記載されていたサンプルコードと同じですが、こんな感じで使用できます。 実際にやってみた気になったのは次の2つです。 @testSetupで作成したテストデータを参照する場合はSOQLで取得する必要がある。 @testSetupで作成したテストデータはクラス変数にセットできない。 2つ目のクラス変数の件は、サンプルコード内の『wkAccountId』を使って検証しました。@testSetup内で宣言した変数も各テストメソッドからは参照できないので注意が必要です。 使用場面について 基本的にマ
Apex でオブジェクト及び項目の情報を取得する ○ すべてのオブジェクト及び項目の情報を取得する Map<String, Schema.SObjectType> smap = Schema.getGlobalDescribe(); for (String objKey : smap.keySet()) { // Object System.debug('##### key: object API reference name: ' + objKey); Schema.SObjectType sobj = smap.get(objKey); Schema.DescribeSObjectResult sr = sobj.getDescribe(); System.debug('##### object is Custom: ' + sr.isCustom()); System.debug('
Salesforceには標準で「Web-to-リード」や「メール-to-ケース」など数々のチャネルからデータを取り込む手段が用意されています。中でもメール-to-ケースは、メールという親しみ深いものを利用しており、手軽に使える機能であるため、利用している方もおられるかと思います。また、メール-to-ケースではケースオブジェクトのみを登録の対象としていますが、他のオブジェクト(例:取引先責任者やリード)についても同じようにメールから登録したいという要望もあるかと思います。 今回は上記要望をかなえるために、Salesforceの「メールサービス機能」を使った、簡単なリードデータ登録プログラム(いわゆる「メール-to-リード」!)を紹介します。 はじめに 本記事ではメールサービス機能に関して紹介していますが、一部Apexコードについても触れている箇所があります。あらかじめご了承ください。 本記事
改めてApexで使う「upsert」メソッドの驚くべきパワーを発見したので記載する。 まず、upsertの意味からだが、 upsert account とすると、 このaccountが既に登録されていればレコードを更新し、 このaccountが未だ登録されていなければ新規でレコードを登録する、 言わばinsert OR updateを自動で判別し、適切なレコードを処理してくれるもの。 ここで凄いのが、 upsert account upsertKeyupsert 対象オブジェクト 更新キー というように、 対象オブジェクトの後ろに更新キーを記述すると、その項目をキーに新規or更新を判別してくれる。 なのでIdから対象となるレコードを抽出するというクエリーが必要ないということである。 しかも、新規で作成される場合は更新キーもしっかり登録してくれる。 だけど注意が必要なのは更新キーはsales
入力規則で困ってた話。 次のように値が存在しない場合、エラーにする入力規則があります。 標準画面の場合、次のようにエラーメッセージが表示されます。 これがVisualforceの場合は次のようにシステムエラーが発生してしまいます。 困りますね・・・ 実はDmlExceptionを使用することで簡単に対応できます。 try { update lists; } catch (DmlException e) { for (Integer i = 0; i < e.getNumDml(); i++) { ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,e.getDmlMessage(i))); } return; } getDmlMessageでDmlExceptionのエラーメッセージを取得できます。 これで
仕事上でわかったことのうち顧客に関わる情報が無い物、一般公開して差し障りのなさそうな事をたまーに投稿しています。 ちなみに、記事上に載せた私が書いたコードは、用途問わず再利用いただいてかまいませんが、保障は一切いたしませんので、あしからず。 ですます調の記事とである調の記事が混ざりますが..こちらも、あしからず。 Force.com上のApexコードをSOAP APIとして公開するのは とても簡単だ。 以下のコードは Force.com開発者コースでもらった サンプルコードですが、 見てもらって分かるとおり すでにApexコードが実装されているのであれば あとはWSDLをダウンロードできる状態にするために クラス委定義にglobalキーワードを加え 公開するwebserviceキーワードを追加するだけだ。 こうすれば 設定画面のApexクラス一覧からWSDLがダウンロードできるようになる。
Force.comでのJSON Support - yonet77 的な雑記帳 の続き的な感じで。 せっかくForce.comでJSONが扱えるようになったので、外部システムと連携させてみたい...と思うのが人の性でしょうか。 そんな直球勝負(?)は避けて、今回は小賢しい話を紹介してみたいと思います。 ApexコントローラのRemoteAction Spring '11 からJavascriptを介してApexコントローラのメソッドを呼び出せるようになりました。 元々、apex:actionFunctionコンポーネントを使うと、Apexコントローラのメソッドを呼び出すことはできましたが、Visualforce Page内のどこかのDOMを再描画させるもので、コールバックは用意されてませんでした。 apex:inputHiddenのvalueを介して、apex:actionFunction
3. 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 forw
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く