Page tree

    You can edit the code for the Filter flow action to split the contents of a particular event into two groups.
    For example, on page approval you may want to proof large pages one way and the rest of the pages another way. You can use the Filter flow action to perform this kind of split. 


    By default, the user interface creates two blocks of code: one that contains the True/False conditions for the filter, and another that checks the condition for each item of interest and adds it to the Accepted list or the Rejected list.

    ' =======================================================
    ' The ConfigureAction function implements a filter.
    ' It is called with the event which triggered the rule and the action.
    ' ================================================================
    Public Sub ConfigureAction( _
    ByVal triggerEvent As Creo.PWS.Automation.PrinergyDataModel.SurfaceFullEvent, _
    ByVal action As Creo.PWS.Automation.GenericDataModel.FilterAction)

    'Create a counter variable and initialize to the value 0
    Dim idx0 As Integer = 0

    'Next we create a loop that will go through all the input files (until
    'the counter reaches the end of the list)
    Do While (idx0 < triggerEvent.Surfaces.Length)

    Dim idx1 As Integer = 0

    Do While (idx1 < triggerEvent.Surfaces(idx0).Separations.Length)

    ‘Check to see if this item is Accepted or Rejected
    If Me.IsAccepted(triggerEvent.Surfaces(idx0).Separations(idx1)) Then

    ‘This is how we add an item to the Accepted list for the filter
    action.AddAcceptedItem(triggerEvent.Surfaces(idx0).Separations(idx1))

    Else

    ‘This is how we add an item to the Rejected list for the filter
    action.AddRejectedItem(triggerEvent.Surfaces(idx0).Separations(idx1))

    End If

    idx1 = (idx1 + 1)
    Loop

    idx0 = (idx0 + 1)
    Loop

    End Sub


    ' ==============================================================
    ' The condition functions test each item selected by the filter.
    ' If it returns true the item will be added to a list of items accepted by the filter.
    ' If it returns false the item will be added to a list of items rejected by the filter.
    ' =============================================================
    Private Function Condition1( _
    ByVal item As Creo.PWS.Automation.PrinergyDataModel.PageApprovalChangedEvent) _
    As Boolean

    Return (item.NewApprovalState = _
    Creo.PWS.Automation.PrinergyDataModelTypes.ApprovalState.Approved)

    End Function

    Private Function Condition1( _
    ByVal candidate As Creo.PWS.Automation.PrinergyDataModel.Separation) As Boolean
    ‘We return a TRUE if this item is accepted by the filter, a FALSE value if not
    Return candidate.Color.IsProcessYellow

    End Function

    • No labels