Tridion 无法获取手动活动的所有者和执行者

Tridion 无法获取手动活动的所有者和执行者,tridion,tridion-2011,Tridion,Tridion 2011,我正在创建一个事件处理程序,以获取所有活动的activitiy实例详细信息 EventSystem.Subscribe<ActivityInstance, FinishActivityEventArgs>(NotifyUser, EventPhases.TransactionCommitted); 这很奇怪,我无法复制 在我的代码中,我做到了这一点(与您的订阅相同) private void LogSomething(ActivityInstance实例、FinishActivit

我正在创建一个事件处理程序,以获取所有活动的activitiy实例详细信息

EventSystem.Subscribe<ActivityInstance, FinishActivityEventArgs>(NotifyUser, EventPhases.TransactionCommitted);

这很奇怪,我无法复制

在我的代码中,我做到了这一点(与您的订阅相同)

private void LogSomething(ActivityInstance实例、FinishActivityEventTargets参数、EventPhases)
{
用户所有者=instance.owner;
文件.AppendAllLines(“c:\\temp\\info.log”,新[]
{
string.Format(“活动ID:{0}所有者:{1}({2})”,instance.ID,owner.Title,owner.ID)
});
列表执行者=新列表(instance.performers);
foreach(表演者中的变量performer)
{
文件.AppendAllLines(“c:\\temp\\info.log”,新[]
{
Format(“活动ID:{0}执行者:{1}({2})”,instance.ID,Performer.Title,Performer.ID)
});
}
}
为我的粗心道歉

这是我在info.log中得到的信息:

Activity ID: tcm:3-923-131104 owned by: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-923-131104 Performer: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-924-131104 owned by: NT AUTHORITY\SYSTEM(tcm:0-3-65552
Activity ID: tcm:3-924-131104 Performer: NT AUTHORITY\SYSTEM(tcm:0-3-65552
Activity ID: tcm:3-925-131104 owned by: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-925-131104 Performer: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-926-131104 owned by: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-926-131104 Performer: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-927-131104 owned by: NT AUTHORITY\SYSTEM(tcm:0-3-65552
Activity ID: tcm:3-927-131104 Performer: NT AUTHORITY\SYSTEM(tcm:0-3-65552
Activity ID: tcm:3-928-131104 owned by: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-928-131104 Performer: T2011GURUV3\Administrator(tcm:0-11-65552

因此,这似乎与您的环境有关?可能是特定版本上的缺陷?我使用的是SDL Tridion 2011 SP1,带有修补程序汇总1

在提交活动之前您是否尝试过这样做?尝试启动阶段,可能这些属性不再可用?当然,我会检查。但是我能够获得第一个手动活动(分配给每个人)的属性还有所有剩余的自动活动,但不是手动活动。背后有什么原因吗?我不这么认为,这很奇怪。我会在我的盒子上试试。我总是在我的活动系统中为自动和手动活动找到所有者和执行者…谢谢Nuno,我无法找到工作流中最后一个活动的执行者。还有错误“项目tcm:56-1723-131104不存在”我尝试了TransactionCommitteed和Processed阶段。我甚至不能使用initiated阶段,因为我还需要ge FinishMessage。我想我在工作流过程结束之前没有尝试过,现在无法继续测试。您能在活动完成之前尝试吗(EventPhase.Initiated)并检查它是否在那里可用?可能是预期的,我对此不确定。在“Initiated”阶段,我能够获得执行者,但我也需要特定活动的完成消息,如果我使用Initiated阶段,我无法获得完成消息。在我看来,这是出于设计。最后一个活动实例(和流程实例)已存档并成为活动历史记录。因此,您需要检查的不是活动实例,而是活动历史记录。您可以将tcmuri项目类型从活动实例更改为活动历史记录,以读取上次存档的活动。感谢Igor,这很有意义,因为活动实例在完成后不再存在(不是活动的实例)。
Activity ID: tcm:3-923-131104 owned by: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-923-131104 Performer: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-924-131104 owned by: NT AUTHORITY\SYSTEM(tcm:0-3-65552
Activity ID: tcm:3-924-131104 Performer: NT AUTHORITY\SYSTEM(tcm:0-3-65552
Activity ID: tcm:3-925-131104 owned by: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-925-131104 Performer: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-926-131104 owned by: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-926-131104 Performer: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-927-131104 owned by: NT AUTHORITY\SYSTEM(tcm:0-3-65552
Activity ID: tcm:3-927-131104 Performer: NT AUTHORITY\SYSTEM(tcm:0-3-65552
Activity ID: tcm:3-928-131104 owned by: T2011GURUV3\Administrator(tcm:0-11-65552
Activity ID: tcm:3-928-131104 Performer: T2011GURUV3\Administrator(tcm:0-11-65552