2016-10-11 3 views
0

So versuche ich, eine Schaltfläche auf Case-Objekt neben Produkt hinzuzufügen, die "Produkt hinzufügen", so dass jedes Mal, wenn es geklickt wird, ein Textfeld für ein zweites oder drittes Produkt hinzugefügt wird zu einem Fall hinzugefügt. Das catch: Produktfeld ist ein Nachschlagefeld.Salesforce-Schaltfläche, die neue Textfelder hinzufügt

enter image description here

Antwort

0

Ich stelle mir dies machbar ist und Sie Hilfe zu bekommen. Ich möchte jedoch den Nachteil ausdehnen, dass benutzerdefinierte Schaltflächen mit der neuen Lightning-Oberfläche aus dem Spiel genommen werden. Du solltest also einchecken und sehen, wie die Zeitleiste der Organisation für das Ausrollen von Lighting und/oder Code auf die Einschränkungen der kommenden Veröffentlichung dient.

Hier ist ein guter Forum-Thread zum Thema: https://developer.salesforce.com/forums/?id=906F0000000BWr4IAG

+0

Ist alle zusammen weg Vermächtnis gehen? Meine Org verwendet keine Aufhellung, da wir uns bereits mit Legacy auskennen. Das wäre bedauerlich, wenn all meine benutzerdefinierten Links, Schaltflächen und Layouts, die ich für jede Abteilung erstellt habe, weg wären. –

0

Wie Sie wahrscheinlich wissen, nur ein Nachschlag-Feld ein Objekt verweisen kann. Sie könnten mehrere Nachschlagefelder für dasselbe Objekt erstellen (z. B. "Product_1__c", "Product_2__c" usw.). Dies kann jedoch dazu führen, dass Ihre Benutzeroberfläche überfüllt ist und Sie nicht immer die maximale Anzahl an Produkten kennen.

Um mehr dieser Produktfelder dynamisch hinzuzufügen, müssen Sie ein "Assigner" -Objekt erstellen, das sich zwischen Ihrem Case und dem Produktobjekt befindet. Jedes Mal, wenn Sie auf die Schaltfläche Hinzufügen klicken, wird ein weiterer "Case-Product Assigner" erstellt, der ein Nachschlagefeld für das Case- und das Product-Objekt enthält.

Der Visual Code würde in etwa so aussehen:

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

mit dem Controller aussehen wie:

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

Funktioniert nicht. gibt Fehler beim Erstellen der Apex-Klasse. –

+0

Welche Fehler bekommen Sie? –

Verwandte Themen