2017-04-10 2 views
1

SF ClassicのCRLパラメータを設定することで、javascriptボタンを使用して受信者リストをあらかじめ入力することができました。Salesforce LightningでSend with Docusignをカスタマイズする

今、ライトニングでも同じことを達成したいと思います。 私は、ユーザーをdsfs__DocuSign_CreateEnvelopeページにリダイレクトするVFページを作成して、希望のurパラメータをJSボタンのように追加しようとしました。 これは部分的に動作します - 受信者のリストをあらかじめ入力すると、電子メールを送信することができます。しかし、最終的にエラーがスローされます:「Javascriptのプロキシを制御dsfs.EnvelopeControllerのために生成されませんでした:IFRAME内のパブリックリモーティングメソッドを使用することはできません」

落雷でこのような機能を達成するための適切な方法は何ですか? それは可能ですか?

UPDATE: VFページ:

<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> 

コントローラー:いくつかの研究の後、事前

答えて

0

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;'; 
    } 
} 

おかげで、あなたはあなたのリモートアクションメソッドをグローバルにする必要があります。あなたのVFページコードを投稿するのは心配ですか?

+0

管理パッケージを編集できません –

+0

@SimonasBalciusは解決策を見つけられましたか? –

関連する問題