Category Archives: Apex

VisualforceでのPDF描画におけるカスタムフォント利用

前提 VisualforceでのPDF生成はサーバーサイドで実行される。 そのため、PDFを読み込むクライアントサイド(=ブラウザ)の対応フォントではなく、Visualforce側の対応フォントがここで問題となる。 Salesforceが標準で対応しているフォント ※4種類あるかのように見えるが、マルチバイトフォントはArial Unicode… Read More »

親子のINSERTをApexでどのように書くか

概要 商談・商談商品をベースに契約・契約商品を自動作成する場合や、契約・契約商品をベースに請求・請求明細を自動作成する場面など、親レコードと子レコードをセットでInsertしたいという場合に、Apexでどのようなコードを書くかという話 何が問題か 親-子のセットのInsertが一回だけの場合は、以下のようなベタベタの書き方でも特に問題はない。 親をInsert 子のインスタンスで親への参照を付ける… Read More »

変更データキャプチャとプラットフォームイベントの概要

前書き 「変更データキャプチャ」と「プラットフォームイベント」はそれぞれイベント駆動型のインテグレーションを実現するためにSalesforceが提供しているOOTB機能である。 「イベント駆動型のインテグレーション」とは、ソースアプリケーション(event producer)がpublishしたイベントをターゲットアプリケーション(event consumer)がsubscribeする形式(=pub/sub形式)のデータインテグレーションを意味する。 イベント駆動型のインテグレーションは、REST… Read More »

Apex Triggerを利用したValidationの例

想定ユースケース レコードの任意の項目のUpdate時にValidateをかけ、問題があればエラーメッセージを表示した上でUpdate処理をロールバックしたい。 解決策 Apex Trigger内でValidateを行い、問題があればaddError()メソッドを利用してレコードページ上にエラーメッセージを表示する。 なお、以下の仕様により、トリガフローでは対応できない… Read More »