LWC LightningConfirm

メモ:

import LightningConfirm from ‘lightning/confirm’;

        const result = await LightningConfirm.open({

            message: ‘テンプレートの内容を上書き保存してよろしいですか。’,

            //variant: ‘header’,

            label: ‘確認’,

            theme: ‘inverse’,

        });

theme

  • default: white
  • shade: gray
  • inverse: dark blue
  • alt-inverse: darker blue
  • success: green
  • info: gray-ish blue
  • warning: yellow
  • error: red
  • offline: ​black​

その他

alert

import LightningAlert from 'lightning/alert';
async handleAlertClick() {
        await LightningAlert.open({
            message: 'this is the alert message',
            theme: 'error', // a red theme intended for error states
            label: 'Error!', // this is the header text
        });
        //Alert has been closed
}

https://developer.salesforce.com/docs/component-library/bundle/lightning-alert/documentation

わけわからないエラー。。。

エラー内容:

一度リリース済みの管理パッケージのソースからスクラッチ環境新規作成し、ソースPUSHしたら

サイトで公開してるRESTAPI にアクセスするときに、以下のエラーが発生しました。

<Errors>
<Error>
<errorCode>INVALID_TYPE</errorCode>
<message> SELECT Id FROM ReleasedEntityState WHERE SubjectKeyPrefix ^ ERROR at Row:1:Column:16 sObject type 'ReleasedEntityState' is not supported. If you are attempting to use a custom object, be sure to append the '__c' after the entity name. Please reference your WSDL or the describe call for the appropriate names.</message>
</Error>
</Errors>

何原因が分からなかったですが、新たにサイトを作成したら、エラーがなくなりました!!!

作ってから時間がたつ必要???

補足:

どうやら、リリース済みのパッケージが、その後新しいバージョンで環境で作成したら、

ソース更新、PUSHするたびに、上記のエラーが発生する。

  → 少し時間置いて、サイトで公開してるRESTAPI のURLを叩いたら元に戻る。。。。一体なの仕組みだろ

サイトユーザ セルフ登録について

① 準備

 ・サイトを有効化し、サイトを構築する。

 ・設定 ⇒「個人取引先」有効化

   →取引先の法人用のレコードタイプ新規作成する
(個人取引先用のレコードタイプは自動作成される)
・「Customer Community Plus Login User」のコピーからカスタムプロファイルを作成する

➁ 設定変更

 ・設定⇒デジタルエクスペリエンス⇒設定「セルフ登録、ユーザ作成、およびログインで標準外部プロファイルの使用を許可」選択する

 ・サイト⇒管理⇒メンバー⇒上記のプロファイルが追加する

 ・サイト⇒管理⇒ログイン & 登録にて、設定変更する。(必要なApexクラスを自動生成する)

 

③ エラー:

「ユーザ登録でエラーが発生しました。この個人アカウントの有効なレコードタイプを指定するか、サイトの公開アクセス設定のデフォルトのレコードタイプを割り当てる必要があります。」

対象方法: 上記の赤い枠のところのユーザのディフォルトレコードタイプは「個人取引先」を指定すること。

Salesforce LWC JavaScript Debug

Use Lightning Web Security by Default in New Salesforce Orgs

■問題:

今まで利用した「developer tools」のデバッグができなくなりました。

 → modules/名前区間 のjavascript が消えました。

■対策:

スクラッチ環境時に、以下のように指定して、作成すれば、

LWCのJavaScript debugは今まで通りできるようになります。

  project-scratch-def.json
 
   "securitySettings": {
      "sessionSettings": {
         "lockerServiceNext": false
        }
    }
環境上の設定

Winter23からの変更点の影響かもしれないです。
https://help.salesforce.com/s/articleView?id=release-notes.rn_lwsec_new_orgs.htm&type=5&release=240

LWC <=> Record画面 自動更新

① LWC から画面項目を自動更新。

import { getRecordNotifyChange } from 'lightning/uiRecordApi';

 //LWCでレコード更新
 await updateOneRecord({ rid: this.recordId,var01:value});
 //レコードページの値を自動更新
 getRecordNotifyChange([{recordId: this.recordId}]);

➁ レコード編集後に、LWC画面の内容を自動更新

import { getRecord} from 'lightning/uiRecordApi';
import getLwcDosomething from '@salesforce/apex/XXXXXController.getLwcDosomething';

  someShowInfo;

 @wire(getRecord,{recordId:'$recordId',fields:['ID']})
  wireEditRecord({error,data}) {
  if(data) {
     getLwcDosomething({rid:data.id})
     .then(result => {
       this.someShowInfo = result;
     })
   }
 }

Salesforce スクラッチ環境 任意ユーザ VSCode開発

step01 : sfdx force:auth:web:login -a anyaliasname20221022 -r ●●●●-dev-ed.my.salesforce.com

  ●●●●-dev-ed.my.salesforce.com : 私のドメインにて確認する

step02 : sfdx force:config:set defaultusername=anyaliasname20221022

step03 : sfdx force:source:pull

sfdx force:source:push

Salesforce 設定関連

① 右上の「設定」ボタン非表示について

  システム権限「設定・定義を参照する」外す。

➁ Chatter @メンション ユーザを表示させる 

  「ユーザ」内部アクセス権限「公開」に変更する。(このようにしない場合、一度返事したユーザにしかメンションできないようです。

③ アプリの「ユーティリティ項目」に、「メモ」を追加するため 

  「設定」→「メモ」→有効化 必要でする