Symptoms
There are 4 advanced conditions, inside the event "When a control on the Form raises an event", which are not getting evaluated correctly even though the conditions are true. If you show a message after each condition, they evaluate correctly and the form renders as expected. Below is the rule:
When hdnCallValidateForm is Changed
if an advanced condition is true
then complete the following one after another
then set the properties of Core.AssetReceiptDisposalList.VWL View (configure)
then show a message to the user (configure)
if an advanced condition is true
then complete the following one after another
then set the properties of Core.AssetReceiptNonDisposalList.VWL View (configure)
then show a message to the user (configure)
if an advanced condition is true
then complete the following one after another
then set the properties of lblTotalClassified control (configure)
then set the properties of dlTotalClassified control (configure)
then set the properties of lblWarning control (configure)
then set the properties of lblAllocateDisposal control (configure)
then set the properties of imgDisposal control (configure)
then set the properties of lblAllocateNonDisposal control (configure)
then set the properties of ImgNonDisposal control (configure)
then set the properties of lblUpdate control (configure)
then set the properties of ImgUpdate control (configure)
then set the properties of txtCaseMgmtStatus control (configure)
then set the properties of lblCaseManagementStatus control (configure)
then show a message to the user (configure)
if an advanced condition is true
then complete the following one after another
then set the properties of lblTotalClassified control (configure)
then set the properties of dlTotalClassified control (configure)
then set the properties of lblWarning control (configure)
then set the properties of lblAllocateDisposal control (configure)
then set the properties of imgDisposal control (configure)
then set the properties of lblAllocateNonDisposal control (configure)
then set the properties of ImgNonDisposal control (configure)
then set the properties of lblUpdate control (configure)
then set the properties of ImgUpdate control (configure)
then set the properties of txtCaseMgmtStatus control (configure)
then set the properties of lblCaseManagementStatus control (configure)
then show a message to the user (configure)
Condition 1 and 2 seem to work fine however the problem occurs with condition 3 and 4.
Like I mentioned above when I enable the "then show a message to the user (configure)" actions the rule runs as expected.
Diagnoses
The one after another execution is not needed, since the different property settings are not depending on one another.
The rule seems to work once refreshed, but in the above explained scenario it did not refresh automatically. Showing the message was performing a refresh, hence why the rule was executing correctly. 3and4 were supposed to execute after a subform is closed and they were the once not working.
Resolution
Switching the execution to asynchronous (just a good practice, this was not related to the problem) as per http://help.k2.com/kb001432
Adding a List refresh action of the Views on the main form, before the closure of the subform resolved the issue.