Part of the script in VTBTaskSecurity script include uses 'current.sys_id' in vtb_task ACLs. This does not return true. So, the users cannot read or create the vtb_task
1) Go to the VTBTaskSecurity Script Include.
2) Above line 5, add a debug statement: gs.log("value of current.isNewRecord: "+current.isNewRecord());
3) Create a new vtb_task record and check the System Logs.
EXPECTED: current.isNewRecord() returns true.
ACTUAL: current.isNewRecord() returns false.
The workaround for the same is to create a read/write ACL on the vtb_task table with the following script.
var gr = new GlideRecord(current.getTableName());
answer = VTBTaskSecurity.canRead(gr);
This will fetch the current record without any issue and the user will have access to the vtb_task table. Modify the above script depending on the operation(read or write) of the ACL.