vTiger:"Permission to perform the operation is denied for name"

vTiger: "Permission to perform the operation is denied for name"

我发现有些情况报错是一样的,但实际情况不一样

这是vTiger中的自定义工作流函数,代码如下:

function perform_query($entity) {
    /*$entityArray = get_object_vars($entity); //array
    echo "<pre>";
    print_r($entityArray);
    echo "</pre>";
    break;*/
    include_once 'include/Webservices/Query.php';
    include_once 'modules/Users/Users.php';

    $user = new Users();
    $current_user = $user->retrieveCurrentUserInfoFromFile(Users::getActiveAdminId());
    try {
    $q = "SELECT * FROM vtiger_seactivityrel WHERE crmid = ".substr($entity->id, strpos($entity->id, "x") + 1);
    $q = $q . ';';
    $records = vtws_query($q, $current_user);
    print_r($records);
    } catch (WebServiceException $ex) {
        echo $ex->getMessage();
    }
    break;
}
?>

这应该给我结果:如果有,我想采取进一步的行动。这给了我以下错误:

Permission to perform the operation is denied for name.

我不知道发生了什么,有人知道吗?谢谢。

我自己解决了这个问题。事实上 vtws_query 不直接查询数据库。它具有某种抽象,因此如果您放置数据库 table 和列,它只会拒绝访问。虽然奇怪,正确的形式是这个:

SELECT * FROM <ModuleName> WHERE <Property> = '<your_search>'

要列出模块,您应该使用vtws_listtypes;要知道您可以搜索哪些属性,请使用 vtws_describe。更多信息 here.