Кнопка Salesforce, добавляющая новые текстовые поля

#salesforce #apex #soql

#salesforce #apex #soql

Вопрос:

Итак, я пытаюсь добавить кнопку в объект Case рядом с Product, в которой будет указано «Добавить продукт», поэтому при каждом нажатии на нее будет добавляться текстовое поле для второго или третьего продукта, который будет добавлен в дело. Поле catch: Product — это поле поиска.

введите описание изображения здесь

Ответ №1:

Я полагаю, что это выполнимо, и вы получите помощь. Однако я хочу подчеркнуть, что пользовательские кнопки удаляются с внедрением нового интерфейса Lightning. Поэтому вы можете захотеть зарегистрироваться и посмотреть, каковы временные рамки организации для развертывания Lightnging и / или кода с учетом ограничений предстоящего выпуска.

Вот хорошая тема на форуме по этой теме: https://developer.salesforce.com/forums/?id=906F0000000BWr4IAG

Комментарии:

1. Неужели наследие уходит все вместе? Моя организация не использует облегчение, поскольку мы уже знакомы с устаревшими. Было бы прискорбно, если бы все мои пользовательские ссылки, кнопки, макеты, которые я создал для каждого отдела, исчезли.

Ответ №2:

Как вы, наверное, знаете, поле поиска может ссылаться только на один объект. Вы можете создать несколько полей поиска для одного и того же объекта (например, Product_1__c, Product_2__c и т. Д.), Но Это может привести к загромождению пользовательского интерфейса, и вы не всегда знаете максимальное количество продуктов, которые вам могут потребоваться добавить.

Чтобы динамически добавлять больше таких полей продукта, вам нужно создать объект «Назначающий», который находится между вашим обращением и объектом продукта. Таким образом, каждый раз, когда вы нажимаете кнопку Добавить, создается еще один «Назначитель обращения к продукту», в котором есть поле поиска как для объекта обращения, так и для объекта продукта.

Код visualforce будет выглядеть примерно так:

 <apex:commandLink action="{!AddProductAssigner}" >
        Add Product
</apex:commandLink>
  

С контроллером, который выглядит как:

 public void AddProductAssigner(){
    insert new Case_Product_Assigner__c(Case__c = caseId);  
}
  

Комментарии:

1. Не работает. выдает ошибки при попытке создать класс Apex.