Hello Sean,

Here is the trick to force a filter to run in phase 3. 
- On the form on which you want to run the filter, add a display-only field, 
that will be the trigger indicating it is a phase 3.
- Create a dummy form, that will contain temporary values, among which the 
request ID of the record you want filters to exec in phase 3
- Create a filter link to your first form: this filter makes 2 things:
        - a push to the dummy form with your entry-id
        - a Run Process Application-Query-Delete-Entry where you delete the 
entry you have just created
- Create a second filter, attached to the dummy form, that executes on DELETE, 
and that makes a push to your first form, pushing a value to the display-only 
form.
- Create filters attached to the first form, where the Run if contains 
'TR.Display-Only Field' != $NULL$, that you want to run in phase 3. Existing 
filters should be added a "AND TR.Display-Only Field' = $NULL$" in their Run If.

In fact the trick here is that filters running a process are executed in phase 
3. So the Application-Query-Delete-Entry is executed in phase 3, then it 
restarts the whole processing in your dummy form, which in turns restarts the 
processing in your first form.


Best regards,
The ARSmarts Support Team
ARSmarts winner of the Best New Product award at WWRUG11
www.ARSmarts.com


On 16 Dec 2011, at 22:51, Garrison, Sean (Norcross) wrote:

> **
> Thanks Chris,
>  
> My workaround is close to that – add a table field to the “People” form and 
> loop through each record.  This will send the “TR” values instead of the “DB” 
> values like I am seeing.  Since I am 99% of the way there with what I have I 
> am trying to avoid the rewrite I’m going to try a few more things to see if 
> it resolves my issue.
>  
> Thanks,
>  
> Sean
>  
>  
>  
>  
> From: Action Request System discussion list(ARSList) 
> [mailto:arslist@ARSLIST.ORG] On Behalf Of Danaceau, Chris (CONTR)
> Sent: Friday, December 16, 2011 3:54 PM
> To: arslist@ARSLIST.ORG
> Subject: Re: How do I force a filter to only happen after save? i.e. phase 3 
> ....
>  
> **
> How about using the TR.Value which should capture the changed name?
>  
> --
> Chris Danaceau
> 301-903-8741
> Contractor to the Department Of Energy
>  
> From: Action Request System discussion list(ARSList) 
> [mailto:arslist@ARSLIST.ORG] On Behalf Of Garrison, Sean (Norcross)
> Sent: Friday, December 16, 2011 2:14 PM
> To: arslist@ARSLIST.ORG
> Subject: How do I force a filter to only happen after save? i.e. phase 3 ....
>  
> **
> I have a workaround for this but I don’t really like it.  But here is the 
> problem I am trying to solve:
>  
> We have a custom crm app that contains people and clients.  I am trying to 
> trigger an event for each client related to a person whenever a field is 
> changed on the people record.  I have set up a filter that does a push fields 
> to a temp field on a join form to fire the workflow.   
>  
> Here is what is happening:
>  
> 1.        I change the person’s last name.
> 2.       Filter processing begins and filters fire.
> 3.       Filter processing phase 2 begins.
> 4.       I do a push fields to a join form to trigger the event. 
> 5.       Filter processing phase 3 begins. 
>  
> <Filter Level:0 Number Of Filters:50> Checking 
> "CKFR:DM:People-on_Submit/Modify-990-PushContactChangesToPeople-Assn_Join~!" 
> (990)
> --> Passed -- perform actions
> 0: Push Fields -> "CKFR:DM:People-Assn_Join"
> <deferred to phase 2>
>  
> Even though I changed the name from “Smith” to “Jones” in my event I get 
> “Smith” because the processing was done in phase 2.  I am not pushing the 
> “Last Name” field to the join form because it already has it (that’s why I 
> created the join in the first place).  In addition because the “Jones” is in 
> transaction it is not committed in the db yet.  I have a workaround but for 
> the sake of learning was wondering if anyone has run into this before and 
> what I could do to resolve it. 
>  
> I have tried the following options:
>  
> 1.        Put a ~! At the end of the filter name. 
> 2.       Use “Application-Release-Pending” run process command before the 
> action fires in the filter.
> 3.       Use “Application-Set-Filter-Phasing "value" where value = “1”.  This 
> didn’t work either.
> 4.       Use the “PERFORM-ACTION-APPLY” run process command
>  
> Thanks,
>  
> Sean
>  
>  
> _attend WWRUG12 www.wwrug.com ARSlist: "Where the Answers Are"_
> _attend WWRUG12 www.wwrug.com ARSlist: "Where the Answers Are"_
> _attend WWRUG12 www.wwrug.com ARSlist: "Where the Answers Are"_









_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: "Where the Answers Are"

Reply via email to