Each object that is created with a desktop plugin is stored in either the CI_INFOOBJECTS or the CI_SYSTEMOBJECTS category in the APS InfoStore, and is marked with a programmatic identifier (ProgID). Using SI_PROGID, you can query the APS InfoStore for a collection of objects.
The following query selects the names, full names, and IDs of all users in the APS:
var Users = IStore.Query("SELECT SI_ID, SI_NAME, SI_USERFULLNAME FROM CI_SYSTEMOBJECTS WHERE SI_PROGID='CrystalEnterprise.User'");
The Query method returns a collection of InfoObjects, which in this case are user objects. Like other InfoObjects, user objects are uniquely represented by their ID property. For each user object in the collection, you can access general InfoObject properties, such as the Title property, Description property, and ID property.
Continuing with the above code sample, the following piece of code uses the PluginInterface Property to retrieve the User plugin's default object, which is the User object:
var UserInterface = Users.Item(1).PluginInterface("");
Once you have retrieved the plugin interface, you can access plugin
A list of the available desktop plugins, as well as the ProgIDs of the objects that are created from them, follows. The objects that are created with the plugins below must be retrieved from CI_INFOOBJECTS:
Plugin | SI_PROGID |
---|---|
The objects that are created with the plugins below must be retrieved from CI_SYSTEMOBJECTS:
Plugin | SI_PROGID |
---|---|
Crystal Decisions, Inc. http://www.crystaldecisions.com Support services: http://support.crystaldecisions.com |