Регистрация  |  Вход

Создать кастомную кнопку на кастомном объекте -?

Всем привет.
Такой вопрос:
Есть кастомный объект, хочу создать для него кастомную кнопку visualforce.
Создал кастомный контроллер, типа такого

public with sharing class Customer_Request{

private final Customer_Request__c CRequest;
//Properties
public String Name{get;set;}
public Id Id{get;set;}
public String AccountId{get;set;}

public Customer_Request() {
CRequest = [SELECT Id, Account__c, Activated_Date__c, Contact__c, CreatedById,
CurrencyIsoCode, End_date__c, LastModifiedById, Opportunity__c,
OwnerId, Name, Date_of_creation__c, Status__c
FROM Customer_Request__c
WHERE Id = :ApexPages.currentPage().getParameters().get('id')];
Name = CRequest.Name;
Id = CRequest.Id;
AccountId = CRequest.Account__c;
}

public Customer_Request__c getRequest() {
return CRequest;
}

public PageReference save() {
update CRequest;
return null;
}
}

Создал visualforce страничку

<apex:page Controller="Customer_Request" tabStyle="Account">
<apex:pageBlock title="Customer Request Summary">
<apex:pageBlockSection >
Name: {!Name } <br/>
Id: {!Id} <br/>
AccountId: {!AccountId} <br/>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:page>

Создаю в сетапе через New Button новую кнопку, выбираю Content Source = visualforce page - но никакие страницы недоступны…

Как мне увидеть в этом конструкторе свою страницу с кастомным контроллером?

Всем привет.
Такой вопрос:
Есть кастомный объект, хочу создать для него кастомную кнопку visualforce.
Создал кастомный контроллер, типа такого
[code]public with sharing class Customer_Request{
 
    private final Customer_Request__c CRequest;
    //Properties
    public String Name{get;set;}
    public Id Id{get;set;}
    public String AccountId{get;set;}
    
    public Customer_Request() {
        CRequest = [SELECT Id, Account__c, Activated_Date__c, Contact__c, CreatedById,
                          CurrencyIsoCode, End_date__c, LastModifiedById, Opportunity__c,
                          OwnerId, Name, Date_of_creation__c, Status__c
                          FROM Customer_Request__c 
                   WHERE Id = :ApexPages.currentPage().getParameters().get('id')];
        Name = CRequest.Name;
        Id = CRequest.Id;
        AccountId = CRequest.Account__c;
    }
 
    public Customer_Request__c getRequest() {
        return CRequest;
    }
 
    public PageReference save() {
        update CRequest;
        return null;
    }
}[/code]

Создал visualforce страничку
[code]<apex:page Controller="Customer_Request" tabStyle="Account">
    <apex:pageBlock title="Customer Request Summary">
        <apex:pageBlockSection >
          Name: {!Name } <br/>
            Id: {!Id} <br/> 
            AccountId: {!AccountId} <br/>
        </apex:pageBlockSection>
    </apex:pageBlock>    
</apex:page>[/code]

Создаю в сетапе через New Button новую кнопку, выбираю Content Source = visualforce page - но никакие страницы недоступны…

[b]Как мне увидеть в этом конструкторе свою страницу с кастомным контроллером?[/b]

Не понятно зачем создавать visualforce а не LWC, но для твоей задачи, достаточно добавить
<apex:page StandardController="Account" ...

Не понятно зачем создавать visualforce а не LWC, но для твоей задачи, достаточно добавить
<apex:page StandardController="Account" ...

А LWC - это что и как? Можно пример, если не трудно?
Я с Salesforce только второй месяц работаю, пока разбираюсь, учусь.

А LWC - это что и как? Можно пример, если не трудно? 
Я с Salesforce только второй месяц работаю, пока разбираюсь, учусь.

o.nowikow
А LWC - это что и как? Можно пример, если не трудно?
Я с Salesforce только второй месяц работаю, пока разбираюсь, учусь.

LWC это JS framework от салсфорса

а это сереверная отрисовка с возможностью подключить JS

Все зависит от того какие задачи решаются.
А вам надо добавлять standardController='АПИ нейм нужного объекта'

[quote="o.nowikow"]А LWC - это что и как? Можно пример, если не трудно? 
Я с Salesforce только второй месяц работаю, пока разбираюсь, учусь.[/quote]
LWC это JS framework от салсфорса

а это сереверная отрисовка с возможностью подключить JS

Все зависит от того какие задачи решаются.
А вам надо добавлять standardController='АПИ нейм нужного объекта'

Maxim Elets
А вам надо добавлять standardController='АПИ нейм нужного объекта'

есть другой вариант, ведь если упомянули стандартный Controller, то потом в апекс контроллере нужно "расширяться"

проще при создании кастомной кнопки выбрать вариант URL и далее пиши в том URL вроде /apex/Stranitsa?id={id}

[quote="Maxim Elets"]А вам надо добавлять standardController='АПИ нейм нужного объекта'[/quote]

есть другой вариант, ведь если упомянули стандартный Controller, то потом в апекс контроллере нужно "расширяться"

проще при создании кастомной кнопки выбрать вариант URL и далее пиши в том URL вроде /apex/Stranitsa?id={id}

Maxim Elets
А вам надо добавлять standardController='АПИ нейм нужного объекта'

Я так пробовал - не получается
Пишу
<apex:page standardController="Customer_Request__c">

Он ругается
Unknown property 'Customer_Request__cStandardController.Name'

[quote="Maxim Elets"]
А вам надо добавлять standardController='АПИ нейм нужного объекта'[/quote]
Я так пробовал - не получается
Пишу
[code]<apex:page standardController="Customer_Request__c">[/code]
Он ругается
[b]Unknown property 'Customer_Request__cStandardController.Name'[/b]

Den Brown
Maxim Elets
А вам надо добавлять standardController='АПИ нейм нужного объекта'

есть другой вариант, ведь если упомянули стандартный Controller, то потом в апекс контроллере нужно "расширяться"

проще при создании кастомной кнопки выбрать вариант URL и далее пиши в том URL вроде /apex/Stranitsa?id={id}


ОК, спасибо.
Буду дальше ковыряться ))

[quote="Den Brown"][quote="Maxim Elets"]А вам надо добавлять standardController='АПИ нейм нужного объекта'[/quote]

есть другой вариант, ведь если упомянули стандартный Controller, то потом в апекс контроллере нужно "расширяться"

проще при создании кастомной кнопки выбрать вариант URL и далее пиши в том URL вроде /apex/Stranitsa?id={id}[/quote]
ОК, спасибо.
Буду дальше ковыряться ))