Potrzebuję pobrać komponent powiązany z działaniem w systemie zdarzeń.Tridion Workflows - jak uzyskać komponent w działaniu w module obsługi zdarzeń
próbuję uzyskać identyfikator komponentu przy użyciu:
public void OnActivityInstanceFinishPost(ActivityInstance activityInstance, string finishMessage, string nextActivity, string dynamicAssignee)
{
if (activityInstance.ProcessInstance.ProcessDefinition.Title.Equals("Component Process IESE"))
{
if (activityInstance.ActivityDefinition.Title.Equals("Create or Edit Component"))
{
WFE workflow = tdse.GetWFE();
try
{
Component comp = (Component)activityInstance.ProcessInstance.Item;
XMLReadFilter filter = new XMLReadFilter();
String processHistoryId = activityInstance.ProcessInstance.ID.Replace("131076", "131080");
ProcessHistory hist = (ProcessHistory)tdse.GetObject(activityInstance.ProcessInstance.ID, EnumOpenMode.OpenModeView, Constants.URINULL, filter);
}
catch (Exception e)
{ }
}
}
}
staramy różne opcje:
Component comp = (Component)activityInstance.ProcessInstance.Item;
Ale to rozwiązanie zwraca null.
Potem znalazłem w internecie następne rozwiązanie:
XMLReadFilter filter = new XMLReadFilter();
String processHistoryId = activityInstance.ProcessInstance.ID.Replace("131076", "131080");
ProcessHistory hist = (ProcessHistory)tdse.GetObject(activityInstance.ProcessInstance.ID, EnumOpenMode.OpenModeView, Constants.URINULL, filter);
Component comp = hist.Item as Component;
Ale ProcessHistory obiekt jest null.
Jak określić składnik powiązany z activityInstance?
Dziękuję.
Która wersja TCM to jest? –
Tridion 2009 SP1 – Guskermitt