選択リストの値なのでTextを使うと思いきや、デフォルト値のところではエラーになる。
仕方ないのでCaseでベタ打ちして回避です。
ログインしているユーザの情報からデフォルト値をセットする。
テキストフィールドに選択リストの値とセットしたかったので TEXT を使ったら何故かエラーになります。
何でだろう?
仕方ないのでCaseを使ってみたらうまく行きます。
今までは、迷わずApex トリガーで対応していましたが、デフォルト値に数式を使ってもできるようです。
デフォルト値で数式が使えない
Q: フィールドの既定値の式でレコードのフィールドを参照しようとしていますが、使用できません
A: デフォルト値は、レコードの作成時にのみ使用できます。その時点で、レコードが保存されるまでフィールドに値がないため、レコード自体のフィールドを参照できないのはなぜですか。
レコードによってトリガーされるフローを使用してフィールドに入力することもできますが、これは保存後にのみ表示されるか、クイック アクションを使用してこの特定のフィールドに事前定義された値を追加することができます。」
Please have a look at this article:
Q: I am trying to reference a field on the record in the formula for the default value of a field, but it is not available
A: Default values are only available on creation of a record. At that point, no field has any value until the record is saved, hence why you cannot reference any field on the record itself.
You could use a record-triggered flow to populate the field, but this would only show after saving, or you could use a Quick Action and add a predefined value for this specific field
複数選択リストでの重複確認
OR(
IF( INCLUDES( 複数選択リストA , "1" ) , 1 , 0 ) + IF( INCLUDES( 複数選択リストB , "1" ) , 1 , 0 ) + IF( INCLUDES( 複数選択リストC , "1" ) , 1 , 0 ) > 1 ,
IF( INCLUDES( 複数選択リストA , "2" ) , 1 , 0 ) + IF( INCLUDES( 複数選択リストB , "2" ) , 1 , 0 ) + IF( INCLUDES( 複数選択リストC , "2" ) , 1 , 0 ) > 1 ,
IF( INCLUDES( 複数選択リストA , "3" ) , 1 , 0 ) + IF( INCLUDES( 複数選択リストB , "3" ) , 1 , 0 ) + IF( INCLUDES( 複数選択リストC , "3" ) , 1 , 0 ) > 1 ,
IF( INCLUDES( 複数選択リストA , "4" ) , 1 , 0 ) + IF( INCLUDES( 複数選択リストB , "4" ) , 1 , 0 ) + IF( INCLUDES( 複数選択リストC , "4" ) , 1 , 0 ) > 1 ,
IF( INCLUDES( 複数選択リストA , "5" ) , 1 , 0 ) + IF( INCLUDES( 複数選択リストB , "5" ) , 1 , 0 ) + IF( INCLUDES( 複数選択リストC , "5" ) , 1 , 0 ) > 1
)