Quando si utilizza VBScript, gli script di record, l'hook di campo e gli hook di azione vengono implicitamente associati a un oggetto Entity; a meno che l'utente non denomini specificatamente un altro oggetto Entity, tutte le chiamate ai metodi della classe Entity si riferiscono a questo oggetto implicito. Quando si utilizza Perl, fare in modo che questa associazione faccia riferimento alla variabile predefinita, $entity.
Il seguente esempio illustra uno script di Record in grado di rispondere sia alle selezioni di pulsanti che a quelle degli elementi del menu di contesto. Quando il pulsante è selezionato, questo hook inserisce il nome dello sviluppatore responsabile del componente nel campo component_ref, che visualizza la persona a cui è stato affidato il lavoro sul difetto.
Questo esempio fornisce un'idea generale di come sia possibile aggiungere uno script di record al proprio schema. L'esempio non include la verifica degli errori. Verificare il valore di ritorno dell'API di convalida per assicurarsi che non includa errori prima di eseguire il commit del record sul database.
Function Request_AssignEngineer(param)
' param As Variant
' This hook responds to changes in the current component and
' assigns the request to the lead engineer for that component.
Dim eventType, componentObj, leadname
eventType = param.EventType
If eventType = AD_BUTTON_CLICK Then
' Get the lead person for the given component
leadName = GetFieldValue("component_lead").GetValue
If leadName = "" Then
Request_AssignEngineer = "Couldn't get Component Lead value"
Exit function
End if
' Put that person's name in the Assigned To: field
SetFieldValue "component_ref", leadName
Request_AssignEngineer = SetFieldValue "component_ref", leadName
Elseif eventType = AD_CONTEXMENU_ITEM_SELECTION Then
SetFieldValue "component_ref", GetSession.GetUserFullname
Request_AssignEngineer = SetFieldValue "component_ref", GetSession.GetUserFullname
End if
End Function