オブジェクト関係のまとめ


+ [よく使うオブジェクト](https://qiita.com/Keiji_otsubo/items/32efad99c6af2cd70d70)
+ [個別のオブジェクトのまとめ](https://qiita.com/Keiji_otsubo/items/6a73e53c88e003c854e2)
+ [よく質問がある設定](https://qiita.com/Keiji_otsubo/items/9e58f2bdcd6d125b0737)

# 全般

+ [Salesforce の「すべてのデータの表示」権限のみを選択した場合に使用できないオブジェクトはどれですか?](https://qiita.com/Keiji_otsubo/items/1cf97db3328b53df3a45)
+ [API Nameの長さ](https://qiita.com/Keiji_otsubo/items/07e71993d2d636bf4bfb)
+ [作成者項目の作られる順番](https://qiita.com/Keiji_otsubo/items/35e26d785e6105c04c54)
+ [オブジェクトによって [常にレイアウトに表示] と指定されている標準項目](https://qiita.com/Keiji_otsubo/items/a6b8981fdb77c57fc08e)
+ [Salesforce オブジェクトのカスタマイズ 選択リストと項目の連動関係の作成](https://qiita.com/Keiji_otsubo/items/9a24f9342366ad9ef57d)
+ [フィールドタイプが時間の場合に15分刻みしか入力できない？](https://qiita.com/Keiji_otsubo/items/afad1b09b8d77211dbd9)
+ [カスタム住所項目の作成](https://qiita.com/Keiji_otsubo/items/2ff1d2d4312bc6376213)
+ [子のオブジェクト最終日付を参照する](https://qiita.com/Keiji_otsubo/items/a1f3bb10d0784d6db456)
+ [「アクティブ」アカウントのみを表示する検索フィルターがありますが、「非アクティブ」も表示され、「非アクティブ」アカウントを選択して保存できます。](https://qiita.com/Keiji_otsubo/items/ce4e0e22bd8a79e6ba16)
+ [Lookup and masterdetail relationship.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000QOAEi)
+ [SOAP APIでカスタムオブジェクトを作成することは可能ですか？](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007KIfXw)

:::note
メタデータ APIを使えば可能だと思います。

メタデータ API を使用して、組織のカスタムオブジェクト定義やページレイアウトなどのカスタマイズ情報を取得、リリース、作成、更新、または削除します。API はカスタマイズを管理し、データ自体ではなくメタデータモデルを管理できるツールを構築するためのものです。


メタデータ API を使用した作成およびリリース
https://help.salesforce.com/s/articleView?id=sf.code_tools_websvcAPI.htm&type=5

Creating objects through Metadata API
https://developer.salesforce.com/forums/?id=906F0000000AhDtIAK

CustomObject
https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobject.htm
:::

+ [プロジェクトのカスタム オブジェクトの作成について学ぶための最良のアプローチについてアドバイスが必要です](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007aiGzf)

:::note
Below you can learn how to customize. 

[Customize a Salesforce Object](https://trailhead.salesforce.com/content/learn/projects/customize-a-salesforce-object?trailmix_creator_id=strailhead&trailmix_slug=prepare-for-your-salesforce-administrator-credential)
Use picklists, filters, formulas, and other tools to customize an object in your org.


Learn more complex apps

[Build Platform Apps](https://trailhead.salesforce.com/content/learn/trails/build-platform-apps-in-lightning-experience)
Build and customize a recruiting app with no code required.
:::

+ [Contract Contact Role はApexでしかアクセスできないようです。](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000J6OkY)


# カスタムオブジェクトのカウント

+ [プラットフォームイベント権限とPlatformStarterライセンスの使用オブジェクト数上限について](https://trailhead.salesforce.com/ja/trailblazer-community/feed/0D54S00000JfS7k)

カウントされるカスタムオブジェックトの数は以下の場所で確認できると思います。
カスタム設定は設定と言いながらカスタムオブジェクト扱いになるようです。
プラットフォームイベントも限りなくカスタムオブジェクト近そうな感じがしましたが、
プラットフォームイベントを作っても、ここの数は変わりませんでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/13f9709d-0f43-2b84-44f7-475e8198050f.png)
別途SFDCのサポートにも問い合わせました結果、
やはりPlatform Starterライセンスのカスタムオブジェクト10個の制限には含まれないとのことでした。

# 主従関係のオブジェクトを消す

+ [ Can anyone please help me in deleting custom objects in Admin part. my custom object is having master-detail relationship with other object.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000JfftWSAR)

:::note
You have to remove any dependencies before you can delete the object and then you should be fine
:::

+ [削除できない](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000PWcGc)

:::note
This is the known error. 

This will occurs when you already have existing records for the child object(in your case, records are existing for A) and then you try to create master relationship with any other object. 

Master - Detail relationship requires that the Detail Record (Child) ALWAYS have a Master (Parent) record since the detail record inherits security and ownership from the parent record.

Therefore, if you want to create a Master - Detail relationship between existing objects, you need to make sure that all the existing records for the child object have a lookup value to the parent object BEFORE you can create the Master Detail relationship. 1. Create a lookup from the child object to the parent object.2. Populate ALL the records with a valid lookup value to the parent.3. Change the Lookup relationship to a Master - Detail relationship. This is only allowed if ALL RECORDS HAVE A VALID LOOKUP. Otherwise you'll get the error you describe. The Master-Detail relationship is covered in detail in the Certification Exam and is in the Developer Guide (Chapter 3).

これは既知のエラーです。

これは、子オブジェクトに既にレコードがあり (この場合は、レコードは A に存在しています)、他のオブジェクトとのマスター関係を作成しようとすると発生します。

マスター - 詳細関係では、詳細レコードが親レコードからセキュリティと所有権を継承するため、詳細レコード (子) には常にマスター (親) レコードが必要です。

したがって、既存のオブジェクト間でマスター - 詳細関係を作成する場合は、マスター - 詳細関係を作成する前に、子オブジェクトの既存のすべてのレコードに親オブジェクトへの参照値があることを確認する必要があります。1. 子オブジェクトから親オブジェクトへの参照を作成します。2. すべてのレコードに親への有効な参照値を入力します。3. 参照関係をマスター - 詳細関係に変更します。これは、すべてのレコードに有効な参照がある場合にのみ許可されます。そうでない場合は、説明したエラーが発生します。マスターと詳細の関係については、認定試験で詳しく説明されており、開発者ガイド (第 3 章) にも記載されています。
:::

# カスタム オブジェクトを削除できません

+ [Can't delete a custom object](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000A8yov)

:::note
I have SF support helped me solving this issue.  Their tier 3 support team had a similar case before. The walkaround is:
Set up > Translation Language Setting > Enable it
:::




# デプロイ中だとエラーになる

+ [No such column __ on entity error on custom field and object](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007XISKA)

:::note
Custom object was still In Deployment and needed to be set as Deployed
:::



# 特殊？

+ [Shareオブジェクトの「共有の理由（RowCause）」について](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007JAOPs)

# エラー:「[オブジェクト名] の 15 オブジェクトの参照の最大数に達しました。少なくとも 1 個のリレーションを削除する必要があります。」

+ [「数式で 21 個の一意のリレーションの項目が参照されていますが、許可されるのは 20 個のみです。」](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007NAR7B)

# ジャンクション オブジェクト関連リスト - 関連 ID とジャンクション オブジェクト ID の表示

+ [並列関係にある関連オブジェクトの表示について](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007UqFKo)

:::note
英語ですが、以下が参考になると思います。
定期モニタリングオブジェクトに顧客の関連リストを表示します。この時に顧客のNameの代わりに顧客にあるイベントスケジュールのフィールドを追加してみてください。おそらくイベントスケジュール名(Name）が表示できると思います。

https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000A92csSAB
:::

# カスタム項目の表示ラベル

+ [カスタム項目の定義の詳細にて「項目の表示ラベル」を変更したにもかかわらず、オブジェクトの「項目とリレーション」に表示される「項目の表示ラベル」やVisualforceでの「!$ObjectType.オブジェクト名.Fields.対象の項目.label」に表示されるものが、変更後とは異なっておりました。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007XIbniSAD)

:::note
原因がわからなかったので問い合わせした結果、

[トランスレーションワークベンチ] の [翻訳] 内で設定したことが原因でした。

詳しい詳細は以下のヘルプのカスタム項目の箇所になります。 
https://help.salesforce.com/s/articleView?id=000387031&type=1
:::


# 参照項目を作成する時のエラー

+ [Unable to create Lookup to Regulatory Code Violation](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007erEzZ)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/5fd9ab26-db0d-7649-33bc-6b4fcb4b8a26.png)

:::note
I found this SF Help article, ["Receiving Error When Creating Lookup Field on an Object(s)," (salesforce.com)](https://help.salesforce.com/s/articleView?id=002234041&type=1), which helped me. 

When creating a lookup and getting that error message we just need to:

 "Before Saving and Creating the Field, please uncheck the "Add Related List" checkbox and click "Save""
:::

# No such column 'ApplicationType' on entity 'Name'.

+ [How to access Individual Application from Application Decision using SOQL](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007iflgQ)

:::note alert

```
SELECT Id, Application.ApplicationType FROM ApplicationDecision
``` 

...but, that gives:  "No such column 'ApplicationType' on entity 'Name'."
:::

:::note
I don't think it can be searched like Application.ApplicationType because it is a polymorphic relationship field.

ApplicationId

This field is a polymorphic relationship field.

https://developer.salesforce.com/docs/atlas.en-us.psc_api.meta/psc_api/sforce_api_objects_applicationdecision.htm
:::

# 数値項目のカンマを無くしたい

できないですね。以下に英語の回答例

+ [format number to not use comma 123456 Sales order # shows up as 123,456](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ernyt)

:::note
Its not possible with a number field, you would have to use a formula field. 


Reference: https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000HEDqcSAH#:~:text=SALESFORCE,-0%20likes&text=You%20have%20to%20use%20formula,will%20display%20without%20the%20commas.
:::