Esempio di script di record

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.

VBScript

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 

Feedback