DML operation INSERT not allowed on STANDARD PLATFORM EVENT
You can work around this error… Read More »
You can work around this error… Read More »
前提 VisualforceでのPDF生成はサーバーサイドで実行される。 そのため、PDFを読み込むクライアントサイド(=ブラウザ)の対応フォントではなく、Visualforce側の対応フォントがここで問題となる。 Salesforceが標準で対応しているフォント ※4種類あるかのように見えるが、マルチバイトフォントはArial Unicode… Read More »
初めに 太字の箇所だけ押さえれば問題なし 想定するユースケース 商談の成約時に、契約レコードを自動生成する。 サンプルコード ■OpportunityTrigger… Read More »
概要 ApexTriggerのフレームワーク採用は大きく以下の四つに分類できる。 無秩序 Handler Pattern 非エンタープライズ企業向けFramework… Read More »
Before Trigger ■概要 DBへの保存前に動作する。 ■pros ・起点となったレコードへの変更に関して、追加のDMLステートメントの発行が不要(※Trigger.newの上書きのみで可)… Read More »
概要 商談・商談商品をベースに契約・契約商品を自動作成する場合や、契約・契約商品をベースに請求・請求明細を自動作成する場面など、親レコードと子レコードをセットでInsertしたいという場合に、Apexでどのようなコードを書くかという話 何が問題か 親-子のセットのInsertが一回だけの場合は、以下のようなベタベタの書き方でも特に問題はない。 親をInsert 子のインスタンスで親への参照を付ける… Read More »
トランザクションとは何か? Apexにおける「トランザクション(Transaction)」とは、「一単位として実行される一連の操作(a set of operations that… Read More »
前書き 「変更データキャプチャ」と「プラットフォームイベント」はそれぞれイベント駆動型のインテグレーションを実現するためにSalesforceが提供しているOOTB機能である。 「イベント駆動型のインテグレーション」とは、ソースアプリケーション(event producer)がpublishしたイベントをターゲットアプリケーション(event consumer)がsubscribeする形式(=pub/sub形式)のデータインテグレーションを意味する。 イベント駆動型のインテグレーションは、REST… Read More »
Requirements ・親レコードの更新時に、親レコードに紐づく子レコードの数に応じてValidationを行う ・問題がある場合は、更新を行なったレコードページ上にエラーメッセージを表示した上で、元の更新操作についてはロールバックする Code Sample ■BadExample… Read More »
想定ユースケース レコードの任意の項目のUpdate時にValidateをかけ、問題があればエラーメッセージを表示した上でUpdate処理をロールバックしたい。 解決策 Apex Trigger内でValidateを行い、問題があればaddError()メソッドを利用してレコードページ上にエラーメッセージを表示する。 なお、以下の仕様により、トリガフローでは対応できない… Read More »