function readOnly(count){ }
Don't have an account?
Search for an answer or ask a question of the zone or Customer Support.
You need to sign in to do that
Sign in to start searching questions
Signup for a Developer Edition
Sign in to start a discussion
オブジェクトの既存Name項目に重複入力規則を追加する方法はありませんでしょうか?
ご教授いただけたら幸いです。
よろしくお願いいたします。
エラー条件式を以下のようにしてみてはどうでしょうか?
例)取引先(Account)の取引先名(Name)の重複チェックを行う
Name = VLOOKUP( $ObjectType.Account.Fields.Name, $ObjectType.Account.Fields.Name, Name )
VLOOKUP関数を使用して、
第一引数:$ObjectType.Account.Fields.Name
第二引数:$ObjectType.Account.Fields.Name
第三引数:Name
を指定します。
VLOOKUPは、第三引数の値を第二引数で指定した項目と一致するレコードを検索し、
一致する場合、第一引数で指定した項目を検索結果として返します。
良ければ、試してみてください。
VLOOKUP関数はカスタムオブジェクトとの関連じゃないと使えないので、SampleのAccountだとうまくいかないと思います。
重複チェックをしたいのがAccountの場合は・・・Trrigerでチェックしないとダメですかね。
間違ったサンプルコードを紹介してしまって、すみません。
ikou さん、指摘ありがとうございます。
Tylorさん
ご回答ありがとうございます。
返事が大変遅くなって申し訳ございません。
とても参考になりました。
またよろしくお願いいたします。:smileywink:
ikouさん
ご補足ありがとうございました。:smileyvery-happy:
新たな問題が発生しました。。
自分自身以外のレコードに対する重複チェックをしたい場合はどうすればいいのでしょうか?
現在、
いただいた方法で新規の場合に効いているのは正しいのですが、
更新の場合にも効いているので、困っています。
例えば、Name以外の項目を更新しようとしても、「Name項目が重複しています」という入力規則が引っかかります。
ご教授いただければ幸いです。
ISNEW()関数を使用してみてはどうでしょうか?
関数の説明は以下の通りです。
新規レコードの作成中に数式が実行されているかどうかを確認し、実行中の場合は TRUE を返します。既存のレコードが更新中の場合は、FALSE を返します。
この関数により、新規の時のみ入力規則を行うことができるかと思います。
早速ご回答いただきありがとうございます。
追記です。
編集時には、ISCHANGE(項目名)関数を使用すると良いと思います。
参照: https://na7.salesforce.com/help/doc/ja/customize_functions.htm#ISCHANGED
エラー条件式を以下のようにしてみてはどうでしょうか?
例)取引先(Account)の取引先名(Name)の重複チェックを行う
Name = VLOOKUP( $ObjectType.Account.Fields.Name, $ObjectType.Account.Fields.Name, Name )
VLOOKUP関数を使用して、
第一引数:$ObjectType.Account.Fields.Name
第二引数:$ObjectType.Account.Fields.Name
第三引数:Name
を指定します。
VLOOKUPは、第三引数の値を第二引数で指定した項目と一致するレコードを検索し、
一致する場合、第一引数で指定した項目を検索結果として返します。
良ければ、試してみてください。
All Answers
エラー条件式を以下のようにしてみてはどうでしょうか?
例)取引先(Account)の取引先名(Name)の重複チェックを行う
Name = VLOOKUP( $ObjectType.Account.Fields.Name, $ObjectType.Account.Fields.Name, Name )
VLOOKUP関数を使用して、
第一引数:$ObjectType.Account.Fields.Name
第二引数:$ObjectType.Account.Fields.Name
第三引数:Name
を指定します。
VLOOKUPは、第三引数の値を第二引数で指定した項目と一致するレコードを検索し、
一致する場合、第一引数で指定した項目を検索結果として返します。
良ければ、試してみてください。
VLOOKUP関数はカスタムオブジェクトとの関連じゃないと使えないので、SampleのAccountだとうまくいかないと思います。
重複チェックをしたいのがAccountの場合は・・・Trrigerでチェックしないとダメですかね。
間違ったサンプルコードを紹介してしまって、すみません。
ikou さん、指摘ありがとうございます。
Tylorさん
ご回答ありがとうございます。
返事が大変遅くなって申し訳ございません。
とても参考になりました。
またよろしくお願いいたします。:smileywink:
ikouさん
ご補足ありがとうございました。:smileyvery-happy:
新たな問題が発生しました。。
自分自身以外のレコードに対する重複チェックをしたい場合はどうすればいいのでしょうか?
現在、
いただいた方法で新規の場合に効いているのは正しいのですが、
更新の場合にも効いているので、困っています。
例えば、Name以外の項目を更新しようとしても、「Name項目が重複しています」という入力規則が引っかかります。
ご教授いただければ幸いです。
よろしくお願いいたします。
ISNEW()関数を使用してみてはどうでしょうか?
関数の説明は以下の通りです。
新規レコードの作成中に数式が実行されているかどうかを確認し、実行中の場合は TRUE を返します。既存のレコードが更新中の場合は、FALSE を返します。
この関数により、新規の時のみ入力規則を行うことができるかと思います。
早速ご回答いただきありがとうございます。
とても参考になりました。
またよろしくお願いいたします。:smileywink:
追記です。
編集時には、ISCHANGE(項目名)関数を使用すると良いと思います。
参照: https://na7.salesforce.com/help/doc/ja/customize_functions.htm#ISCHANGED