Мне трудно понять, что здесь происходит.Я пытаюсь закодировать некоторый JavaScript onClick для кнопки в представлении списка Force.com для пользовательского объекта.Вот JS.
{!REQUIRESCRIPT("/soap/ajax/15.0/apex.js")}
{!REQUIRESCRIPT("/soap/ajax/15.0/connection.js")}
var myURL = sforce.apex.execute("MyWebServices", "myUrl", {});
и вот веб-служба, которую я пытаюсь вызвать.
global class MyWebServices {
webservice static String myUrl(){
return 'www.foo.com';
}
}
Когда я нажимаю кнопку, я получаю небольшое всплывающее окно с предупреждением:
"Обнаружена проблема с OnClick JavaScript для этой кнопки или ссылки: невозможно вызвать метод 'execute' of undefined" Когда я выполняю итерацию членов "sforce", "apex" отсутствует.
Я буквально использую тот же синтаксис в другой кнопке в той же организации, единственное отличие заключается в методах, которые я вызываю.Эта кнопка работает.На самом деле, если я скопирую код из проблемного скрипта и поставлю его в начале рабочего скрипта на другой кнопке, это сработает.Чего мне здесь не хватает?
Вот более подробная информация о двух кнопках этого вопроса: одна кнопка (работает) - это кнопка просмотра списка в учетной записи, другая (неработающая) - в пользовательском объектекнопка списка для Foo__c.
Я использую этот код для обоих:
{!REQUIRESCRIPT("/soap/ajax/10.0/apex.js")}
{!REQUIRESCRIPT("/soap/ajax/10.0/connection.js")}
alert( sforce.apex.execute("HammockWebServices", "crossCoverageUrl", {}));
на учетной записи он работает отлично, на Foo__c - нет.Я попытался изменить порядок операторов! REQUIRE ... без видимого эффекта.
Помимо метки и названия кнопок, они, кажется, определены одинаково: Список кнопок Отображение флажков Выполнить JavaScript OnClickJavaScript
Существуют ли разрешения, профили или правила общего доступа на уровне объектов, которые влияют на доступ к пакетам javascript?(Обратите внимание, что даже если бы это было так, я пытаюсь сделать это как системный администратор, и ничего не получаю ...)