· Apr 1, 2022

Hiding Inverse Relationship entries project in DTL graphics


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 ? 


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

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.