function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
soyoungsoyoung 

ビューの検索条件の設定について

ビュー作成時に検索条件の値にログインユーザの情報と一致するかを設定したいですが、
値は固定値のみ設定可能でしょうか?
$User.XXXXXような設定は不可でしょうか?
OhtomoOhtomo
可能です。ビューに表示するオブジェクトに数式(チェックボックス)でログインユーザID=対象項目のユーザ という数式を作ればtrueになったレコードだけを表示します。
soyoungsoyoung
早速ご教示いただきありがとうございます。
以下のようにカスタムオブジェクトのビュー作成に値をユーザ(ユーザの会社名)に設定したいですが、
User-added image
値に$User.CompanyNameを設定してもビューの結果が正しく表示されません。
数式も試してみたんですができませんでした。
Taiki YoshikawaTaiki Yoshikawa
カスタム項目で数式のチェックボックスを作成する感じですね。
自分もDev環境で試してみてうまくいきました。

カスタム項目で数式のチェックボックス型を作成
User-added image

チェックボックスなのでTrue / Falseで判定
User-added image

ビューで絞込できました
User-added image
OhtomoOhtomo
ビューの中に数式を入れることはできなかったはずです。
一旦カスタムオブジェクトのカスタム項目に数式(チェックボックス)を新規作成するのです。
その作成した項目を絞り込み条件で選択し、値をtrueにするということです。
それで試してみてはいかがでしょうか。
soyoungsoyoung
ありがとうございます。
カスタム項目は選択リスト(複数選択可能)にしています。
どの企業を参照可能とするかを複数選択可能としたいので・・・
ログインされたユーザの企業名が参照可能企業に含まれているかを設定したいです。
OhtomoOhtomo
複数選択リストをそのままこの方式を使うことができないので、一旦テキスト化する必要があります。
テキスト化できたらカスタム項目の数式(チェックボックス)で、
IF ( FIND( multi_text__c ,  $User.CompanyName  ) >0, true, false)
としたら動きそうです。
問題は複数選択リストのテキスト化ですが、数式も通常のワークフローでもうまくいかないので頭をつかう必要が有ります。選択肢がそこまで多くなければワークフローとif関数で頑張って作れそうですが、選択肢が多ければトリガーが必要かもしれません。
OhtomoOhtomo
複数選択リストのテキスト化ですが、過去のフォーラムに答えがありました。
https://developer.salesforce.com/forums/?id=906F00000009B6hIAE
IF( INCLUDES( FukusuuSentaku__c , "Apple" ) , "AAPL; " , "" ) + IF( INCLUDES( FukusuuSentaku__c , "Microsoft" ) , "MSFT; ", "" )
これをワークフローに入れて(数式でも行けるかな?)、テキスト化し、先ほど私が書いた数式を入れたら解決するはずです。
soyoungsoyoung
テキスト化が必要であること承知致しました。
複数選択項目である参照可能企業のビュー条件として「追加項目別に絞り込み(省略可能):」の値に数式設定が可能かをご教示頂きたく。
OhtomoOhtomo
要件を一旦整理します。
参照可能企業=複数選択リスト
ユーザの所属する企業名が参照可能企業の中に含まれていた場合表示される、という理解でよろしかったでしょうか。

この場合は、まずカスタムオブジェクトに新規カスタム項目を2つ作る必要があります。
参照可能企業(テキスト):テキスト形式
参照可能企業(フラグ):数式(チェックボックス)形式

更にワークフローもひとつ用意します。
参照可能企業のテキスト化:カスタムオブジェクトが更新されたら、 
IF( INCLUDES( FukusuuSentaku__c , "Apple" ) , "AAPL; " , "" ) + IF( INCLUDES( FukusuuSentaku__c , "Microsoft" ) , "MSFT; ", "" )
のような数式を使って、参照可能企業(テキスト)へ複数選択リストをテキスト化した情報を更新します。

そして参照可能企業(フラグ)に対して
IF ( FIND( 【参照可能企業(テキスト)】,  $User.CompanyName  ) >0, true, false)
の数式を入れます。

次にビューに対しては
参照可能企業(フラグ) 次の文字列と一致する true
とすれば、要件を満たすことができるはずです。

ご質問への回答としては、ビューそのものに数式を入れることはできないのですが、カスタム項目を作成することで要件を実現することができるということとなります。
ワークフローや数式の基本的な説明は省略いたしましたが、このような回答でよろしかったでしょうか。


 
soyoungsoyoung
ありがとうございます。
要件は上記の通りですが、
案件に対してフラグを更新してしまうと同時に別会社のユーザがログインした場合、参照不可なのにフラグが立っていることによって参照できてしまう問題が発生します。
OhtomoOhtomo
返信が遅くなりました。
ちょっとこの原因に心当たりがないのですが、その別企業というのがABCという名前だとして、参照可能企業(テキスト)の中にABCDEや、12ABCというように同じ文字列が含まれるものが選択されていないでしょうか?
それはいつでもtrueになってしまっているのか、特定のユーザや条件下でtrueになるのかこれだけでは判断できないので、もう少し詳細情報をいただけますか?