Search In This Blog

2021-03-29

Put two Visualforce in same section, refresh by home tab link, first Visualforce disappeared | Safari | Community

In community buider, drag two Visualforce page into same section in Home page, then puliched.

Open the community page by Safari, use menu tab link or user profile's home link or logo to refresh home page. The first Visualforce page will be disappered.


Solution

  • Drag one html editor to community page.
  • Set it as null, then put it at the last of Visualforce page in the same section.

2021-03-10

After refresh, community URLcannot access in sandbox

After refresh sandbox, the Community can not access which was accessable. Check the custome url, site.com community's status is developing.

Solution
Open community builder, republish the community again.

2021-03-09

Sandboxリフレッシュ後、コミュニティのURLが公開されません

 本番からSandboxをリフレッシュ後、本来公開済みのコミュニティURLが開発中になっております。


カスタムURLで確認し、サイト種別がコミュニティのは公開済みになっておりますが、サイト種別がSite.comコミュニティのは開発中になっております。


解決策:

対象コミュニティのビルダーを開く、ヘッダーの「公開」をクリックし、URLが公開済みになります。

Salesforce開発便利なChrome拡張機能

Salesforce Inspector

レコードデータ、メータデータへ直接アクセスできる。データの確認には便利です。


Force.com LOGINS

複数のアカウントを管理できる。


GoFullPage

画面キャプチャーをとる。

2021-03-06

Salesforce開発入門タスク5 Apex トリガ

Apex トリガ関連のタスクとなります。

Apexの関連勉強tailhead:

https://trailhead.salesforce.com/en/content/learn/modules/apex_triggers?trail_id=force_com_dev_beginner


ステップ1

設定>ビルド>開発>Apex トリガ

Salesforce入門タスク4の対象オブジェクトのトリガを作成する

対象オブジェクトにテキスト項目と日付項目を新規作成する

機能:データ新規作成するとき、日付項目に今日の日付を設定する、トリガのインサート前(Insert before)、テキスト項目に日付項目のデータを設定し、保存する


ステップ2

機能:ステップ1で作成したデータを編集する、もしチェックボックスがFALSEの場合、トリガの更新前(Update before)でTRUEに設定し、保存する

確認ポイント:

  • データのチェックボックスがチェックされたこと
  • タスク4が完了した場合はメールも送信されること


Salesforce開発入門タスク4 ワークフロー

ワークフロー関連のタスクとなります。ワークフローでメール送信を実現します。

事前準備:

Salesforce入門タスク2で作成したカスタムオブジェクト(別オブジェクトでもよい)に「チェックボックス」型のカスタム項目を追加する


ステップ1

設定>管理>コミュニケーションテンプレート

メールテンプレートを新規作成する、内容は対象オブジェクトのNAME項目を差し込む

「有効」を忘れず。


ステップ2

設定>作成>ワークフローと承認申請>メールアラート

対象オブジェクトのメールアラートを作成する

メールテンプレートはステップ1で作成したメールテンプレートを設定する

メール受信者は作成者にする


ステップ3

設定>作成>ワークフローと承認申請>ワークフロールール

対象オブジェクトのワークフロールールを作成する

ルール条件は事前準備に作成したチェックボックスがチェックされた時(TRUE)

評価条件:レコードが次の場合にルールを評価 作成されたとき、およびその後基準を満たすように編集されたとき

「有効」を忘れず。


ステップ4

チェックボックスがチェックされるデータを新規作成する、メールが届くことを確認する


※メールが届かない場合の対応

  • ステップ1とステップ3は「有効」を忘れましたか。
  • 作成者のメールアドレスは有効なメールですか、迷惑メールになりますか。
  • 設定>管理>メール管理>送信:アクセス権はすべでのメールに設定します。
  • データのチェックボックス状態はFALSE⇒TRUEですか。

Salesforce開発入門タスク3 Apex クラスとVisualforce ページ

簡単で説明すると、Apex クラスはバックエンド(backend)、Visualforce ページはフロントエンド(frontend)ということです。

ApexはJavaと似ています。VisualforceはHTMLと似ています。

Apexの関連勉強tailhead:

https://trailhead.salesforce.com/en/content/learn/modules/apex_database?trail_id=force_com_dev_beginner

https://trailhead.salesforce.com/en/content/learn/modules/apex_testing?trail_id=force_com_dev_beginner


Visualforce ページの関連勉強tailhead:

Visualforce Basics


上記のtailheadを勉強した上に、タスクをはじめます。

目標:Salesforce入門タスク2に作成したオブジェクトのカスタム一覧画面を作成する

事前準備:対象オブジェクトに複数のデータを新規作成する


ステップ1 

対象オブジェクトのVisualforceとApexを新規作成する

Apexでオブジェクトの全て項目取得する。

注意:SELECT * FROM は利用しない、必ず項目のAPI名で取得する


ステップ2

Visualforceに取得した項目を表示する、データ名前を3列で出力する。出力は下記のリンクで参照する

Output data in 3 columns by repeat in Visualforce

プレビューで画面表示の確認できる


ステップ3

Visualforce画面をPDFの形で表示する

How to display Visualforce page as PDF


ステップ4

編集画面のApexとVisualforceを作成する

Apexはステップ1で作成したもの、そのまま利用できるが、ここは新規で作成する。

保存ボタンについて、二重送信防ぐ機能を忘れず。


Salesforce開発入門タスク2 オブジェクト

※ここはClassic部分、Lightning部分は別途となります。

ヘッダーの設定リンクより設定画面を開く



ステップ1

設定>ビルド>作成>オブジェクト


3つカスタムオブジェクトABCを作成し、オブジェクトAと参照関係、主従関係を関連する


ステップ2 オブジェクトのカスタム項目 & リレーション

各オブジェクトがいくつのカスタム項目(全タイプ)を作成する

各項目のプロファイルの権限はデフォルトで設定する


ステップ3 オブジェクトのボタン、リンク、およびアクション


ボタン、リンク、およびアクションにカスタムアクションとボタンを新規作成する

アクションは「メールを送信」で、ボタンは「JavaScriptを実行」で作成する


ステップ4 レイアウト

ページレイアウトを新規作成する

ページレイアウトに新しいセクションを追加する、項目の位置を変更する

ページレイアウトの標準ボタンを削除と編集のみを残る

ステップ2に作成したカスタムアクションとボタンを追加する

保存まだは適用する後、「ページレイアウトの割り当て」よりシステム管理者と標準ユーザに割り当てる


ステップ4 タブ


タブ画面を開く、ステップ1のカスタムオブジェクトタブを作成する

メニュータブの✙をクリックし、作成したタブをクリックする



ステップ5

データを新規作成する


これでカスタムオブジェクトの作成、レイアウトの編集、カスタムボタンとタブの作成について、簡単な入門タスクです。


Salesforce開発入門タスク1

 developアカウントの申請

https://developer.salesforce.com/signup


developアカウントのログイン

https://login.salesforce.com/


役に立つ勉強サイト

https://trailhead.salesforce.com/

Developer Beginner

https://trailhead.salesforce.com/en/content/learn/trails/force_com_dev_beginner

Admin Beginner

https://trailhead.salesforce.com/en/content/learn/trails/force_com_admin_beginner






2021-03-02

ユーザの凍結と無効の違い

 ユーザが凍結すると、ログインができなくなり、パスワードのリセットができます。ライセンスが解除されません。


ユーザが無効すると、ログインはもちろんできなくなり、パスワードのリセットもできなくなります。ライセンスが解除されます。


ユーザがログイン状態中に、システム管理者がユーザを凍結あるいは無効化にすると、ユーザがユーザ認証が必要な画面へ遷移する際、ログイン画面へ遷移されます。

2021-02-26

Call Apex Method with parameter and show result message | Aura

 CMP:

<aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId" controller="InvoiceIssueController" access="global">

<aura:html tag="style">

       .slds-modal__container{ 

         height : auto; width: 80%; max-width: 70vh; 

       } 

       .modal-body{ 

        height : 15vh !important;

        max-height: 15vh !important; 

       } 

       .slds-modal__footer{ 

         display: inline !important; 

       }

    </aura:html>

    

    <aura:handler name="init" value="{!this}" action="{!c.callServer}"/>

    <aura:handler event="force:refreshView" action="{!c.isRefreshed}" />

    <aura:attribute name="showErrors" type="String"/>

    <aura:attribute name="errorMessage" type="String"/>

    <aura:attribute name="message" type="String"/>

{!v.message}

    <aura:if isTrue="{!v.showErrors}">       

        <div class="slds-notify slds-notify_toast slds-theme_error">

            <span class="slds-assistive-text">error</span>

            <div class="slds-notify__content">

                <p class="slds-align_absolute-center">{!v.errorMessage}</p>                

            </div>

        </div>

    </aura:if>

</aura:component>


JS:

({

    callServer : function(component,event, helper) {

        var myAttribute = component.get("v.recordId");

        var action = component.get("c.ApexMethod1");

        action.setParams({ "id" : myAttribute });

        var action2 = component.get("c.ApexMethod2");

        action2.setParams({ "id" : myAttribute });


        action2.setCallback(this, function(response) {

            console.log(response.getState());

            if (response.getState() === "SUCCESS") {

                $A.get('e.force:refreshView').fire();           

            }else {

                console.log("Error Saving Contact ");

            }

        });

      

        action.setCallback(this, function(response) {

            if (response.getState() === "SUCCESS") {

                if (response.getReturnValue() == 1) {

                    component.set("v.showErrors",true);

                component.set("v.errorMessage","error!");

                } else {

                    component.set("v.message","process...");

                    $A.enqueueAction(action2);

                }

            }else {                  

                component.set("v.showErrors",true);

                component.set("v.errorMessage","error");

            }

        });

        $A.enqueueAction(action);

    },

    isRefreshed: function(component, event, helper) {

        location.reload();

    }

})


Apex:

Add @AuraEnabled to target ApexMethod

2021-02-24

テキストと数字の変換|数式

テキスト⇒数字

VALUE(テキスト)


数字⇒テキスト

TEXT(数字)

2021-02-23

添付ファイルの保存先がSalesforce Filesにする

設定> Salesforce Files>一般設定


下記のチェックボックスをチェックする

レコードの [添付ファイル] 関連リストにアップロードしたファイルは、添付ファイルとしてではなく、Salesforce Files としてアップロードされます。


この設定に対しての説明:

※Salesforce Files は、ユーザが共有および管理できるように [ファイル] ホームに表示されます。一方、レコードへの添付ファイルはそのレコードからのみ使用できます。ファイルを添付ファイルではなく Salesforce Files としてアップロードすると、ファイルへのアクセス権が変更されません。特定のレコード以外でファイルを共有および管理できるようになるだけです。この設定は、Salesforce Classic にのみ適用されます。



その他

メモと添付ファイルの Lightning への移行

Salesforce LabsがMagic Moverアプリを提供しています。

記事のリンク先:https://help.salesforce.com/articleView?id=000315846&type=1&mode=1

きれいなタイルメニューを作成する|エクスペリエンス(旧コミュニティ)

タイルメニューを画面に追加する

エクスペリエンスビルダー>コンポーネント>コンテンツ>タイルメニュー

画面にDrag&Dropする



タイルメニューの内容を編集

「タイルメニューを編集」リンクをクリックする

メニュー項目を作成、削除、編集ができる。タイルメニュー項目に画像も追加できる。

メニュー項目を選択し、「省略可能」を開く、画像をアップロードで完了

※タイルメニューの画像がゲストコミュニティユーザに表示されるようにするには、[ワークスペース] | [管理] で [ゲストユーザは公開ページとログインページでアセットファイルを表示できる] を有効にします。次に、ドキュメントへの参照アクセス権を付与します。




タイルメニューのレイアウト調整

順番の調整はタイルメニューの並び順より変わる

画面テンプレートがサイドバーなしの場合は4個ずつで表示する、サイドバーありの場合は2個ずつで表示する

画像ありの場合、三つパータンがある。一部:文字バナーが表示される、画像を真ん中に小さく表示される;フル、オーバーレイなし:文字バナーが表示される、画像は拡大する;フル、オーバーレイあり:文字は真ん中に表示する、画像は拡大する

文字バナーの高さは15~100までとなる。これ以上変更したい場合はCSSで調整する

文字バナーの文字と背景色、タイルメニューの境界線の半径は変更できる



2021-02-19

エクスペリエンス(旧コミュニティ)の「ゲストユーザーのLightning権限」の設定

サイトの「ゲストユーザーのLightning権限」と別に、エクスペリエンス(旧コミュニティ)の「ゲストユーザーのLightning権限」設定です。


入り口はサイトではなく、ドメインです。

ドメイン> コミュニティの Force.com サブドメインのドメイン名をクリック>サイトの表示ラベルをクリック>設定画面


※この設定画面の「公開アクセス設定」ボタンからコミュニティWEBユーザのプロファイルをアクセスできる


Lighning Experience(旧community)的guest权限移除

 domian界面 》点击community的domain名》选择要设置的site,点击site表示名》进入设定界面

2021-02-15

Salesforce lwc: ApexFresh re-get wired data

@api recordId; 

recordList;


@wire(getDataMethod, {recordId : '$recordId'}

async recordList(value) {

    this.recordList = value;

    const {data, error} = value;

    if (data) {}

    else if (error) {}

}


handleClick(event) {

    refreshApex(this.recordList);

}