// first we change acl for catalog (proxy) object
@co_call(par_area,'"generic_acl"',"permissionOff",par_area=>par_area,par_class=>par_class,par_id=>par_id,callback=>callback,id_permission=>id_permission,id_role=>id_role);
// next we change acl for object pointed by catalog object
@co_lcall(par_area, par_class, "getItemData", par_area=>par_area, par_class=>par_class, par_id=>par_id, callback=>'""');
__GET_RETURNED_RECORDSET(corec)
target_class = cor_GetValueByName(cnx, corec, 0, "type_class_name");
// we do not delete again if object points to itself
if(strcmp(target_class, par_class) != 0)
{
target_id = atoi(cor_GetValueByName(cnx, corec, 0, "id_item"));
@co_lcall(par_area, target_class,"permissionOff",par_area=>par_area,par_class=>target_class,par_id=>target_id,callback=>'""',id_permission=>id_permission,id_role=>id_role);
}