vTiger: «Отказано в разрешении на выполнение операции для имени».

Я нашел несколько случаев, когда ошибка была такой же, но ситуация не была.

Это предназначено как пользовательская функция рабочего процесса в 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,

Я не знаю, что происходит, у кого-нибудь есть идеи? Спасибо.

0

Решение

Я решил это сам. Это факт vtws_query НЕ запрашивает базу данных напрямую. У него есть какая-то абстракция, поэтому, если вы поместите таблицу базы данных и столбцы, она просто запрещает доступ. Хотя это и странно, правильная форма такова:

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

Чтобы перечислить модули, вы должны использовать vtws_listtypes; чтобы узнать, какие свойства вы можете искать, используйте vtws_describe, Больше информации Вот.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]