Вы находитесь здесь:
Общие сведения о коде Apex
Apex — сильно типизированный объектно-ориентированный язык программирования, позволяющий разработчикам выполнять операторы управления потоками и транзакциями на сервере платформы Lightning совместно с вызовами API платформы Lightning. Используя синтаксис, похожий на Java и действующий как хранимые в базе данных процедуры, Apex позволяет разработчикам добавлять бизнес-логику к большинству системных событий, включительно с нажатием кнопок, обновлениями связанных записей и страницами Visualforce. Код Apex может быть инициирован запросами веб-служб и из триггеров объектов.
Требуемые версии
| Доступно в версиях: Salesforce Classic (недоступно во всех организациях) и Lightning Experience. |
| Доступно в версиях: Версии Enterprise, Performance, Unlimited, Developer и Database.com |
Apex может храниться на платформе в двух разных формах:
- Класс - это шаблон или образец, на основе которого создаются объекты Apex. Классы состоят из других классов, заданных пользователем методов, переменных, типов исключений и статического кода инициализации. Введите строку «Классы Apex» в поле «Быстрый поиск» в меню «Настройка» и выберите пункт «Классы Apex».
- Триггер — это код Apex, выполняемый до или после наступления определенных событий языка манипуляции данными (DML), например, до вставки записей объекта в базу данных или после удаления записей. Триггеры хранятся в Salesforce в виде метаданных. Список всех триггеров в вашей организации расположен на странице триггеров Apex в настройках.
Apex обычно выполняется в системном контексте, то есть полномочия текущего пользователя и безопасность поля не учитываются во время выполнения кода. Правила общего доступа, однако не всегда обходятся: класс должен быть объявлен с ключевым словом without sharing, чтобы предотвратить применение правил общего доступа.
Прежде чем развертывать код в производственных средах, необходимо, чтобы как минимум 75% Apex было покрыто единичными тестами. Кроме того, все триггеры должны иметь определенное тестовое покрытие.
После создания классов и триггеров, а также тестов повторите выполнение посредством консоли разработчика.
Добавлять, редактировать или удалять Apex посредством пользовательского интерфейса Salesforce можно только в организации Developer Edition, пробной организации Salesforce Enterprise Edition или организации sandbox. Производственная организация Salesforce позволяет изменять Apex только посредством вызова Metadata API deploy, расширений Salesforce для Visual Studio Code или Ant Migration Tool. Расширения Salesforce для Visual Studio Code и Ant Migration Tool являются бесплатными ресурсами, предоставляемыми Salesforce для поддержки пользователей и партнеров, но не считаются частью наших услуг в соответствии с основным соглашением об обслуживании Salesforce.
Дополнительные сведения о синтаксисе и использовании Apex см. в Руководстве разработчика Apex Code.
- Руководство разработчика Apex и инструменты разработчика
Руководство разработчика Apex и Справочное руководство Apex предоставляют полную справку по языку программирования Apex. Руководство разработчика Apex объясняет, как вызывать Apex, как работать с ограничениями, как писать тесты и прочее. Справочное руководство Apex предоставляет справочную информацию по классам Apex, интерфейсам, исключениям и так далее. Для написания кода Apex можно выбрать один из нескольких инструментов Salesforce и сторонних. - Определение классов Apex
Salesforce хранит классы Apex в виде метаданных. - Определение триггеров Apex
Код Apex можно вызвать посредством триггеров. Триггеры Apex можно настроить на выполнение настраиваемых действий до или после изменений записей Salesforce, например, вставок, обновлений или удалений. - Выполнение анонимного кода Apex
Консоль разработчика позволяет выполнять код Apex как еще один способ создания журналов отладки, охватывающих определенную логику приложения. - Что происходит при возникновении исключения Apex?
При возникновении исключения выполнение кода останавливается. Все операции DML, обработанные до исключения, откатываются и не фиксируются в базе данных. Исключения регистрируются в журналах отладки. Для необработанных исключений, которые код не обнаруживает, Salesforce отправляет электронное сообщение, содержащее сведения об исключениях. Конечный пользователь видит сообщение об ошибке в пользовательском интерфейсе Salesforce. - Обработка исключений Apex в управляемых пакетах
При создании управляемого пакета для каталога AppExchange рекомендуем указать пользователя, которому следует отправить электронное уведомление о возникновении исключения, которое не может быть обнаружено кодом Apex. - Управление классами Apex
Класс Apex - это шаблон или образец, на основе которого создаются объекты Apex. Классы состоят из других классов, заданных пользователем методов, переменных, типов исключений и статического кода инициализации. - Управление триггерами Apex
Триггер — это код Apex, выполняемый до или после наступления определенных событий языка манипуляции данными (DML), например, до вставки записей объекта в базу данных или после удаления записей. - Управление параметрами версии для Apex
Чтобы обеспечить обратную совместимость, классы и триггеры Apex хранятся с параметрами версии для Salesforce API и любых ссылочных управляемых пакетов. - Просмотр классов Apex
При необходимости просмотрите код, содержащийся в созданном классе, API, использованный для сохранения класса, а также сведения о действительности или активности класса. - Просмотр сведений о триггере Apex
Триггеры Apex хранятся в качестве метаданных в приложении под объектом, с которым они связаны. - Создание класса Apex из WSDL
Класс Apex может быть автоматически создан на основе документа WSDL, хранящегося на локальном жестком диске или в сети. - Мониторинг очереди заданий Apex
Страница настройки заданий Apex содержит сведения о заданиях Apex, включительно с процентом использования асинхронизированного Apex и количеством операций Apex, использованных вне ограничения круглосуточной организации. Отслеживайте статус заданий Apex, чтобы смягчить потенциальные проблемы ограничения до их появления. - Мониторинг очереди Apex Flex
Используйте страницу очереди Flex Apex для просмотра и изменения порядка отображения всех пакетных заданий со статусом «Удержание». Или измените порядок пакетных заданий программным способом с помощью кода Apex. - Планирование заданий Apex
Рекомендуем использовать планировщик Apex и интерфейсSchedulableпри наличии определенных классов Apex, которые должны выполняться на регулярной основе, или для выполнения пакетного задания Apex посредством пользовательского интерфейса Salesforce. - Вопросы и ответы Apex
Часто задаваемые вопросы о внешних веб-службах, поддерживаемых типах схем WSDL и различиях между классами и триггерами Apex.

