プログラマ38の日記

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

Salesforce: ディスクストレージの考慮事項

1レコード2KBだとずっと認識していました。大枠は正しいのですが、細かな部分が違っていたのであらためてまとめておこうと思います。内容は以下のヘルプに記載の通りで、基本1レコード2KBですが、キャンペーンや記事などが例外となっています。(キャンペ…

雑記: ブラウザをVivaldiに変えたらSalesforce開発が楽しくなった

まず、最初にブラウザのVivaldiはサポートされていないことはわかっています。ですが、Vivaldiを使ってちょっと便利になってSalesforce開発が楽しくなったので設定や使い方を書いておこうと思います。 1.タブスタッキングが便利過ぎる タブをグループで管…

Salesforce: アプリケーションメニューから、コミュニティを非表示にする

結論としては、アプリケーションに表示されているコミュニティは、プロファイルのアプリケーション設定ではなくアプリケーションメニューから非表示にできます。 以下詳細です。 コミュニティのメンバーとなったプロファイルや権限セットを持つユーザではア…

Salesforce:Lightning showToastイベント(e.force:showToast)のメモ(メッセージの改行など)

データ保存時にメッセージを表示するのに、showToastイベント(e.force:showToast)を使うことがあります。showToastイベントについて調べたことの備忘メモです。 1.mode (画面の表示の仕方) は 3 種類 2.type (色やアイコン) は 5 種類 3.一度に表示で…

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: メタデータエクスポートツールのバージョンを上げました(APIVer44)

Salesforce Winter19(APIVer44)用にメタデータエクスポートツールのバージョンをあげました。 ダウンロードはこちらからです。 今回からツールにjdkを含めています。というのも、OracleJDKが使えなくなる(有償化される)日が近いうちに来るため、openJDKに慣…

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

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

Java: int から byte と byte から int の変換

急に忘れてしまうので、備忘メモ intからbyteは、キャストする。 int intval1 = 255; byte byteval1 = (byte)intval1; byteからintは、ビット演算または、Byte.toUnsignedInt を使う byte byteval2 = -1; int intval2 = byteval2 & 0xFF; int intval3 = Byte…

雑記: はてなのHTML編集ではまったこと( の文字)

色々なソースコードを記載してきましたが、自分の記載したソースコードをコピーして使おうとして気がつきました。html編集で「 」にすると文字コードで「C2A0」という文字で表示されるんですね。。 わざわざ半角スペースを「 」に変換して貼り付け…

CSV: Excelで開く際に、ゼロサプレスや日付変換を回避する

CSVファイルは、大体Excelに関連付けがされていてダブルクリックするとExcelで開きます。Excelで中身を確認できるのはとても便利ですが、次のようになってしまい使いづらいことがあります。・CSVの文字は「0001」なのに、Excelでは「1」となる・CSVの文字は…

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

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

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

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

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

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

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

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

Java: Map.remove ではまりました(java.util.ConcurrentModificationException)

Javaコードを書いていて、for each 内で、Mapのremoveを行いjava.util.ConcurrentModificationExceptionエラーになるのをすっかり忘れてました。 エラーになるコード HashMap<String, String> map = new HashMap<String, String>(); map.put("k1", "v1"); map.put("k2", "v2"); map.put("k3",</string,></string,>…

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ではデータのサイズ制限があるので、開発時には気付くことはできないという 事情はあります。 でも、事情は関係なしにエラーがでれば不具合扱い…