Skip to main content

In v11.2.11 I have rendering rules on Page Titles on a popup. The rules do not match the data in the models being used. The action steps leading up to the popup change and save the data in the model, and the appearance is that the rules process before the save completes.

Skuid: Some help please?


I now have the action steps changing and saving the data TWICE in hopes that the second change/save will wait for the first save to complete. Then, if the rendering rules fire before the second save completes, at least the tested values will be correct. But no. In fact, the values tested by the rules appear to be NULLS, at least if I use a UI-only field as one of the fields changed along the way.


IS my thinking totally wrong here? Am I expecting sequential processing when there is no “sequence”? Please explain!


Hey Mike, Sorry you’re going through this.

Do you have any XML that reproduces the problem using standard objects and fields? I’d love to see what you’re running into


The code (with User) shared here might shed some light:
https://community.skuid.com/t/what-would-cause-a-model-to-display-in-a-table-but-not-a-fi…


As to the rendering rules, here are snippets using my custom objects. Please review the logic and expectations versus the actual results. The section shown uses a field editor to display the values and rules more clearly.


        <actionsequence id="244dffcd-8ae1-4c4c-a53e-3276b6de5670" label="scheduleContactsPopup" type="reusable" event-scope="component" event-name="Network: Disconnected" uniqueid="sk-2o5N-3428">
<description>This popup allows the user to schedule Contacts for an EventSlot (Visitation_Slot) selected from the Calendar.

(The Action Sequence is used primarily to provide quicker access to the popup in the Composer.)

The steps also test the event’s lock status. If unlocked, a lock is placed for the offender and any other

locks held by the offender are cleared.







EventSlot

OffenderSchedules

OffenderEventSchedules

ContactsNotScheduled




{{Lock_Has_Expired__c}} == true







EventSlot







                        <action type="updateRow" fieldmodel="EventSlot" affectedrows="all" field="Lock_Time__c" enclosevalueinquotes="false" value="NOW"/>
<action type="updateRow" fieldmodel="EventSlot" affectedrows="all" field="Locked_By_Offender__c" fieldtargetobjects="LOIS_Offender__c" enclosevalueinquotes="true" value="{{$Param.offenderid}}"/>
<action type="updateRow" fieldmodel="EventSlot" affectedrows="all" field="UI_Test" enclosevalueinquotes="false" value="Two"/>
<action type="save">
<models>
<model>EventSlot</model>
</models>
<onerroractions>
<action type="blockUI" message="Error setting hold. See console. Two moments, please..." timeout="3500"/>
</onerroractions>
</action>


                        <action type="requeryModel" model="LockedSlots" behavior="standard"/>
</iftrueactions>
</action>


                <action type="showPopup">
<popup title="Schedule Visitors for This Time Slot" width="90%">
<components>
<basicfieldeditor showheader="true" showsavecancel="false" showerrorsinline="true" model="EventSlot" uniqueid="sk-3rPh-1828" mode="readonly">
<columns>
<column width="33.3%" uniqueid="sk-3rPh-1824">
<sections>
<section title="Section A" uniqueid="sk-3rPh-1825" collapsible="no">
<fields>
<field uniqueid="sk-3rPt-1855" id="Locked_By_Offender__c"/>
<field uniqueid="sk-3rPt-1856" id="Locked_By_Offender__r.Id"/>
<field uniqueid="sk-3rPz-1881" type="COMBO" editmodebehavior="autopopup">
<label>Rendering Rule-Is This</label>
<template>Is This Offender</template>
<renderconditions logictype="and" onhidedatabehavior="keep">
<rendercondition type="fieldvalue" operator="=" enclosevalueinquotes="false" fieldmodel="EventSlot" sourcetype="fieldvalue" field="UI_IsOffender" fieldtargetobjects="CCM_Visitation_Slot__c" value="true"/>
</renderconditions>
<enableconditions logictype="and"/>
</field>
<field uniqueid="sk-3rPz-1881" type="COMBO" editmodebehavior="autopopup">
<label>Rendering Rule-Null</label>
<template>Is Null</template>
<renderconditions logictype="and" onhidedatabehavior="keep">
<rendercondition type="blank" operator="=" fieldmodel="EventSlot" sourcetype="fieldvalue" field="UI_IsOffender" fieldtargetobjects="CCM_Visitation_Slot__c" value="null" enclosevalueinquotes="false"/>
</renderconditions>
<enableconditions logictype="and"/>
</field>
</fields>
</section>
</sections>
</column>
<column width="33.3%" uniqueid="sk-3rPh-1826">
<sections>
<section title="Section B" uniqueid="sk-3rPh-1827" collapsible="no">
<fields>
<field uniqueid="sk-3rPt-1857" id="UI_OffenderId"/>
<field uniqueid="sk-3rPt-1858" id="UI_IsOffender"/>
<field uniqueid="sk-3rP--1892" type="COMBO" editmodebehavior="autopopup">
<label>Rendering Rule-Not This</label>
<template>Not This Offender</template>
<renderconditions logictype="and" onhidedatabehavior="keep">
<rendercondition type="fieldvalue" operator="=" enclosevalueinquotes="false" fieldmodel="EventSlot" sourcetype="fieldvalue" field="UI_IsOffender" fieldtargetobjects="CCM_Visitation_Slot__c" value="false"/>
</renderconditions>
<enableconditions logictype="and"/>
</field>
<field uniqueid="sk-3rP--1892" type="COMBO" editmodebehavior="autopopup">
<label>Rendering Rule-Not Null</label>
<template>Not Null</template>
<renderconditions logictype="and" onhidedatabehavior="keep">
<rendercondition type="blank" operator="!=" fieldmodel="EventSlot" sourcetype="fieldvalue" field="UI_IsOffender" fieldtargetobjects="CCM_Visitation_Slot__c" value="null" enclosevalueinquotes="false"/>
</renderconditions>
<enableconditions logictype="and"/>
</field>
</fields>
</section>
</sections>
</column>
<column width="33.3%" uniqueid="sk-3uxm-697">
<sections>
<section title="New Section" collapsible="no" uniqueid="sk-3uxm-698">
<fields>
<field uniqueid="sk-3uxs-711" id="UI_Test"/>
<field uniqueid="sk-3uxw-721" type="COMBO" editmodebehavior="autopopup">
<label>RR-One</label>
<template>One</template>
<renderconditions logictype="and" onhidedatabehavior="keep">
<rendercondition type="fieldvalue" operator="=" enclosevalueinquotes="false" fieldmodel="EventSlot" sourcetype="fieldvalue" field="UI_Test" fieldtargetobjects="CCM_Visitation_Slot__c" value="1"/>
</renderconditions>
&

Thanks, Stephen!


Reply