Expand my Community achievements bar.

Text Mode to pull information from a Custom Field on a Task into a Document Report.

Avatar

Level 2

I am struggling with being able to pull an ID number from a task custom form into a Document Report. Here is the textmode that I have...

The background -

The Document is in the document folder on the project. I need to pull the VID # from a specific task on that project.

displayname=ID

listdelimiter=<div>

listmethod=nested(project.tasks).lists

textmode=true

type=iterate

valueexpression=IF(CONTAINS("Deliver Product Sample For Photography",{name}),{DE:VID #})

valueformat=HTML

I think my listmethod is wrong?

Help!!

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

10 Replies

Avatar

Level 10

Lemme get this straight:

You have a document that belongs to a project and you want to pull a field from a form in a task on that project?

So you have to go up one level from doc to project and then come down 2 levels from project to task to form field, right?

I'm not even sure that's possible.

If you had the form attached to the document, it would be easy.

Avatar

Level 2

Yes! The Document is loaded into the project. I have a task in the project that is called Deliver Product Sample For Photography. That task has a custom form attached with a field called VID #. I need to pull the VID # into my document report.

It would be super easy if there was a form attached to the doc. That will be coming soon as we reimplement. Until then I need to work with what I got. :(.

I am hoping I can go up a level and then down a level to get to that task since I can pull task info into a Doc report just not everything.

T

Avatar

Level 10

Hi Tammy,

I'm following, and although nasty, believe it is possible, but will wait for your confirmation of @Randy Roberts‚ requirements before I climb the ladder to High Diving Board...

Regards,

Doug

Oh Boy! I would love to hear your thoughts.

The Document is loaded into the project. I have a task in the project that is called Deliver Product Sample For Photography. That task has a custom form attached with a field called VID #. I need to pull the VID # into my document report.

It would be super easy if there was a form attached to the doc. That will be coming soon as we reimplement. Until then I need to work with what I got. :(.

I am hoping I can go up a level and then down a level to get to that task since I can pull task info into a Doc report just not everything.

Avatar

Community Advisor

hey, as far as I can tell (in theory), this could work.

If you try it on a simpler valueexpression, such as valueexpression={name}, you can see it does produce a result. I'm guessing your valueexpression has a fault in it, and frankly because I'm a lazy person, I just want to assume it's the hashtag in the VID custom field.

Now that we have labels and names for custom fields, it's become our best practice to not have any punctuation or symbols in our custom field names. So your label can continue to have the hashtag but I would probably remove it from the name and rewrite your valueexpression to follow. And try easier valueexpressions if you're still having problems! Something with low hanging fruit, like anything still incomplete, or stuff with a milestone, or tasks assigned to John Smith -- if you can get this to show a result, you can probably finagle a valid expression eventually...

Avatar

Level 2

You absolutely could be right regarding the hashtag as I know they have issues with it in other reports. HOwever, if I simplify it and say just bring in the plannedCompletionDate it still doesn't populate. :(

Avatar

Community Advisor

I think in this case, my workaround is to plug in a CONCAT (not sure if it's needed but I like to hedge my bets).

Keep working on your syntax. A simple way to grab a bunch of syntax all in one go is to go here https://wf-pro.com/textmode/text-mode-views-collections/ and just grab all the valueexpressions -- Narayan doesn't mind! -- and look at how they are laid out (you'll notice CONCAT being used a lot in these cases). If you can understand all the samples on wf-pro, you can usually cobble something together to serve your needs.

Here's how my "learning path" went:

SAMPLE 1 (as simple as you can get):

displayname=test

listdelimiter=<div>

listmethod=nested(project.tasks).lists

textmode=true

type=iterate

valueexpression={name}

valueformat=HTML

(we probably would have also accepted valuefield={name} since calling one field isn't technically an expression LOL)

SAMPLE 2 (slightly harder now):

displayname=test

listdelimiter=<div>

listmethod=nested(project.tasks).lists

textmode=true

type=iterate

valueexpression=IF(CONTAINS("Production",{name}),CONCAT({name}))

valueformat=HTML

SAMPLE 3 (now I can try it using a DE)

displayname=test

listdelimiter=<div>

listmethod=nested(project.tasks).lists

textmode=true

type=iterate

valueexpression=IF(CONTAINS("Production",{name}),CONCAT({DE:RET Production Schedule Type}))

valueformat=HTML

SAMPLE 4 - here's one I built on Tuesday as a proof of concept for a customer asking for something similar:

displayname=Art Release

listdelimiter=<div>

listmethod=nested(project.tasks).lists

textmode=true

type=iterate

valueexpression=IF(ISBLANK({DE:RET Production Schedule Type}),"",IF({status}="CPL",CONCAT({DE:RET Art Release}, " from ", {name}),""))

valueformat=HTML

in my customer's case, they are asking for a list of tasks, and then for each task I go back into the project, look for a task custom field called Production Schedule Type to be populated (this is our production schedule task which contains a list of custom dates), and give them the Art Release custom date from that same task if it's been completed. A completed production schedule task means the schedule is good to go, whereas a canceled or new task means the schedule's not good.

So hopefully this gives you a solid rundown on how to troubleshoot (start simple, get more complicated) and how to learn syntax (study wf-pro link).

Avatar

Community Advisor

I was thinking the same thing Randy -- and of course it makes sense. These are just all our already-working "listmethod=nested(tasks).lists" bits of code from our project reports. The only thing we're doing is putting an extra "project." in that line, so we can use it outside of a project report.

Opens up our world a bit more, that's for sure, and I'd love to hear what other "stacked collections" (which is my terminology for this) other folks are using. [for example, I know for us, nested(project.tasks)lists was right next door to nested (resolveProject.tasks)lists].