SalesforceのVisualforce Emailテンプレートで、コンポーネントを使用しpicklistの翻訳を取得する
Visualforce形式のEmailテンプレートでは、通常のEmailテンプレートで出来ないような複雑なことも出来ますが、(グローバル)ピックリストはコード値で定義しておき、その表示値を翻訳している場合に、 そのピックリストの翻訳値をメールの本文に埋め込むのは、「コンポーネント」を使う必要がありました。...
View ArticleSalesforceのProcessBuilderで前後の値の違いを判定して値更新する
ProcessBuilderは、カスタムオブジェクトの値に一定の変更があった場合に、ステータス更新を行うなど、値の自動更新と同じようなことがGUIの画面で設定できるため、Salesforceの中でも非常に便利な機能だと思います。...
View ArticleSalesforceのTestケースでメール送信がされたか確認する
以前、Salesforceで、メール送信がちゃんと行われたかどうかを確認する方法をご紹介しました。 運用時は、実際の送信結果をそれで確認できるのですが、テストの場合は、どうでしょうか。 「@isTest」を用いたテスト時は、実際にはメールが送信されません。そうなると、トリガーによるメール送信などをワークフローやプロセスビルダーで記述していると、確認の方法がないので困ってしまいますね。...
View Article【2017年最新版】Force.com IDEプラグイン(Eclipse)のセットアップの方法と使い方
最新のForce.com IDE Plug-Inのインストール方法をメモしておきます。 以前書いたときは7年前で、情報も古くなっているので。。 基本的には https://developer.salesforce.com/docs/atlas.en-us.eclipse.meta/eclipse/ide_install.htm の情報を参照するのが良いでしょう。...
View Article複雑なSalesforceの入力チェックをApexトリガで行う方法とサンプル
Salesforceの入力チェックは、複数項目の相関チェックや正規表現など、ある程度までなら入力規則でプログラムレスにできます。 しかし、それよりも複雑な場合、たとえば、チェックの際に、関連するレコードの状態を判断するためにSOQL文を発行しないといけないとか、外部のロジックをWebAPIで呼び出すなどは、入力規則だけでは対処できないため、Apexコードを書く必要がありますね。...
View ArticleVisualforce(メールテンプレート)で数値や日時項目の表示フォーマットを指定する方法(日本時間時差修正含む)
Visualforce形式のメールテンプレートを作成しているときに、いくつか表示のフォーマットで苦労したので、メモしておこうと思います。 特に、差込項目としてそのままだと、なかなか思ったように表示させることができませんでした。 日時(Datetime)項目が欧米式のフォーマットで表示されてしまう 日時(Datetime)項目をそのまま表示すると、「Sun Jan 01 05:51:00 GMT...
View ArticleVisualforce Emailテンプレートで使用できる関数と、カスタム・オブジェクトの詳細画面URLを差込む方法
Salesfroceからユーザにメールを送る場合に、よく要望に上がるのが、「オブジェクトの詳細画面のURLをメールに差し込んで欲しい」というものです。 たとえば、あるオブジェクトに更新があった場合に、ユーザにメールを送るとして、そのメールに変更のあったオブジェクトへのリンクがあれば、そのリンクをクリックすれば、すぐに詳細画面で確認したり、編集したりすることができますよね。...
View ArticleSalesforceの主従関係に関する様々な制限事項(主従関係のリストにオブジェクトが出ず、作成できないときに)
Salesforceでは、オブジェクトとオブジェクトの関係性を定義でき、その種類には「参照関係」と「主従関係」があります。 主従関係を使うと、積み上げ集計を利用できたり、親のオブジェクトを消すと子のオブジェクトも消えるような、いわゆる「カスケード削除」のようなことも出来るので大変便利な反面、その適用にはいくつか制限があります。...
View ArticleSalesforceでログインできなくなった時に確認すること
Salesfroceでログインできない、またはログインできなくなる理由は様々ですが、いくつか挙げておこうと思います。 ①ログインIPが制限されている Salesforceでは、ログインできる時間帯と、ログイン元のIPを制限することが出来ます。 特に、ログインIPアドレスの制限は私もよく設定する項目です。...
View Articleセキュリティを考慮した、可逆的暗号化の相互運用の仕組みを実現する方法(Salesforce編)
システムのセキュリティについて考慮されることが多くなってきた昨今、SalesforceやJavaで構築するシステムでも、情報を暗号化して運用することが求められるようになっています。 特に、パスワードは暗号化して保持したり、さらにはインターネット上でやり取りする情報についても暗号化して送信し、受け取り側で復号することシーンもあることでしょう。...
View Articleセキュリティを考慮した、可逆的暗号化の相互運用の仕組みを実現する方法(JavaのAES編)
前回はSalesforceでの暗号化、複合化の仕組みをご紹介しました。 今回はJavaでの仕組みの回となります。 また、Base64化した暗号文字列をやり取りすることで、相互に可逆的な暗号化テキストのやり取りが行えるところまで試してみましょう。 JavaによるAES暗号化 はじめに暗号化を行います。 import javax.crypto.Cipher; import...
View ArticleSalesforceで大量のデータをいっきに更新するお手軽な方法
Salesforceで大量のデータをいっきに更新したり、条件に合う特定のデータの値を書き換えたいときに使えるTipsです。 大量データの更新を何度もやる場合は、以前書いた「ガバナ制限を回避した大量データの一括更新にも便利 Batch Apexの使い方」のようにApexバッチ化しておくと便利ですが、1回しかやらない場合や、気軽にさくっと更新したい場合は、こちらの方法が便利だと思います。...
View ArticleSOQLによる検索結果をエクセル出力するVisualForce画面の作り方(出力対象の選択を標準画面で行うやり方付き)
Salesforceでよく要望に上がるのに、かゆいところに手が届かないのがレポート機能。特に、日本のビジネスシーンでは帳票のようなレポートが好んで使われることもあり、せっかくためたデータを、有効に活用するには、レポート機能を充実させたい!という要望は多いようです。...
View ArticleSalesforceの標準ページ(リストビュー or 詳細)からVisualforceページへ遷移させる方法と設定
Salesforceでは、標準オブジェクトやカスタムオブジェクトのリストビューまたは詳細画面から自分で作成したVisualForce画面に 遷移させることができ、この際に、リストビューで選択した複数レコードのIDを引き継いだり、詳細画面で表示されているオブジェクトのIDを取得したりすることができます。...
View ArticleSalesforceで入力チェックをカスタマイズする方法のまとめと「正規表現」を使うTips
Salesforceでは「入力規則」を使って入力時のチェックを行うことができますが、少し複雑なチェックを行う場合は「正規表現」を使えると便利ですよね。 もちろん、Salesforceでできます。 正規表現を使えば、 郵便番号や電話番号の形式 時刻の形式 もっと複雑な特定の形式 でも自由に記述が可能です。 ※基本的な正規表現については、【図解でわかりやすく】正規表現のまとめ...
View ArticleSalesforceのエクセル/CSV出力で文字化けするときは、文字コードをUTF-8にすればよい(BOM付き)
SFDCからファイル出力を行うには、エクセル形式が便利です。 以前、「SOQLによる検索結果をエクセル出力するVisualForce画面の作り方(出力対象の選択を標準画面で行うやり方付き)」という記事を書いたのですが、そのときは、文字コードの指定がMS932だったので、内部でUTF8で文字列情報を持っているSalesforceと際が生じ、「・」などの文字が「?」となってしまっていました。...
View ArticlePentahoでのSalesforce Insert,Update,Upsertの使いどころ
Pentahoでは、Salesforceのデータを挿入したり、更新したりするときに、「Salesforce Insert」「Salesforce Update」「Salesforce Upsert」という箱を使います。 どんなときにどの箱を使えばいいのか、戸惑うときがあるので、ちょっとまとめてみました。 「Salesforce Insert」の使いどころ...
View ArticleSalesforceのデータをSOQLを書いて自由にエクセルにダウンロードする方法
Salesforceのデータをエクセルやcsvに出力するにはいくつか方法がありますが、DataLoaderや開発者コンソール、WorkbenchなどのWebAPIを実装したツール等を使う必要があったりします。...
View ArticleGoogle Apps ScriptのXmlServiceでXMLをparseする(或いはSalesforceにGASから接続する方法)
Google Apps Script(GAS)では、httpのPOSTやGETを行うことができます。 ということは、GASからSalesforceにログインして、データを取ってきて、GoogleSpreadSheetで表示することも出来そうだなーと思って、ログイン処理からコーディングし始めたのですが、思ったよりも手こずりました。...
View ArticleDataloaderでsalesforceの「ファイル」を一括アップロードする方法
SalesforceもLightningに変わってきて、ファイルも、以前の「ドキュメント」ではなく「ファイル」を使うことが多くなってきました。 このファイル、自分でアップロードして自分で確認するには特に問題ないのですが、自分があげたファイルを他の人に見てもらう場合には、「権限」を付与してあげる必要があります。 で、1つ2つならいいですが、ファイルを大量にアップする場合には、どうしたらいいでしょうか?...
View Article