Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

制限された項目を含むレコードをコピーする

公開日: May 22, 2026
説明
※この記事は英語版を翻訳しており、一部機械翻訳を含むため内容は後日更新される可能性があります。最新の内容は英語版を参照してください。表示言語は画面右下の言語名から切り替えられます。

標準のコピーボタンを使用してレコードのすべての項目のコピーを作成します。カスタムコピーボタンを作成し、ビジネス要件に従って必要な項目のみをコピーできます。

注意: これは Classic でのみ動作し、Lightning では動作しません。Lightning の場合、Lightning コンポーネントでボタンを上書きする必要があります。
https://trailhead.salesforce.com/modules/lex_javascript_button_migration/units/javascript_button_alternatives

Lightning の場合:
1.Lightning コンポーネントを作成します。
2. コントローラー部分で、レコードをコピーして、必要に応じていくつかの値を変更します。
3. 変更した項目と、保存およびキャンセルボタンを画面に表示します。
4. 「クイックアクション」のクリック時に呼び出される Lightning コンポーネントを使用します。

 
解決策
このサンプルシナリオではリードオブジェクトにカスタムボタンが作成されます。Visualforce (VF) ページにはリードとしての標準コントローラーと、必須機能を実現するために作成されたカスタムクラスとしての拡張があります。 サンプルでは VF ページで参照される項目のみがコピーされます。

注意: 必須項目は特に慎重に扱う必要があります。 

レコード詳細ページでカスタムボタンをクリックすると VF ページが表示され、関連付けられている拡張コントローラーが初期化されると、VF ページで参照されている項目が選択され、[clone lead (リードをコピー)] ボタンによってレコードが挿入されます。 

このタスクを達成するには、3 つの操作を実行する必要があります。 

(1) リードとしての標準コントローラーと、拡張としての Apex クラスを使用する VF ページを作成します。 
===================================================================
<apex:page standardController="lead" extensions="customcloneLead">
<apex:form >
<apex:pageBlock title="Lead details">
<apex:pageBlockSection title="My Content Section" columns="2">
<apex:inputField value="{!lead.company}" />
<apex:inputfield value="{!lead.firstname}"/>
<apex:inputfield value="{!lead.lastname}"/>
</apex:pageBlockSection>
<apex:pageBlockButtons>
<apex:commandButton action="{!clonelead}" value="save clone"/>
</apex:pageBlockButtons>
        </apex:pageBlock>
</apex:form>
</apex:page>

(2) Apex 拡張クラスを作成します。 
=============================
public class customcloneLead{
private lead l;
public customcloneLead(apexpages.standardcontroller std){
this.l = (lead)std.getrecord();
}

public void clonelead(){
lead l1 = new lead();
l1 =l.clone();
insert l1;
}
}


(3) リードオブジェクトにカスタムボタンを作成します。これは、ニーズに応じて onclick javascript ボタンにすることもできます。レイアウトにこのボタンを追加します。 
Javascript のサンプルボタン:
=====================
window.location.href = "/apex/customcloneLead?id={!Lead.Id}";

注意: ビジネスユースケースのニーズに従って javascript を変更できます。 

免責事項;これは単なるサンプルコードであり、サンドボックスでユースケースをテストし、各自の裁量で変更して使用できます。 


 
ナレッジ記事番号

000386351

 
読み込み中
Salesforce Help | Article