' P '

whatever I will forget

Salesforce

Sharing and Visibility

ApexメソッドによるCRUDチェック Apex Class / Trigger内 下記2つは紛らわしいのでかならず抑える 2つとも、sObjectTypeが使用される. Schema.DescribeSObjectResult オブジェクトに対してユーザにCRUD権限があるかどうかをチェック Schema.sObjectType.Cust…

Salesforce アンロックパッケージの開発・運用

アンロックパッケージを使用して、開発・テストを行う方法 sfコマンドで対象組織にログイン MyTPは適当に把握できる文字列に変更する. sf org login web --alias MyTP DevHub組織を作成する VSCodeで作成されたprojectに project-scratch-def.jsonがあると思…

Platform Developer I - Developer Fundamentals

外部オブジェクトと標準オブジェクトの関連付け 標準/カスタムオブジェクトを親とし、外部オブジェクトを子としたい 間接参照関係項目を使用する. help: 外部オブジェクトの間接参照関係項目 外部オブジェクトを親とし、標準子 / カスタムオブジェクトを子と…

Salesforce Apex Speclialist メモ

Apex Trigger Before / After Triggerの違い Before Trigger DMLがCommitされる前に実行される. 入力規則が更新したいオブジェクトに設定されている場合. 新規作成、更新をトリガされた同じオブジェクトで行う場合. After Trigger DMLがCommitされた後に実行…

LWC サーバーエラーの処理

Lightning Web コンポーネントのサーバーエラー処理 LDS ワイヤーアダプター、LDS 関数、Apex コールで発生するエラーには特定の構造がある エラーに関する情報を取得するには、JavaScript コードでエラー応答を処理する @wireでリンクしたプロパティの場合 …

LWC Apexを使用したデータ操作

Lightning Web コンポーネントでの Apex使用検討例 レコードデータが 1 件のトランザクションをカスタマイズする場合 1 つのトランザクションで複数レコードの操作を実行する場合 lightning-datatableを使用して、無限スクロール、インライン編集、ヘッダー…

LWCとSalesforceデータ

Lightning Data Service JavaScriptを使用してコンポーネントをSalesforceデータに接続できる セキュリティも提供する セキュアなUI APIエンドポイントに対してサーバコールを実行するため パフォーマンスを高められる 全てのコンポーネントでクライアント側…

LWCのデータアクセス

LWC/Visualforceとのデータアクセスの違い LWC ClientはJavaScriptからLDS(Lightning Data Service)、あるいはApexを呼び出す LWCエンジンがクライアントにデータを返却し、JavaScriptがデータを保持してmarkupを生成する LDS(Lightning Data Service) Apex…

Lightning Web Component 値が入力できるページを作る

前提 SFDXを使用 特にデータ更新などはなく、単純なHTML & JSのみの作成 手順 force-app/main/default/lwc にて Create Lightning Web Componentを選択 HTMLファイルを下記に編集 <template> <lightning-card> <lightning-input type="number" label="Annual Revenue" formatter="currency" value={annualRevenue} onchange={handleChange}> </lightning-input> </lightning-card></template>

Lightning Web Components 概要

Visualforce との違い Visualforce クライアントからリクエストあがあると、サーバーがRenderingし、HTMLをクライアントに出力する UIが変更された場合(URLリンクをクリックされた場合など)、再度サーバーにリクエストを送って新しいページをクライアント…

Salesforce SOSLと効率的なクエリとは

SOQLとの使い分け SOSL が最も役に立つのは、データがどの項目やオブジェクトに存在しているかが正確にわかっておらず、複数のオブジェクトにわたって検索する必要がある場合 SOQL は関連オブジェクトにのみ使用できる 例 検索語は中括弧. FIND {jos*} IN AL…

Salesforce Big Objectとは

概要 Big Object は、10 億件以上のレコードでも安定したパフォーマンスを発揮できる 組織や外部システムは API の標準セットを使用してアクセス可能 標準とカスタムが存在する API名は xxx__bとなる カスタム項目を定義する(1つは必須の項目が必要) イン…

プラットフォームキャッシュの基礎

設定 [設定] → プラットフォームキャッシュ キャッシュの種類 組織キャッシュ 組織の誰もが使用できるデータを保存される。 セッションキャッシュ 個々のユーザセッションに結び付けられたデータが保存される。 キャッシュキー名の形式 下記の形式. Namespac…

Bulk API 2.0 の使用

Bulk API 大規模データセット操作用に最適化されている Bulk API の非同期フレームワークは、千から百万単位のレコードのデータを簡単で効率的に処理できるように設計されている SOAP および REST API は同期要求を使用しており、一度に少数のレコードを更新…

Salesforce PlatformにおけるSOAP APIの使用

Web Services Description Language (WSDL) API コールを行うためのバインド、プロトコル、オブジェクトが含まれているファイル 2 つの SOAP API WSDL Enterprise WSDL は、単一の Salesforce 組織向けに最適化されている Partner WSDL は、多数の Salesforc…

Salesforce PlatformにおけるREST APIの使用

Workbenchを使うとき レコードを作成する URI: /services/data/v53.0/sobjects/account Method: POST { "Name" : "NewAccount1", "ShippingCity" : "San Francisco" } レコードを参照する URI: /services/data/v53.0/sobjects/account/describe Method: GET …

非同期 Apex の監視

監視を行うには 設定 → Apexジョブ ApexSyncJobの照会 参考: salesforce.stackexchange.com SOQL AsyncApexJob jobInfo = [SELECT Status, NumberOfErrors FROM AsyncApexJob WHERE Id = :jobID]; スケジュール済みジョブの監視 SOQL CronTrigger ct = [SELE…

スケジュール済み Apex

スケジュール済み Apexとは Apex スケジューラーを使用すると、Apex クラスの実行を遅らせて、指定した日時に実行できる スケジューラーは、Apex 一括処理を使用した日次または週次のメンテナンス作業に最適 スケジュール済み Apex ジョブは一度に 100 件し…

Queueable Apex

Queueable Apex とは future メソッドと同様に非同期処理のジョブを送信でき、加えて下記の利点がある Queueable クラスには、sObject 型やカスタム Apex 型など、プリミティブ以外のデータ型のメンバー変数を含めることができる System.enqueueJob メソッド…

Apex 一括処理

Apex 一括処理とは 通常の処理制限を超える可能性がある大規模ジョブ (たとえば、レコード数が数千~数百万件ある場合など) の実行に使用する 一括処理クラスの実行ロジックは、処理するレコードのバッチごとに 1 回コールされる 一括処理クラスを呼び出すた…

非同期Apex futureメソッド

future Apexとは future Apex は、後でシステムリソースが使用可能になったときに複数の処理を別個のスレッドで実行するために使用する サンプルfuture メソッドの構文 future メソッドは静的メソッドである必要がある void型のみを返す 指定する引数は下記…

非同期Apex

非同期Apexの種類 種別 概要 一般的なシナリオ future メソッド 独自のスレッドで実行され、リソースが使用可能になるまで開始しない。 Web サービスコールアウト。 Apex の一括処理 通常の処理制限を超える大規模なジョブを実行する。 データの整理やレコー…

Apex Webサービス

概要 Apex クラスメソッドを REST または SOAP Web サービス処理として公開可能 メソッドを Web 経由でコールできるようにすることで、外部アプリケーションと Salesforce を統合可能 #ApexクラスをREST Webサービスとして使用する - クラスの定義、メソッ…

Apex REST コールアウト

Httpコールアウトをするには 'POST'で、BodyがJsonの場合 @Future(callout=true) private static void postToPMS(String serviceToken, String jsonInput, Id targetOppId){ HTTPRequest req = new HTTPRequest(); req.setEndPoint('callout:ProjectService'…

Aura コンポーネント イベント

概要 キモとなる機能のようだがイマイチTrailheadがわかりにくく悪戦苦闘 trailhead.salesforce.com 概要はこちらの方がわかりやすい qiita.com イベントの定義 <aura:event type="COMPONENT"> <aura:attribute name="expense" type="Expense__c"/> </aura:event> コンポーネントからイベントの送信 (送信側) <aura:registerEvent name="updateExpense" type="c:expensesItemUpdate"/> ... </aura:registerevent>

Aura コンポーネント サーバ側コントローラを使用してSalesforceと接続

trailhead.salesforce.com 背景 画像はTrailheadから拝借... View-Controller-Controller-databaseモデル Aura Componentのモデル図は下記のようになっていたことを再度認識する Aura Componentのモデル図 これまで作成していたもの 1. Createボタンがクリッ…

Aura コンポーネント データの入力(1/2)

SLDSとは? Salesforce Lightning Design System 下記のように.appファイルにSLDSを追加することで、トップレベルコンポーネントおよびそのすべての子コンポーネント内で、SLDS リソース (スタイルシート、アイコンなど) の場所について気にせずに、SLDS ツ…

Auraコンポーネント コントローラー

コントローラーとは? 基本的にコードのコレクションであり、「何かが実行された」ときのアプリケーションの動作を定義する LightningコンポーネントとMVCモデルとの違い LightningコンポーネントはView-Controller-Controller-Model もしくは View-Controll…

Auraコンポーネント 属性と式

コンポーネントの属性 コンポーネントの属性とは、値を保存できる場所. 属性は、<aura:attribute> タグを使用して定義され、name属性とtype属性の値が必要. name属性は変数名のようなもの. type属性は、変数の型を示すようなもの. 例えば、Stringだったり、yourCustomObject_</aura:attribute>…

Auraコンポーネント 作成/編集

コンポーネントタグ <aura:component> : namespace: tagNameの並び。組み込みコンポーネントはさまざまな名前空間から取得できる。 <lightning:input> : ユーザ入力を収集するのに使用 <lightning:formattedNumber>: 参照のみの値を表示する <lightning:card> : 情報のグループに関するコンテナを作成します。 <lightning:formattedDateTime>: 書式設定された日時を表示</lightning:formatteddatetime></lightning:card></lightning:formattednumber></lightning:input></aura:component>…