When invoking an action (e.g., a doit command), arguments must be resolved against the action itself, not just the parent handler's record map.
In scenarios where a handler contains both a read-only column and a writable action argument with the same name (e.g., 'Key Size'), the action's field definition takes precedence. Use WinboxJgCatalog.GetActionFields and WinboxFieldResolver to ensure arguments are correctly attributed to the specific action being dispatched.
// Example of an action (doit) sharing a name with a handler field
{name:'IPsec Key',title:'Keys',type:'map',path:[ 85,5 ],c:[
{name:'Name',type:'string',id:'sfe0010',min:1},
{name:'Key Size',type:'number',id:'u1',ro:1}, // list COLUMN, read-only
{name:'Generate Key',type:'doit',cmd:1,global:1,c:[
{name:'Name',type:'string',id:'sfe0010',min:1},
{name:'Key Size',type:'enm',id:'u1', // ARGUMENT, writable
values:{type:'static',map:{1024:'1024',2048:'2048',4096:'4096'}}}]}]}