2017-04-10 1 views
1

J'ai été en mesure de pré-remplir la liste des destinataires en utilisant le bouton javascript en définissant le paramètre CRL dans SF Classic.Personnaliser "Envoyer avec Docusign" dans Salesforce Lightning

Maintenant, je voudrais atteindre la même chose dans Lightning. J'ai essayé de créer une page VF qui redirigerait l'utilisateur vers la page dsfs__DocuSign_CreateEnvelope et ajouterait les paramètres ur souhaités (un peu comme dans le bouton JS). Il fonctionne en partie - il pré-remplit la liste des destinataires, il permet d'envoyer l'email. Mais jette enfin une erreur: « proxy Javascript ne sont pas générés pour dsfs.EnvelopeController contrôlée: ne peut pas utiliser des méthodes publiques déportées à l'intérieur d'un iframe »

Quelle est la bonne façon de parvenir à une telle fonctionnalité dans la foudre? Est-ce encore possible?

MISE À JOUR: VF Page:

<apex:page standardController="Opportunity" 
    extensions="CTRL_DocusignRedirect" 
    sidebar="false" 
    showHeader="false" 
    action="{!autoRun}" 
> 
    <apex:sectionHeader title="DocuSign"/> 

    <apex:outputPanel > 
     You tried calling an Apex Controller from a button. 
     If you see this page, something went wrong. 
     Please notify your administrator. 
    </apex:outputPanel> 

</apex:page> 

Controller:

global class CTRL_DocusignRedirect 
{ 

    private static final STRING PARAM_DSEID = 'DSEID'; 
    private static final STRING PARAM_SOURCE_ID = 'SourceID'; 
    private static final STRING PARAM_CRL = 'CRL'; 

    private Opportunity anOpportunity = null; 

    public CTRL_DocusignRedirect(ApexPages.StandardController stdController) 
    { 
     Id opportunityId = stdController.getRecord().Id; 
     this.anOpportunity = DAL_Opportunity.getById(opportunityId); 
    } 

    public PageReference autoRun() 
    { 
     if (this.anOpportunity == null) 
     { 
      return null; 
     } 
     PageReference pageRef = Page.dsfs__DocuSign_CreateEnvelope; 
     pageRef.getParameters().put(PARAM_DSEID, '0'); 
     pageRef.getParameters().put(PARAM_SOURCE_ID, this.anOpportunity.Id); 
     pageRef.getParameters().put(PARAM_CRL, this.getCRL()); 
     pageRef.setRedirect(true); 
     return pageRef; 
    } 

    private String getCRL() 
    { 
     return 'Email~' + anOpportunity.Payer_Email__c + 
       ';FirstName~' + anOpportunity.Payer_First_Name__c + 
       ';LastName~' + anOpport`enter code here`unity.Payer_Last_name__c + 
       ';RoutingOrder~1;Role~Pay`enter code here`er;'; 
    } 
} 

Merci à l'avance

Répondre

0

Après quelques recherches, vous devrez peut-être faire de votre méthode d'action à distance globale. Envie de poster votre code de page VF?

+0

Je ne peux pas modifier le package géré –

+0

@SimonasBalcius étiez-vous en mesure de trouver une solution? –