Thought this might be helpful for folks. This is a snippet that you can use on tables to limit the values of a picklist field to the permitted ones for a selected Record type. Skuid tables don’t have record context, so the default behavior is to display all picklist values for a field in the filter. For more involved objects, this gets unwieldy.
The code here is an extension of this article: https://docs.skuid.com/latest/en/skuid/filters/snippet-as-item-source.html and the setup of the page (and the logic) is pretty similar to how it’s described in the article. A model condition driving the table needs to work off the RecordTypeId and only works with a condition where the operator is “=” (No multiple values allowed in the condition). We use “Field from another model” for the condition and that one looks up the RecordType object which is either accepting a parameter fed into it or setting the DeveloperName to pull the recordType as well as an SObject condition. If the filter is inactivated, all values for the picklist are populated.
This snippet is a bit more dynamic and both the lookup field and the logic to sort out the sObject information are passed in as a parameter from the filter. It will also find the condition for the record type based on the condition filtering the RecordTypeId field, so you don’t need to to worry about naming conventions on the condition. This means you can use this piece of code for any picklist on any object where RecordTypes are in play.

If anyone has an easier approach or improvements, much appreciated. Here’s the code snippet and I’ll post a sample page in a comment here.
var f = arguments[0],
$ = skuid.$;
m = f.model;
o = m.objectName;
fld = f.list.filterCondition.field;
filterItems = ;
$.each(m.conditions,function(a,b){
if(b.field == ‘RecordTypeId’ && b.inactive === false && b.operator == ‘=’){
rt = b.value;
d = skuid.utils.getAPIDescribeLayout(o);
$.each(d.recordTypeMappings,function(e,rtm){
if(rtm.recordTypeId == rt){
$.each(rtm.picklistsForRecordType,function(f,pl){
if(pl.picklistName == fld){
$.each(pl.picklistValues, function(g,pv){
if(pv.active === ‘true’){
lab = pv.label;
val = pv.value;
filterItems.push({label: lab,value: val});
}
});
}
});
}
});
}
if(b.field == ‘RecordTypeId’ && b.inactive === true){
obj = skuid.utils.getAPIDescribeSObject(o);
$.each(obj.fields, function(e,f){
if(f.name == fld){
$.each(f.picklistValues,function(g,pv){
if(pv.active === ‘true’){
lab = pv.label;
val = pv.value;
filterItems.push({label: lab,value: val});
}
});
}
});
}
});
return filterItems;