Question
Steve Pisani · Apr 1

Hiding Inverse Relationship entries project in DTL graphics

Hi

I have an a Ens.Request subclass (Invoice) that has a relationship property to another persistent class (InvoiceItems), with properties of its own and the inverse relationship defined referring back to Invoice. 

When building a DTL with these classes, the Relationship’s inverse relationship (Invoice, within InvoiceDetails) is displayed.   

Can this be hidden ? 

thanks

Product version: IRIS 2021.2
0
0 127
Discussion (5)1
Log in or sign up to continue

I don't know if this will work, but did you try setting XMLPROJECTION="NONE" on the inverse property?

I didn't actually,.. , because, whenever I've used persistent classes with relationship properties and projected instances in code (using the XML.Adaptor) - I've never seen the inverse property show up in the XML.

I could try it though...

I dug around a bit.
It works from the dictionary classes to create the table being displayed.
I did see in there that if you add an XData block to your class called "FormDefinition" and omit that property, then it will not display it.

Have a look at this:
InterSystems CSP AutoForm

I also saw that the table generator goes up to 4 levels deep of recursive processing of a message's properties.

Hi Stefan,

I wonder what led you to determine that the DTL is being drawn by using InterSystems CSP AutoForm (%CSP.Util.AutoFormGenerator), because, I added the XDATA block to the child class to include only the child class's properties as suggested, (and omitting the inverse property):

XData FormDefinition
{
  <field property="childPropA"/>
  <
field property="childPropB"/>
 ...
}

but the inverse property, in the DTL, still appears.  (also confirmed defining XMLPROJECTION="NONE' on the inverse relationship property also has no effect)

looking at %CSP.Util.AutoFormGenerator, I see my XDATA block definition is being checked, and honored, returning as it should, the list of properties for a form - but this does not seem to end up effecting the DTL Wizard.

Steve

Hi,

Apologies. My mind must have been in the wrong place. I was looking at it from the Ensemble message browser's side for some reason.