Filtering objects in Insight using inboundReferences causing invalid due to restrictions error

knuttgend January 10, 2019

Greetings all,

I have created a basic reference asset management system. On a Server object I am picking components from the different lists to "build" the server.

I am tracking the hard drives by serial number so they are unique and can only be assigned once each. To simplify the choice of hard drives when building the Server object I configured the hard drive attribute under Server to Filter Objects with the following IQL statement: object NOT HAVING inR().

This will show me only the hard drives that have not been assigned to anything. However, when I save the Server object I get the following error: Object: <Object Name and ID> is invalid due to restrictions.

Is there a different way to show only available items when picking from a list?

Thank you,

Dustin

2 answers

0 votes
JamesP May 28, 2020

Hi, 

Sorry to thread jump but I have exactly the same issue with almost the same use-case. It correctly filters and adds adds it - its just when you save and go back to edit the record it throws the error. I'm using 8.22.

Happy to submit a ticket if you're confident this should work.

Many Thanks,

James

yinon_negev May 28, 2020

Hi James.

     As we've discussed - here is our response in case others will face the same issue:
The Validation message is actually the expected behavior, when having an IQL filter on an Object Reference Attribute - indicating object NOT HAVING inR().

Once you are setting an object in this Attribute, the referenced Objects will now HAVE an inbound references, hence the next time around, when you try and Edit your Referencing Object, the Value in this attribute will not correspond to the IQL, hence you get the error message...

The solution is by adding a section to the IQL, to exclude the referenceto the Hight object from your current Server Object.

So, if your current IQL is:

object NOT HAVING inR())

then the adjusted IQL should be:

object NOT HAVING inR()) OR object HAVING inR(Name=${Name})

 

The added part, behind the OR will ensure you can still have a referenced Object if it is referenced by the same Referencing object you are editing... so Name=${Name}

 

Kind regards,

Yinon

Mindville Support Team

0 votes
Yinon Negev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 14, 2019

Hi Dustin.

      Tested this here with Insight 6.0.0 - and the configuration you've indicated is working as expected.

Do you see the Message on the Attribute, or in your Jira as a red Error popup? Have you configured any other Restrictions (e.g. Unique - in the Attribute Configuration?)

You haven't indicated the Version you're using. We have introduced some fixes in recent versions to Filters and InR / outR issues (e.g. Insight 5.7.3) - so please consider upgrading Insight.

If you require additional assistance, please create a support Ticket with us, in https://portal.riada.io

Kind regards,

Yinon

Insight Support

Team Riada

knuttgend January 14, 2019

Hey Yinon,

Thank you for your response. 

I see the error message in red in Jira. The only other attribute configuration is Cardinality - Unlimited.

I am using version 6.0.0. I didn't try this option until I upgraded to 6.0.0. 

Is it better to open a ticket now instead of continuing here?

Thank you again,

Dustin

knuttgend January 14, 2019

error.png

Yinon Negev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 14, 2019

Hi Dustin.

     Thank you for your response.

Please try to re-index Insight first (shortcut '.' + type 'indexing Insight').

If this does not resolve the Issue, please submit a Ticket with us, so we can troubleshoot this further.

Cheers,

Yinon

Team Riada

Suggest an answer

Log in or Sign up to answer