레코드 스크립트 예제

VBScript를 사용하는 경우, 레코드 스크립트, 필드 후크 및 조치 후크가 Entity 오브젝트와 명시적으로 연관됩니다. 그렇지 않은 경우, 사용자가 다른 Entity 오브젝트에 이름을 지정하고 Entyti 클래스의 메소드에 대한 모든 호출이 이 암시적 오브젝트를 참조합니다. Perl을 사용하는 경우 이 미리 정의된 변수인 $entity와의 이 연관을 참조합니다.

다음 예제는 단추 클릭과 컨텍스트 메뉴 항목 선택에 응답할 수 있는 레코드 스크립트를 보여 줍니다. 단추를 클릭하면 이 후크는 컴포넌트 선임 엔지니어 이름을 component_ref 필드에 넣으며 이 필드는 결함 시 작업에 지정된 사람을 표시합니다.

이 예제는 스키마에 레코드 스크립트를 추가할 수 있는 방법에 대한 일반적인 개념을 제공합니다. 예제에는 오류 검사가 포함되어 있지 않습니다. 데이터베이스에 레코드를 커미트하기 전에 유효성 검증 API의 리턴값을 확인하여 오류가 없는지 확인하십시오.

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

피드백