2016-10-11 1 views
0

Je suis en train d'ajouter un bouton sur l'objet Case à côté de produit qui énoncera « Ajouter un produit » pour chaque fois qu'il est cliqué, il ajoutera un champ de texte pour une deuxième ou troisième produit à être ajouté à un cas. Le catch: Le champ Product est un champ de recherche.Bouton Salesforce qui ajoute de nouveaux champs de texte

enter image description here

Répondre

0

J'imagine que ce qui est faisable et vous allez obtenir de l'aide. Cependant, je veux étendre le caviat que les boutons personnalisés sont retirés avec le déploiement de la nouvelle interface Lightning. Vous pouvez donc vérifier et voir le calendrier de l'organisation pour déployer Lightnging et/ou le code pour les limitations de la version à venir.

est ici un bon fil de discussion sur le sujet: https://developer.salesforce.com/forums/?id=906F0000000BWr4IAG

+0

est l'héritage en va tous ensemble? Mon Org n'utilise pas Lightening puisque nous sommes déjà à l'aise avec Legacy. Ce serait dommage que tous mes liens personnalisés, boutons, mises en page que j'ai faites pour chaque département soient partis. –

0

Comme vous le savez probablement, un champ de recherche ne peut faire référence à un objet. Vous pouvez créer plusieurs champs de recherche pour le même objet (par exemple, Product_1__c, Product_2__c, etc.), mais cela peut entraîner une interface utilisateur encombrée et vous ne connaissez pas toujours le nombre maximal de produits que vous devrez peut-être ajouter.

Pour ajouter dynamiquement plus de ces champs de produits, vous devez créer un objet « Assigner » qui se trouve entre votre cas et objet produit. Ainsi, à chaque fois que vous cliquez sur le bouton Ajouter, un autre "Assignateur de produit" est créé, avec un champ de recherche pour l'objet Cas et Produit.

Le code Visualforce ressemblerait à quelque chose comme:

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

Avec le contrôleur ressemblant à:

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

Ne fonctionne pas. donne des erreurs en essayant de créer la classe Apex. –

+0

Quelles sont les erreurs? –