Docusignapi Salesforce的DocuSign-为单个收件人设置触发器
是否可以在“dsfs\uuuu DocuSign\u Recipient\u Status\uuuu c”对象上创建触发器? 用例: 合同由两人签订a)客户b)销售经理 更新opportunity stage等事件应在客户签字后立即生效,即使信封不完整。我知道我们可以在DocuSign状态对象上触发“已交付”、“已发送”等事件,但收件人级别变量(收件人状态、路由顺序等)仅在收件人状态对象中可用 我最初尝试了两个条件(收件人状态和发送顺序),然后尝试了一个简单的条件来测试收件人状态。触发器将被发布,但不会按预期更改opp阶段-代码如下Docusignapi Salesforce的DocuSign-为单个收件人设置触发器,docusignapi,docusignapextoolkit,Docusignapi,Docusignapextoolkit,是否可以在“dsfs\uuuu DocuSign\u Recipient\u Status\uuuu c”对象上创建触发器? 用例: 合同由两人签订a)客户b)销售经理 更新opportunity stage等事件应在客户签字后立即生效,即使信封不完整。我知道我们可以在DocuSign状态对象上触发“已交付”、“已发送”等事件,但收件人级别变量(收件人状态、路由顺序等)仅在收件人状态对象中可用 我最初尝试了两个条件(收件人状态和发送顺序),然后尝试了一个简单的条件来测试收件人状态。触发器将被发布
trigger ClientSign on dsfs__DocuSign_Recipient_Status__c (after insert, after update) {
try
{
system.debug('In trigger');
dsfs__DocuSign_Recipient_Status__c dssNew = Trigger.new[0];
dsfs__DocuSign_Recipient_Status__c dssOld = null;
if (!System.Trigger.isInsert) dssOld = Trigger.old[0];
if (System.Trigger.isInsert || dssOld.dsfs__Recipient_Status__c != dssNew.dsfs__Recipient_Status__c)
{
if (dssNew.dsfs__DocuSign_Routing_Order__c == 1 && dssNew.dsfs__Recipient_Status__c == 'Completed')
{
Opportunity o = [select StageName from Opportunity where id=:dssNew.Opportunity__c];
if (o != null)
{
o.StageName = 'Value Proposition';
upsert o;
}
}
}
}
catch (Exception ex)
{}
}
是触发器在dsfs\uuuu DocuSign\u Recipient\u Status\uuuu c对象上工作。我认为你的问题在于机会。这不是dsfs\uuuu DocuSign\u Recipient\u Status\uuuu c对象上的默认字段,因此肯定有问题。我根据你的触发器和一个硬编码的机会测试了下面的代码。结果我将阶段名称从“需求分析”更新为“价值主张”
trigger ClientSign on dsfs__DocuSign_Recipient_Status__c (after insert, after update)
{
try
{
system.debug('In trigger');
dsfs__DocuSign_Recipient_Status__c dssNew = Trigger.new[0];
dsfs__DocuSign_Recipient_Status__c dssOld = null;
if (!System.Trigger.isInsert) dssOld = Trigger.old[0];
if (System.Trigger.isInsert || dssOld.dsfs__Recipient_Status__c != dssNew.dsfs__Recipient_Status__c)
{
if (dssNew.dsfs__DocuSign_Routing_Order__c == 1 && dssNew.dsfs__Recipient_Status__c == 'Completed')
{
Id myId = Id.valueOf('006f4000004IfWQAA0');
Opportunity o = [SELECT Name, StageName FROM Opportunity WHERE id = :myId Limit 1];
system.debug(o.Name);
system.debug(o.StageName);
o.StageName = 'Value Proposition';
upsert o;
}
}
}
catch (Exception ex)
{}
}