Set up the copy rule
Copy Settings are used to copy the value from one object - usually a reference list of some kind to another one. This is normally done when the reference list is a related object of one object and therefore can't be shown on the window of a different related object.
For example, the User object has a reference list on it that defines the Users' location. As the designer, you want to display the User location on an Incident window when that User is the Raise User, unfortunately, you can't "see" the Location relationship on End User because Window Designer only shows one level of related objects.
In order to work-around the problem described above you will need to relate the Location object to Incident as well as End User. To do this, launch Object Designer and drag the Location object onto Incident, choosing not to create a collection of Incidents on Location. In Window Manager, open the Incident window and add the 'Location' field on to it.
At this stage, if you were to launch an Incident you would be able to select a Raise User and then manually set their location, it is not linked in any way. In order to have the Location field update when the Raise User is selected you will need to:
- Select the module (Incident Management) folder in the Business Objects tree of the Window Manager component.
- Click the action for 'Module Copy Rules'
- In the new window, locate and right-click on the 'Incident' object and select 'New Rule'
- In the Description put "Location from Raise User"
- Click the 'Select Attribute' button next to the 'Target' field and choose the 'Location' object from the list that appears. Ok this window
- Click the 'Select Attribute' button next to the 'Sources' field and drag the 'RaiseUser._Location' object from the list of attributes on the left in to the blank space on the right. Ok this winow
- Save your new rule
At this stage the rule won't work. There is one last change you need to make, this is to "tell" the Raise User object that there is a Copy Rule that relies on it. You do this by setting the 'Copy Related' property of the 'Raise User' field to True.
This has to be done in the Window Designer. See screenshot below
NOTE: There are several properties that look like they'll do the job for this, be careful that you definitely select the right one
Further to this you need to ensure that the copysettings.xml file that is generated (versions prior to 7.3) is in a suitable location for the other Console installations and Portal Users can access it. There are other Community articles reltating to this as it can be difficult.
Copy Rules Events (From Service Desk 7.4)
Since the version 7.4 of Service Desk, it is possible to choose more events than the default "Value Changed" to specify when the copy rule will get triggered. (Extracted from the Service Desk 7.4 New Features Manual, page 42)
|Value Changed||The only event type that was available in previous versions, and so did not need to be explicitly defined. The target value updates when you change the source value.|
|Initialise||Copies the value before the window is first displayed. You use this event type with an Attribute Macro (Current Group or Current User) because when the process is initialised there are no other attributes to copy from.|
|Create||When you save the record for the first time, copies the value.|
|Update||When you save the record on subsequent times, copies the value.|