FSL(フィールドサービス)のまとめ

[まとめページに戻る](https://qiita.com/Keiji_otsubo/items/60afc2a8d211b6f7d89f)
[まとめA～M](https://qiita.com/Keiji_otsubo/items/f3ddedee6793bf1576f8)

+ [フィールド サービス未解決](https://qiita.com/Keiji_otsubo/items/65ac814eb933c9f9f570)
+ [Field Service トレイルヘッドのまとめ](https://qiita.com/Keiji_otsubo/items/7efeefc89e7454a17201)
+ [FSL(フィールドサービス) モバイルアプリ](https://qiita.com/Keiji_otsubo/items/f663d92900e0e29a4f3d)

+ [The AppExchange Application or component you have selected is not yet available on your instance of salesforce.com. Please check back in a few days to retry the installation. Press the back button of your browser now and bookmark the AppExchange Directory page so that you can find it later.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007XIc2T)
+ ["Oops Something went wrong" when enabling Field Service on new playground](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YvaIs)

:::note
It was the same org as before. I had to relaunch it within Trailhead.

以前と同じ組織でした。 Trailhead 内で再起動する必要がありました。
:::

+ [Field Service Document Builder](https://qiita.com/Keiji_otsubo/items/e684c362402faeb1f050)
+ [Salesforce Field Serviceのディスパッチャーコンソール画面の検索について](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007bLLzN)


# Oops, Something went Wrong

+ [Enable Field Service Error Message](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YvaCzSAJ)

:::note
I was able to resolve using a previous playground. Thank you.

以前のプレイグラウンドを使用して解決できました。ありがとう。
:::

+ ["Oops Something went wrong" when enabling Field Service on new playground](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YvaIs)
+ [Try reloading the page. If the problem persists, check your connection or contact Salesforce support.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YvYgH)

:::note
I'm Ravindra from Trailblazer Help team. Sorry for the inconvenience regretted. The issue was resolved yesterday and now the feature is working as expected. May I request you to please check now and let me know if you have any questions.

Trailblazer ヘルプ チームの Ravindra です。ご迷惑をおかけして申し訳ございませんでした。この問題は昨日解決され、現在は機能が期待どおりに動作しています。今すぐご確認いただき、ご質問がございましたらお知らせください。
:::




# パッケージのインストールの障害

## インストールには英語モードが必要　Package: FSL (04t3y000001MQRz)

+ [Field Service Lightning managed package error](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000JecIl)

:::note alert
Work_Rule__c: Profile Search Layout: - System Administrator - not appropriate for object 01I7S000000yHun
:::

##  enable Field Service 有効化が必要

+ [I've been unsuccessful at installing the the field service managed package. ](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000O6KDA)

:::note
 I did follow the instructions to enable Field Service. That doesn't seem to be the issue. 

 指示に従って Field Service を有効にしました。それは問題ではないようです。
:::

# バージョンが違う？

+ [There are problems that prevent this package from being installed.Mismatching Versions](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007XIc2T)

:::note
You are getting the error due to the miss match in the FSL managed package release (Spring 24) and the release version of your environment (Winter 24). As per release schedule this week the latest release will be applied and then you should be able to install the managed package. 

FSL 管理パッケージのリリース (Spring 24) と環境のリリース バージョン (Winter 24) の不一致により、エラーが発生します。今週のリリース スケジュールに従って、最新のリリースが適用され、管理パッケージをインストールできるようになります。
:::

# Users may see the following error when setting the Status of a Service Appointment to Complete:FSL NullPointerException

 サービスの予定のステータスを完了に設定すると、次のエラーが表示される場合があります。

FSLでのエラーです。
使っては無いですが気になったので記録しておきます。

元の投稿
https://success.salesforce.com/answers?id=9063A000000ivbU


Workaround
As a workaround you may want to consider disabling the Drip Feed setting:

1. Go to the Field Service Settings tab

2. Go to the Dispatch section

3. Uncheck the box to "Enable drip feed"

4. Save the changes

# Missing user permissions. You lack permissions to use Field Service. sandbox

+ [Field Service Access on Apple Devices](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000Pf62q)

:::note
it sounds like all users on all devices are ultimately able to login and access the system. Assuming that's the case, my best guess is that the existing OAuth tokens are invalid after enhanced domains are deployed because the sandbox My Domain changed. This will not be the case in production. While the sessions will be terminated, OAuth tokens against a domain that does not change will survive.

最終的には、すべてのデバイスのすべてのユーザーがログインしてシステムにアクセスできるようになります。これが事実であると仮定すると、サンドボックスの [私のドメイン] が変更されたため、拡張ドメインの展開後に既存の OAuth トークンが無効になっていると推測します。実稼働環境ではこれは当てはまりません。セッションは終了しますが、変更されないドメインに対する OAuth トークンは存続します。
:::



# Script-thrown exception

+ [Script-thrown exception on Book Appointment button on Partner Community Page](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007GGaoZ)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/84e8ae9f-3721-65f8-b2be-e0539059de50.png)


:::note
This was a Salesforce issue with winter 24 update and this issue is fixed now
Salesforce Known Issue: https://issues.salesforce.com/issue/a028c00000uXWOtAAO/~
:::

# RecordSet Filter creation window is partially loading.

+ [RecordSet Filter creation window is partially loading.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007Lpsv9)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/33f2cea9-83f7-eea8-6afd-5cede94ce98f.png)

:::note
The issue was fixed after allocating a page layout to the appointment bundling sort policy object.

この問題は、ページ レイアウトを予定バンドル並べ替えポリシー オブジェクトに割り当てた後に修正されました。
:::

# "No candidates were found" Service appointment schedule

+ ["No candidates were found" Service appointment schedule](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007Lqena)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/3bc441f7-1eb1-b123-399d-e7f40547ea0b.png)

:::note
https://issues.salesforce.com/issue/a028c00000mNUCVAA4/sfs-mp--scheduling-ls--get-candidate-action-does-not-respect-the-arrival-window-end-time-when-scheduling-consecutive-work-with-aerial-routing
:::


# MFA 外部ユーザの場合は必要ない？

+ [Oaut App MFA](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000HEN6oSAH)
+ [MFA and Field Service App](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000EBPq5SAH)
+ [Is MFA required for Field Service Agents?](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000BrrRaSAJ)

# そのほかの記事

+ [How to Schedule Jobs Without Overlap on the Salesforce FSL](https://trailhead.salesforce.com/ja/trailblazer-community/feed/0D54S00000G2y3x)
+ [営業時間オブジェクトのタイムゾーンの設定について](https://trailhead.salesforce.com/ja/trailblazer-community/feed/0D54S00000IQzCUSA1)
+ [割り当て済みリソースデータ作成時のエラーの回避方法について](https://trailhead.salesforce.com/trailblazer-community/users/0054S000001KDTDQA4)
+ [Getting error trying to add a record to ServiceAppoint via SOQL](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000ISSHCSA5)
+ [Formula field not adding properly in Report よくわからんけどdurationが0.25の時に足しても合計にならない？](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000J8htUSAR)

+ [Permission to Add Serialized Products Needed Product transfer PT-0322 was created, but you do not have permission to add serialized products. Ask your Salesforce admin for help.](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000JyTTU)
+ [ルール違反のテキストを変更することはできますか?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000JfJC0)

:::note
you can translate rule violation text from Setup > User Interface > Custom Labels. The name should start with Rule... In your case you should search for RuleViolation_Time_Rule and edit it accordingly. See example below

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/36cb6ba1-9ec2-f4be-abac-eef68bbdf754.png)


[設定] > [ユーザー インターフェイス] > [カスタム ラベル] からルール違反テキストを翻訳できます。名前は Rule で始まる必要があります...あなたの場合、RuleViolation_Time_Rule を検索し、それに応じて編集する必要があります。以下の例を参照してください
:::
+ [Sample data missing in the FSL Org](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007LnqaP)

:::note
The data did not reflect immediately after the Org was created but later I could see it. 

組織を作成した直後はデータが反映されませんでしたが、後で確認できるようになりました。
:::

+ [In FSL Map MapLayers can we rename REPORTS to FSTs](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007MwbOv)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/c9c4bae8-66ae-e8b7-6591-be62974dc1f2.png)


+ [サービス予約を受け入れたり拒否したりするサービス リソースを構成する最善の方法は何ですか?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000BsG4HSAV)

+ [権限セットの割り当てに基づいて、Field Service Flow の使用を制限したいと考えています。必要な権限セットを持つユーザーには、Field Service Flow の使用を許可しないでください。権限セットの割り当てを確認するために、フィールド サービス フローで権限セット レコードを取得しようとしています。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ak9qX)

:::note alert
executeAdapterError - SYNTHETIC_FIELD_INJECTION_ERROR. Body - Unable to resolve ObjectInfo(s) for PermissionSet. 
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/4b9bc1a8-d90b-296b-3cfc-4b320f2639bc.png)

:::note
モバイル ユーザーに対して LWC (Field Service Mobile での Lightning Web コンポーネントへのアクセス) 権限が有効になっている場合、エンジンは UI-API に変更され、それぞれのアーキテクチャに従います。

オブジェクトがサポートされているオブジェクトにリストされていない場合は、報告されたエラーメッセージが予想されます。

https://developer.salesforce.com/docs/atlas.en-us.uiapi.meta/uiapi/ui_api_all_supported_objects.htm
:::

+ [スケジューラはGoogle Chromeでは動作しません](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007cmJn7)

# オブジェクトモデルの説明

[Which objects are mandatory/indispensable in Field Service?](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000Jd03s)

作業指示書に記載されている内容に付け加えると、もう 1 つの重要な点は、Field Service 内では、サービス予定は作業指示書または作業指示書品目のいずれかを親にする必要があり、作業指示書品目は存在できないためです。作業指示書内では、作業指示書品目が必須かどうかにかかわらず、作業指示書を必須オブジェクトにします。 

また、Work Type は必須のオブジェクトではないという考えにも異議を唱えます。技術的にはそれがなくても Field Service を使用できますが、そうすることで、予定の期間と予定の期日に関しては、単純な既定値に制限されます。作業タイプは、これらの事柄に影響を与えることができる鍵であり、スケジュールされる特定のタイプの作業に基づいて必要になる可能性のある潜在的なスキルと同様です。 

質問自体は、追加のコンテキストなしで非常に広範です。たとえば、手動でドラッグ アンド ドロップする以外に、何らかの種類のスケジューリングを行う場合は、次を利用する必要があります。 


+ Scheduling Policy : スケジューリングポリシー
+ Work Rules : ワークルール
+ Service Objectives : サービスの目的
+ 作業ルールとサービス目標をスケジューリング ポリシー自体に関連付けるジャンクション オブジェクト

上記のコア オブジェクトに関連するジャンクション オブジェクトにも注意する必要があります。

+ Service Territory Member : サービステリトリーメンバー - サービスリソースをテリトリーに関連付けます (必須)
+ Assigned Resource : 割り当てられたリソース - サービス予定をサービスリソースに関連付けます (必須)
+ Skill Requirements : スキル要件 - スキルを作業タイプおよび/または作業指示に関連付けます (オプションですが、強くお勧めします)
+ Service Resource Skills ; サービス リソース スキル - スキルをサービス リソースに関連付けます (オプションですが、強くお勧めします)

私の言いたいことは、少なくとも私の意見では、どの Field Service 実装においてもコア データ モデルの大部分を操作するということです。最大の例外は、在庫管理データ モデルであり、保守計画 (+ 関連オブジェクト)、作業計画 (+ 関連オブジェクト)、およびサービス クルー (+ すべての関連オブジェクト) などの程度の低いアイテムです。

# ServiceResourceId が数式では使えない

+ [I can't find ServiceResourceId field when i try to insert it in validation rule](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000JfYZm)

# ガントチャートでカスタムフィルターを共有する方法

+ [How to share custom filters on a Gantt](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000PmLY1)

:::note
ガント フィルターは、[セットアップ] > [共有設定] 内で共有ルールを利用できる実際のオブジェクトです。

Gantt Filter is an actual Object which you can utilize Sharing Rules on within Setup > Sharing Settings.

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/e15590e0-7edf-ac75-4f03-b7c84a17a5af.png)
:::


# ETA not available

+ [I getting error in FSL Mobile App](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V000074s4FQ)

:::note
Please check this article.

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

# 複数日の予約をスケジュールできない理由

+ [Book Appointment issue for MultiDay SA](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V000075vxcm)

:::note
組織で拡張最適化を使用しているようです。複数日の予約は ESO ではまだサポートされておらず、LS ではサポートされています。

複数日のスケジュール設定に関する考慮事項

It seems that you are using Enhanced Optimization in your org, Multi-day Appointment booking is still not supported in ESO, it's supported in LS.

Considerations for Multiday Scheduling
https://help.salesforce.com/s/articleView?id=sf.pfs_multiday_considerations.htm&type=5
:::

# 解決策はよくわからん

+ [You don't have the level of access required to complete this action. Please contact your administrator for help.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V000077mg6x)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/77b0cd6f-3761-685d-dce0-e45e0a3018a5.png)

+ [How can I enable the rules Due Date and Earliest Start Permitted, under Work rules for field service admin](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000R92Pr)

# Field Service Document Builder

[PDF を生成できないエラー](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007agU1f)

:::note alert
We can't generate your PDF. Try again later.
:::

:::note
After working with Salesforce Support, the answer did lie in the Service Report Language field, but it's a bit strange. I had provided access through my profile (System Administrator) and could edit the field directly on the page, but for some reason, the requirement is that the field level security must be set through a permission set instead of a profile. This didn't make much sense to me, since a profile is still a permission set at it's core, but in any case...adding the permission directly to the permission set instead of the profile worked.

Salesforce サポートと協力した結果、答えは [サービス レポートの言語] フィールドにありましたが、少し奇妙です。自分のプロファイル (システム管理者) を通じてアクセスを提供し、ページ上でフィールドを直接編集できましたが、何らかの理由で、プロファイルではなく権限セットを通じてフィールド レベルのセキュリティを設定する必要があるという要件がありました。プロファイルは依然としてその核心で権限セットであるため、これは私にとってあまり意味がありませんでしたが、いずれにせよ...プロファイルではなく権限セットに直接権限を追加することで機能しました。
:::