Quick find, query, and edge filtering - SmartPlant Foundation - IM Update 46 - Help - Hexagon

SmartPlant Foundation Help

Language
English
Product
SmartPlant Foundation
Search by Category
Help
SmartPlant Foundation / SDx Version
10
SmartPlant Markup Plus Version
10.0 (2019)
Smart Review Version
2020 (15.0)

Quick find, query, and edge filtering are all controlled using the same property comparison mechanism. This property comparison is

  • Configured as an argument on the Quick Find and Query methods.

  • Configured as a property on the Edge Definition.

Simple properties on an object are in the form of InterfaceDefUID~PropertyDefUID~=~Enum value.

  • ISPFDocumentRevision~SPFRevState~=~e1CURRENT

This provides support for !=.

  • ISPFDocumentRevision~SPFRevState~!=~e1SUPERSEDED

Properties on related objects are in the form +/-RelDef.

  • +SPFFileComposition~ISPFDocumentVersion~SPFIsDocVersionSuperseded~=~False

Environment variables can be used.

  • Owner is current username: +SPFItemOwner~IObject~Name~=~ENV.Username

  • Transmittal is valid for user (testing the related Company): +SPFCToInternalOrg~IObject~Name~=~ENV.USERORGANIZATIONNAME

Multiple criteria can be specified that use AND ~ delimited.

  • ISPFDocumentRevision~SPFRevState~=~e1WORKING~+SPFRevisionVersions~ISPFDocumentVersion~SPFIsDocVersionSuperseded~=~False

Alternate values can be tested for one property.

  • ISPFDocumentRevision~SPFRevState~=~e1CURRENT|e1WORKING

Edges are supported using the following format.

  • +EDG_edgename~interfacename~propertyname

Property criteria also supports 1:M relationship testing.

  • +EDG_ItemContractUser~ISPFLoginUser~SPFLoginName~=~ENV.UserName

  • A preceding + or - is used for setting the relationship direction.

  • When criteria use only an = comparison, the string on the left has to equal the string on the right. However, when comparing relationships to objects, the = is smart, and does an ANY comparison. For example, the edge definition can expand from the contract to multiple users, any of which can match the current user.

  • The wild card * is supported for use in a general wild card string, and a _ is supported in a string for single character matching. For example, IObject~Name~=~A_*|B_* works if you want to filter on values starting with an A or B, which are at least 2 characters long, and the _ ensures that the second character is present.

  • Wildcards are not supported with environment variables.

  • If you have to specify multiple values for a property comparison in an edge definition, you can use the NOT IN operator to filter out those results while matching the criteria. For example, “+SPFFiletype~IObject~UID~NOT IN~FT_vecz|FT_binz”. This filters out all the files related to the document except the WebGL files.