このトリガーは、プロセス インスタンス オブジェクトから値を取得してリストに格納し、カスタム オブジェクトのフィールドを更新します。問題は、値を表示するために、ユーザーがレコードを更新して保存する必要があることです。通常、プロセス インスタンス オブジェクトに「After Update」トリガーを追加しますが、それは Salesforce で許可されていません。
ヘルプや提案をいただければ幸いです。
Service_Request__c で update_Provisioner をトリガーする (更新前) {
for(Service_Request__c sr:Trigger.new){
List <ProcessInstance> pi = [SELECT Id, CreatedDate from ProcessInstance where TargetObjectId = :sr.Id ORDER BY CreatedDate DESC limit 1];
List <ProcessInstanceStep> op = [SELECT Id, StepStatus, ActorId, OriginalActorId, CreatedDate FROM ProcessInstanceStep where ProcessInstanceId = :pi[0].Id ORDER BY CreatedDate DESC limit 1];
if(op.size()>0){
//System.debug('Hello'+sr.Provisioner__c+' '+op[0].StepStatus + ' '+ op[0].ActorId + ' ' +op[0].OriginalActorId + ' '+ op[0].CreatedDate);
sr.Provisioner__c = op[0].ActorId;
}
}
}