flex cardのエラー

[flex cardのまとめに　戻る](https://qiita.com/Keiji_otsubo/items/c80ddcdea9e895079dfc)

# エラー

+ [IDX and FlexCard issue](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007IgCwG)

:::note
For our scenario we had a discussion with Salesforce and were told that IDX and flexcards did not work anymore. That may or may not have changed since.

We have now enabled the metadata API for OmniStudio to move stuff around, which feels better anyway. from an automation point of view. 

私たちのシナリオでは、Salesforce と話し合いましたが、IDX とフレックスカードはもう機能しないと言われました。それはそれ以来変わっていないかもしれないし、変わっていないかもしれません。

OmniStudio のメタデータ API を有効にして、データを移動できるようにしました。とにかく快適です。自動化の観点から。
:::


+ [FlexCard 差し込みフィールドが機能せず、余白がオフになる](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007QfD7k)

:::note
This issue has been resolved. The merge fields were not working because I had turned off repeat and the input was an array.


この問題は解決されました。繰り返しをオフにして入力が配列だったため、差し込みフィールドは機能しませんでした。
:::

+ [子 FlexCard フライアウト モーダルはデザイナー プレビューでは機能しますが、Lightning レコード ページまたはエクスペリエンス ページでは機能しません。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007XIFGD)

:::note
これは、セットアップ中に提供したテスト データを使用してフライアウトがプレビューで読み込まれるためだとしか考えられませんが、展開後はそのようなことは起こりません。 DataSource 構成を確認してみます。
:::

+ [IDX と FlexCard の問題](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007IgCwG)

:::note
For our scenario we had a discussion with Salesforce and were told that IDX and flexcards did not work anymore. That may or may not have changed since.

We have now enabled the metadata API for OmniStudio to move stuff around, which feels better anyway. from an automation point of view. 

私たちのシナリオでは、Salesforce と話し合いましたが、IDX とフレックスカードはもう機能しないと言われました。それはそれ以来変わっていないかもしれないし、変わっていないかもしれません。

OmniStudio のメタデータ API を有効にして、データを移動できるようにしました。とにかく快適です。自動化の観点から。
:::

+ [2 つの子 FlexCard を別のカードに埋め込むと、エラーが発生します: FlexCard パラメータ {開発者名: } がモジュール名の基準を満たしていません: /^[a-zA-Z0-9_:-]+$/](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V000074sD7L)


# Already fixed remote site settings but still cannot see Preview button in flex card

[Already fixed remote site settings but still cannot see Preview button in flex card](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000GeVTgSAN)

:::note
I have fixed the issue by adding “พี่”CarddesignerHeader” to page layout

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/2bfdd8a9-5180-69e8-3715-397ead8f5bd0.png)
:::

# When I create New flex card, system creating Omni UI card and Not flex card. any idea?

+ [When I create New flex card, system creating Omni UI card and Not flex card. any idea?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000JgQDx)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/ebc0ac68-b486-3aa1-25b1-6fb5863e8d80.png)


:::note



Update the FlexCard Object's Default Lightning Record Page to Access the FlexCard Designer
https://help.salesforce.com/s/articleView?id=sf.os_update_the_flexcard_object_s_default_lightning_record_page_to_access_the_flexcard_designer_43333.htm&type=5
:::

+ [Flexcard's text element rich text editor not displaying](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000MgWVZ)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/43b4822d-6cdc-c5a1-d623-1fedce2ac42a.png)

これも同じようです。

+ [Error! No MODULE named markup://c:teamEditContactEnglish found : [markup://c:cfTeamContacts_1_Salesforce]: Source.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000FxkQZ)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/38109fa8-afbb-a713-cc8e-56a94ae2504e.png)

:::note
You need to activate the cards in a order. First the any child cards need to be activated before the parent card. During the activation process Flexcard creates a new LWC component and since it is not able to reference the child comp. it is failing. Normally during the actual deployment vlocityDX / VlocityIDX takes care of these steps by ordering them

カードを順番に有効化する必要があります。まず、親カードの前に子カードをアクティブにする必要があります。アクティブ化プロセス中に、Flexcard は新しい LWC コンポーネントを作成しますが、子コンポーネントを参照できないためです。それは失敗しています。通常、実際の展開中に vlocityDX / VlocityIDX はこれらの手順を順番に処理します。
:::

# フレックスカードが存在するレコードからデータラプターにレコードフィールド値を渡すことはできますか?

+ [Can you pass record field values from the record a flexcard is on, to the dataraptor?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007LqiJv)

:::note
{recordId} is the id present in the url.

{record} is the record you will get from the datasource(dataraptor) based on the {recordId} you pass into the dataraptor. which means you will not have the node {record.Relationship_ID__c} before you call the datasource.

 

In your case I assume you want to get the Relationship_ID__c  from the current record and you want to get all other finServ_financialAccount__c  records whose Id is equal to Relationship_ID__c of the current record.

 

So, First you have to add the object of current record (CurrentRecord) to extract Relationship_ID__c of the current record 

then you have to  add the finServ_financialAccount__c  object and add the filter (CurrentRecord:Relationship_ID__c) something like below.

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/93a85cf0-5a7b-189d-ba8a-846dbf4c4c13.png)

:::


+ [Winter '24 へのアップグレード後、FlexCard と OmniScripts が非アクティブになりました。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007N9c7l)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/19e797c6-02cb-87cf-cca7-73830a469d87.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/058fbe6e-895c-87e7-0922-5c1fcf8818eb.png)


:::note
I had two Chrome windows open, each associated to a different profile.  I was only logged into the org from the one profile.  It would not activate. I closed these tabs and on the last tab, chose Logout to close the session.  Then logged into the org on the other Chrome window and it activated no problem.  

2 つの Chrome ウィンドウを開いて、それぞれが異なるプロファイルに関連付けられていました。1 つのプロファイルからのみ組織にログインしました。活性化しません。これらのタブを閉じ、最後のタブで [ログアウト] を選択してセッションを閉じました。次に、別の Chrome ウィンドウで組織にログインすると、問題なくアクティブ化されました。 
:::

# ユーザーの役割に基づいてフレックスカード要素を条件付きで表示する

+ [Conditionally Display Flexcard Element based on User Role](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007PgzsZ)

:::note
You, have to use User.userRole (without merge field syntax in the flex card
You can see the context variables in the flex card data json like below

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/2eb07a6a-8e56-a002-ef3d-09e7c58105e2.png)

And if you want to apply condition based on the context variable you can configure it like below (Please note: I have not used merge field syntax)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/501318da-e465-b493-0c10-94509ae10f7a.png)

:::

# Flexipage のルックアップ フィールドの基になる「名前」（またはルックアップに関連するフィールド）をレンダリングする方法を知っている人はいますか? レンダリングされたルックアップ ID のみが表示されます。私の使用例は、User オブジェクトへのルックアップがあり、そのルックアップ フィールドをページにプルするときに表示される ID ではなく、Flexipage でユーザーのフルネームを表示できるようにしたいということです。 

+ [Lookup Fields in Flexipages](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007Sr8CT)

:::note
When you configure your lookup you mention the Label and Value. Label is what is displayed on the dropdown, value is what goes into your JSON. They can be the same or different - Eg: Label will be Name and Value will be Id.

I have done a short tutorial on using Lookup Element that might help you.

https://www.youtube.com/watch?v=7df0cQqZncE

ルックアップを設定するときは、ラベルと値を指定します。ラベルはドロップダウンに表示されるもので、値は JSON に入力されるものです。それらは同じでも異なっていても構いません - 例: ラベルは名前、値は ID になります。
:::