Expand my Community achievements bar.

SOLVED

Texmode - referencing source when calling a collection.

Avatar

Level 2

So in a project report I am pulling a predecessor collection for each task and displaying some information - but I would like to also add a piece of information from the task itself (essentially I am trying to show mismatch between plannedCompletionDate of predecessors vs. plannedStartDate of the task you are on.

But I am unable to figure out how I refer to the "source task" once I have called the "Predecessor" collection -I am sure its something simple, but I just cant seem to work it out.

I have looked around but havent found any answers to this issue.

displayname=Planning Errors

listdelimiter=<p>

listmethod=nested(predecessors).lists

textmode=true

type=iterate

valueexpression=CONCAT({predecessor}.{plannedCompletionDate}," - ",{this].{plannedStartDate})

valueformat=HTML

Appreciate the help!

-Stefan

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

My pleasure Stefan,

Pursuing the same goal, I'd suggest you consider an OR filter on your (source) tasks with

  • Handoff Date > Planned Start Date (meaning the predecessor finished later than planned), OR
  • Projected Start Date > Planned Start Date (implying the predecessors are "pushing" the task

Regards,

Doug

View solution in original post

6 Replies

Avatar

Community Advisor

Hi Stefan,

I see a square bracket at the end of {this] but if by "source task" you mean "that task for which the predecessors are being iterated", I believe that {plannedStartDate} is all you need (no prefixes), since contextually, it is from that task that the iteration is invoked.

Regards,

Doug

Avatar

Level 2

Hey Doug,

Thank you for a fast reply- the bracket on {this] was an error on my part when adding the code here (i have tested with correct syntax and its not working).

I have also tried simply with plannedStartDate and it also does not appear to work - this piece of code here leaves the list empty:

displayname=Planning Errors

listdelimiter=<p>

listmethod=nested(predecessors).lists

textmode=true

type=iterate

valueexpression=CONCAT({predecessor}.{plannedCompletionDate}," - ",{plannedStartDate})

valueformat=HTML

Where as if i add the predecessor - it works fine (so syntax seems to work) - So i somehow need to get outside the nested list call.

displayname=Planning Errors

listdelimiter=<p>

listmethod=nested(predecessors).lists

textmode=true

type=iterate

valueexpression=CONCAT({predecessor}.{plannedCompletionDate}," - ",{predecessor}.{plannedStartDate})

valueformat=HTML

Thank you for all the help.

Cheers

-Stefan

Avatar

Community Advisor

Well huh...I tried it too, and now agree, Stefan.

It doesn't appear that iterations can break out of the list to incorporate information from the calling object. So...meh...I'd suggest you simply add a separate column in your view that shows the source task's planned start date, for relatively easy visual reference.

Regards,

Doug

Ah, what a shame.

My hopes was to only show data when there was a negative discrepancy between the predecessors completion date and the current tasks start date - as a way to highlight that there is a problem in the plan (and specifically where it is).

Due to the nature of our projects we have to lock a good number of dates - and our users are having a hard time intuitively seeing when they may have created a plan that's at risk (Workfront simply doesnt show you when dates are misaligned with predecessors/successors).

Thank you for the answers and effort here.

-Stefan

Avatar

Correct answer by
Community Advisor

My pleasure Stefan,

Pursuing the same goal, I'd suggest you consider an OR filter on your (source) tasks with

  • Handoff Date > Planned Start Date (meaning the predecessor finished later than planned), OR
  • Projected Start Date > Planned Start Date (implying the predecessors are "pushing" the task

Regards,

Doug

Hey Doug,

Thanks a ton, this is a good starting point - I think I will look into something here, it does not provide me with the details of "where" the conflict is, but it at least pinpoints a bit closer that there is a conflict.

Much appreciated.

Cheers

-Stefan