プログラマ38の日記

主にプログラムメモです。

Salesforce

Salesforce:Lightning Promiseを使ってサーバコールを順番に処理する

Lightning Componentのクライアントサイドコントローラで業務ロジックを書く時に、サーバサイドコントローラのメソッドを順次呼び出したり、全部の処理が完了した後にメッセージ表示をしたりしたい時があります。 例えば、次のようなhelperとcontrollerを用…

Salesforce:Lightning tableのヘッダを固定する

以前のVisualforceではtableタグのヘッダ固定は、JavaScriptやスタイルシートで自前で設定してきました。ですが、Lightning Componentのスタイルシート(すなわち、SLDSのCSS)ではあらかじめヘッダ固定用のスタイルが定義されています。※今のVisualforceではS…

Salesforce:Lightning 背景/文字/枠線のグレイ(Gray)の色

Lightning Componentで画面を作る際に、文字の色、背景の色、枠線の色へグレイを指定する際に、あらかじめclassが用意されています。 文字の色 slds-color__text_gray-1 から slds-color__text_gray-12 まで指定できます。次が表示した時の色合いです。 slds…

Salesforce:Lightning タブを作成しないで、Lightning ComponentにURLでアクセスする

Visualforceの場合、 /apex/[VisualforceのAPI名] を使うことで直接Visualforceページの表示が可能です。Lightning Componentで同じような表示をするには、 /lightning/cmp/c__[Lightning ComponentのAPI名] となります。そして次のように、Lightning Compon…

Salesforce: 商談商品の追加「商品を追加」画面の項目

どこで設定するんだっけとなかなか忘れやすいのでメモです。 商談商品オブジェクトへのデータ登録は、上記画面の商談から「商品の追加」ボタンで行います。 そして、次の「商品を追加」の画面が表示されますが、この画面項目を変更するには、価格表エントリ…

Salesforce: プロファイルのメタデータファイルの物理名と画面の表示名の対応

プロファイルのメタデータを使って権限を確認したり、他のプロファイルや、別の環境のプロファイルを比較をすることは多いと思います。ですが、権限の物理名と表示名の対応させるのが難しく対応表を作成しました。 プロファイルは、様々な設定で権限が増える…

Salesforce: Batch Apexでビッグオブジェクト(BigOBject)に設定変更履歴エントリを蓄積してみた

ビッグオブジェクトの調査をしてみて、更新・削除が頻繁に行われるデータよりはログデータのような一度作成したら更新のかからないデータを保存するのに向いているようです。 Salesforceでそういった特性のデータは、項目変更履歴(・・・History)や、イベ…

Salesforce: ビッグオブジェクト(BigObject)について調べたこと

ビッグオブジェクト(BigObject)は、カスタムオブジェクトのデータ制限とは別にデータを登録ができるため、便利に利用したいなと思いました。 利用するにあたっていくつか調べたので、その結果をまとめました。調べたのは2018年12月になります。 オブジェクト…

Salesforce: java用WSC(ver44)を使ってRest APIを利用する

HttpURLConnectionを用意すればHttpヘッダやエンドポイントを指定すれば利用できますが、WSCに用意されている仕組みでRest APIを利用できます。 サンプルコード 用意されている関数 最後に サンプルコード import java.io.BufferedReader; import java.io.In…

Salesforce: 階層を持つフォルダとそのフォルダのレポート・ダッシュボードをデプロイする

Summer18からレポート・ダッシュボードフォルダは階層を持つことができるようになりました。 変更セットを使えば、フォルダの階層関係とレポート・ダッシュボードをそのまま他の組織にリリースできます。(サブフォルダは更新できませんので変更セットでもリ…

Salesforce: レイアウト項目一覧の取得Excelマクロでミニページレイアウトの表示を追加しました

レイアウトの一覧とレイアウト項目 を取得するExcelマクロを以前作成しました。 レイアウト項目は、詳細項目と関連リストを対象としていたのですが、ミニページレイアウトの項目の追加しました。 ダウンロードはこちら からになります。 次のようにレイアウ…

Salesforce: Lightningレコードページの割り当てをリリースする

結論として、Lightningレコードページの割り当てをリリースするには、「オブジェクト」「Lightning アプリケーション」をリリースする必要があります。 メタデータでLightningレコードページの割り当てがどこに記載されているかを確認したところ、オブジェク…

Salesforce: オブジェクト情報取得マクロとメタデータエクスポート取得ツールをバージョンアップしました(APIVer43)

SalesforceがSummer18(APIVer43)にバージョンアップしたので、次のツールのバージョンをあげました。 Excel VBA : オブジェクト一覧と項目一覧の取得マクロ Java : メタデータエクスポートツール 使い方は前回の内容から変更はありません。 crmprogrammer38.…

Salesforce: プロファイルのIPアドレス制限の説明がメタデータでエクスポートできるようになってました

ついこの間まで、IPアドレス制限の説明はメタデータで取得できませんでした。 ですが、現時点(2018/5/15)で取得できるようになっていました。 画面の登録内容 プロファイルのメタデータの内容 プロファイルのメタデータのテキストを使えば、今どの範囲に開…

Salesforce: メタデータAPIのretrieveでプロセスビルダーのメタデータ取得がうまくいかない件

メタデータAPIで、プロセスビルダーのメタデータを取得しようとしてうまくいかないことがわかりました。メタデータのダウンロードツールを作成していますが修正済みです。 プロセスビルダーのメタデータをlistMetadataで取得した際の物理名と、メタデータの…

Salesforce: Lightning Lightning レコードページの設定

Lightning レコードページ を使うことでレイアウトの配置がさらに細かく指定できます。 配置では次をよく使います。 指定できるもの 内容 強調表示パネル ヘッダとボタン パス パスを設定した場合のパス表示 レコードの詳細 レコードの詳細ページ(ページレ…

Salesforce: Lightning ページレイアウトの設定

Lightningでのページレイアウトは、今まで通りのページレイアウトの指定と、Lightningレコードページで指定します。 今まで通りのページレイアウトの指定では次のような画面表示となります。 [詳細タブ] [関連タブ] ① コンパクトレイアウトで指定した項目の…

Salesforce: Lightning オブジェクトの設定

Lightningではオブジェクトマネージャで、標準オブジェクトでも、カスタムオブジェクトもまとめて一覧表示する仕組みが追加されています。 LightningでもClassicでも、オブジェクトの作成と項目の追加に変更はありませんでした。が、Lightningレコードページ…

Salesforce: Lightning experience を勉強したいと思いました

SalesforceのLightning Experienceに対して、見た目がかっこいいとか、カスタムボタンが使えないとかそれぐらいのイメージしか持っていませんでした。 (後、基本的にいやなのが、動作が遅かったり、Lightningの設定画面だけでは全ての設定ができないという…

Salesforce: プロファイルのリリースで気をつけたいこと

Salesforceで、モジュールのリリースはとても大変な作業です。 リリースの中で特にプロファイルのリリースは気を使います。 プロファイルをリリースする際の注意点をメモしておこうと思います。 変更セットでリリースする際は、プロファイル別にアクセス権が…

Salesforce: 本番運用後に発覚しがちな制限

SandBoxで開発している時は気づかないけど、本番運用後にエラーになってはじめて気付く制限があります。 SandBoxではデータのサイズ制限があるので、開発時には気付くことはできないという 事情はあります。 でも、事情は関係なしにエラーがでれば不具合扱い…

Salesforce: メールの文字コードについて

Salesforceからメールを送信する時の文字コードではまったのでメモです。 (はまったのはユーザ情報でメールの文字コードを「Shift_JIS」にしていたのに、送信されたメールで丸数字"①"などが化けていたという事象です。原因はメールテンプレートの文字コード…

Salesforce: データの共有に関する設定箇所

Salesforceでは、あるレコードを参照できる人・できない人のセキュリティ制御が可能です。 標準機能のグローバル検索やビュー・レポートの結果も参照できるレコードのみで表示されるし、URLを直接変更されて参照できないレコードのIDを指定されてもアクセス…

Salesforce: visualforce「apex:relatedList」のlist属性で指定できる標準の子リレーション名 (api41)

visualforceの 「apex:relatedList」 で標準で用意される関連リストを表示したい時があります。 api41で使えるlist属性の値のメモです。 カスタムオブジェクトの標準関連リストで次をvisualforceで個別に表示します。 listで次を指定することで個別に指定で…

Salesforce: apache httpclient / commons http を使ってREST APIでファイル(ContentVersion)を登録する

Salesforceへバイナリファイルを連携するには、通常はデータローダをはじめとするSOAP APIを使いbase64変換した文字列を送信します。 ファイル(ContentVersion)は2GBと大きいサイズでも登録が可能ですが、SOAP APIでは、Base64変換後のサイズで50MBのサイズ…

Salesforce: Rest API で思ったこと

SalesforceのRest APIで思ったことのメモです。 まずSalesforceのRest APIは次の特徴を持ちます。(個人的に思っていることです。。詳細な仕様はSalesforceのヘルプを参照ください) httpsの通信ができれば、SalesforceとAPIのやり取りが可能 APIの送受信の…

Salesforce: ログインユーザが利用可能なレコードタイプの一覧を取得する

レコードタイプの選択を、Visualforceで行いたい時があります。 標準のレコードタイプ選択画面であれば、ログインしているユーザのプロファイルに応じたリストが表示されますが、 そのリストをApexで作成する場合のメモです。 [サンプルコード] ※Sample__cは…

Salesforce: 時間型(ベータ)が追加されている件と項目作成マクロの更新の件

Winter18のバージョンアップでカスタム項目の型に、時間型が追加されていますね。 まだベータですが、時分を入力する項目を次のように用意することが多いので便利になります。 ・時分を入力するテキスト欄を用意 ・HH:MMを保証する入力規則を用意 ・もしくは…

Salesforce: 開発でちょっと便利になる関数のメモ(トリガ用:参照項目をSet<Id>で取得、文字列操作:lenb、leftb、 rightb)

いくつか関数を作ったのでメモです。 用意した関数は次の4つです。 トリガでよく使う参照項目のIdのSetを作る 文字のバイト数(Excelのlenbと同等) 文字のバイト数(Excelのleftbと同等) 文字のバイト数(Excelのrightbと同等) 1. トリガでよく使う参照…

Salesforce: メタデータエクスポートツールのバージョンを上げました(APIVer41)

Salesforceのバージョンアップに伴い、コマンドラインで動作するメタデータのエクスポートツールのバージョンを上げました。 ダウンロードはこちらです。 今回のバージョンアップでは、メタデータで目立って追加されているものはないように思います。(Topics…