読者です 読者をやめる 読者になる 読者になる

dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

follow us in feedly

[Salesforce]Apexでリードの「取引の開始」を実行

前に書いた記事のように、リードが取引開始になった時のトリガなどを実装した場合 このトリガのテストメソッドってどうやって書くんだろう?と思って調べてみました。 Database.LeadConvertクラスのオブジェクトを使って Database.convertLead(Database.Lead…

[Salesforce]メールのガバナ制限まとめ

すぐ忘れるのでメモ。 Salesforceのメールに関連する制限です。 ※※2014/07/09追記※※ こんなの見つけた。 https://na7.salesforce.com/help/pdfs/en/salesforce_app_limits_cheatsheet.pdf これのEmail Limitsという項はガバナ制限のリファレンスのところに書…

[Salesforce]Apexで日付から曜日を取得する

ちょいメモ。 ある日付から、その曜日を取得する方法。 Datetime dt = Datetime.now(); // 'EEE'を使うと略称(例:Fri) // 'EEEE'を使うと略さない曜日(例:Friday) String weekdayStr = dt.format('EEE'); これで曜日が文字列(ただし英語)として取得…

[Salesforce]VisualforceのvalueにMapを使う

ちょいメモ。 VisualforceでMapオブジェクトの値を表示したい時は {!Mapオブジェクト名[キー名]} で取得可能。 以下はサンプル。 Apex側 public class MapValueSampleController { public Map<String,String> sampleMap { get { return new Map<String, String> { 'foo' => 'bar', 'hoge' =></string,></string,string>…

[Salesforce]関連リストのレコードを一括更新する方法〜その3〜

第1回、第2回に引き続いて、第3弾。 javascriptだけで実装する Apex + Visualforce で実装する Apex Web Serviceを使って実装する のうちの、「3. Apex Web Serviceを使って実装する」です。 今回でラスト。

Summer'14 リリースノートの個人的に気になった機能メモ

タイトルの通り、本当に自分が気になった項目だけ。 リリースノートはこちら

[Salesforce]ルックアップ画面で、取引先責任者のメールアドレスで検索する

たとえば、活動履歴 > メールの送信で宛先を検索している時に メールアドレスでも検索できるようにしたいよねという話。 この画面ですね。

[Salesforce]関連リストのレコードを一括更新する方法〜その2〜

前回の記事に引き続いて、第2弾。 javascriptだけで実装する Apex + Visualforce で実装する Apex Web Serviceを使って実装する のうちの、今回は「2. Apex + Visualforce で実装する」です。

[Salesforce]関連リストのレコードを一括更新する方法〜その1〜

やりたいことはこんな感じ。 とあるオブジェクトの詳細レコードから、参照関係にあるオブジェクトのレコードを関連リストとして表示する。 リストの各レコード左側にチェックボックスが表示されて、チェックを入れたレコードについて一括処理をする。 今調べ…

[Salesforce]参照関係にあるオブジェクトをSOQLで取得する

メモ。 標準オブジェクトの場合と、カスタムオブジェクトの場合について整理。 こちらの公式ドキュメントが参考になる。 Relationship Queries

[Salesforce]Apexコールアウトを利用して、ケース登録時にGitHubのIssueにも登録する

Apexから外部サービスを利用するための方法としてApexコールアウトというのがあります。 今回はこれを使って、GitHubと連携するサンプルを作ってみたという話。 Salesforceでケースが新規作成された時に、指定したGitHubのリポジトリにIssueも登録されるとい…

Salesforce1の新規行動作成画面をカスタマイズ

1ヶ月ぐらい前の記事にSalesforce1で新規行動を作成する方法を書いたけど、 その時わからなかった「行動作成画面のカスタマイズ」方法がわかったのでメモ。 結論から言うと、 Salesforce1の新規行動作成画面のレイアウトも編集可能 レイアウトの編集によって…

[Salesforce]リードの「取引の開始」時にトリガを実行する方法

リード(Lead)オブジェクトの「取引の開始」を実行すると リードの色々な項目の情報を引き継いで新たに取引先(Account)、取引先責任者(Contact)、商談(Opportunity)が作成される。 このとき、 特定のカスタム項目の値を作成されたオブジェクトのどこかに引き…

[Salesforce]Apexでメールを送信した時に「活動履歴」に残す方法

メモ。 ここに書いてた。 How to add Activity History while sending emails in Salesforce ApexでMessaging.SingleEmailMessageを使ってリードや取引先責任者にメールを送信する場合も setSaveAsActivity(true)を使うと活動履歴に残すことができる。 ただ…

[Salesforce]見積(Quote)をコピーする方法

Salesforceのほとんどの標準オブジェクトには、 レコードの詳細画面を開いた時に「コピー」ボタンがついてる。 ところが、なぜか「見積り(Quote)」オブジェクトにはそれがない。 というわけで、その機能を実現するまでのメモ。 条件として、「見積商品も一緒…

[Salesforce]翻訳機能を使って多言語化する〜カスタムラベル編〜

タイトル通り、Salesforceの翻訳機能を使って、ユーザの言語設定によって表示される内容が変わるようにしてみる。 Salesforceにはタブやオブジェクトなど様々な項目があり、それぞれについて多言語化の方法も異なるので、何回かに分けて紹介していけたら。 …

[Salesforce]選択リストの全ての値をApexで取得する

ドンピシャの記事がこちらにあったので、メモ。 参考になります。 たいていのことは、「気合い」と「根性」で乗り越えられるものだ!!:【salesforce】Apexcodeで選択リスト型の値を取るゼイ。 コードはこちら。 (元の記事から、変数名などを若干変更してお…

[salesforce]商談の「取引先責任者の役割」や「パートナー」をコピーする

商談に限らず取引先、ケース、契約などの項目にある 「取引先責任者の役割」や「パートナー」ですが、 これをApexでコピーする方法。 特に、「パートナー」をコピーするあたりで色々ハマったのでメモ。 それぞれどんなもの?というのはこのあたりを参考にし…

Salesforce1で新規行動を作成する方法

Salesforce1がリリースされて半年ほど経ちますが よくわかってなかったのでメモ。このへんの話です。 高度なページレイアウトエディタを使用したアクションのカスタマイズきっかけは、Salesforce1を起動した時に右下に表示される+アイコンをタップしても こ…

[Salesforce]「メールを送信」画面をポップアップウィンドウで開く方法

こちらのことです。 取引先責任者や商談などのレコード詳細画面を開くと、 「活動履歴」に「メールを送信」ボタンがありますよね。このメール画面、ポップアップで開くように設定できないかなと思ってたらありました。

[Salesforce] Apexのプロパティの挙動がよくわかってなかったのでメモ

これの話です。 Apex Properties基本的な使い方はわかっていて、 ある変数に対するgetter/setter(アクセサメソッドと呼べばいいのかな)を定義すると 呼び出し側からは // TestClassというクラスにmyPropertyというプロパティを定義した場合 TestClass test…

[Salesforce]String.isBlankとisEmptyの動作まとめ

ややこしいのでメモ。 String emptyStr = ''; String blankStr = ' '; String nullStr = null; System.debug(String.isEmpty(emptyStr)); // true System.debug(String.isEmpty(blankStr)); // false System.debug(String.isEmpty(nullStr )); // true Syste…

ターミナルからApexを実行できるforce.com CLIの使い方

Qiitaに書きました。 http://qiita.com/zaki-yama/items/77b3aeff6b129a87019a

[salesforce]MIXED_DML_OPERATIONエラーにでてくる設定オブジェクトと非設定オブジェクトとは?

またしてもSalesforceネタ。 テストメソッドを書いていると、以下のようなエラーに遭遇することがあります。 MIXED_DML_OPERATION, 非設定オブジェクトを更新した後の設定オブジェクト上のDML操作(またはその逆)は、許可されていませんたしかに、1トランザ…

[salesforce]SObjectのIDが取得できるタイミング

オブジェクトがレコードとしてDBに登録されるとIDが取得できるようになる。 Account a = new Account( name = 'テストアカウント' ); System.debug(a.id); // これはnull insert a; System.debug(a.id); // これはID(18桁の文字列)が返る へー。 新たにSOQL…

[salesforce]SObjectやフィールドへのアクセス権限を取得する方法

apexコード中でデータを作成・更新・削除などする場合は 実行しているユーザにその権限があるかどうかを判定してから行うようにしないと セキュリティコードスキャナーで指摘されます。ということで、オブジェクトレベルでのアクセス権限(CRUD)および フィー…

Salesforceのテストメソッド内でもアクセス可能な既存データ

テストメソッド書いてるといつも忘れてしまうのでメモ。Apexコード開発者ガイド https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_testing_data_access.htmに書いてあることですが、 ApexのAPIバージョンが24.0以降で書かれ…

[salesforce] Sandbox組織だとメール通知ができない問題

Salesforceの小ネタです。Sandbox組織を新たに作成して、その中で行動を作成したりしていた時 参加者にメール通知が送られていないことに気がつきました。さらに、新規行動作成画面で参加者を追加すると表示される 「保存&更新を通知」ボタンも表示されない…