Indirect Tag Binding - UDT Type

Is there a way to do an indirect binding on a tag to get the tag type, similar to getting a parameter from an indirect tag binding?

i.e. something like [provider]{1}.DataType | {1} = absolute path to the tag

Should be able to do that, but that'll get its data type, not its tagType. Tag type is eg AtomicTag, UDTInstance, UDTType, etc. Data type is eg Int4, String, Dataset, etc

Have a look at the properties of a tag when you expand a tag in the tag browser, that'll show you the properties you can read

Actually wanting to get the UDTParentType - I'll update the title. Those props aren't exposed in the tag browser.

That's the TypeId you're after, only readable from the UDTInstance tagpath, not from individual tags inside of the instance

Ps it was called UDTParentType in v7

Yep. My template gets the UDTInstance tagpath as a parameter and all members are accessed from there. That'll be perfect.

1 Like

If it has a parent UDT, is there a way to get the root UDT type?

not without reading the TypeId of the udtType itself, I believe. Ie it'd be a tagpath starting with _types_/ like _types_/YourUDT.TypeId

Probably just easier to use isGood() to check a tag that's unique to the UDT

What's the test you want to perform? I use isAvailable from pgriffiths' extensions module to check if a tag is both found and not disabled.
You can't use isGood for that

I just have one UDT that's a derivative of another. It just adds a few tags. This changes how I want the template to look.

So, weird thing I found when doing this. If I check the option for overlay op-out on the binding I'm checking, it seems to force the quality to Good. Seems like an odd behavior.

For that I'd use isAvailable if you're able to install another module, otherwise isGood will hide parts when the tag is valid but has some other error lie config, stale, etc