La Guía del desarrollador de código Apex es la referencia completa para el lenguaje de programación Apex. La Guía del desarrollador de código Apex también explica la sintaxis del lenguaje, cómo invocar Apex, cómo trabajar con límites, como escribir pruebas y otros aspectos. Para escribir código Apex, puede elegir entre varias herramientas de Salesforce y externas.
• Guía del desarrollador de código Apex de Force.com
Utilice estas herramientas para escribir código Apex: • Consola de desarrollador de Force.com • Complemento IDE de Force.com para Eclipse
• Editor de código en la interfaz de usuario de Salesforce
Busque en Internet para encontrar entornos IDE de Salesforce creados por desarrolladores externos.
Definir clases de Apex
EDICIONES
Disponible en: Salesforce Classic
Disponible en: Performance Edition, Unlimited Edition, Developer Edition, Enterprise Edition y Database.com Edition
PERMISOS DE USUARIO
Para definir, modificar, eliminar, configurar la seguridad, definir la configuración de la versión, mostrar dependencias y ejecutar pruebas de clases de Apex:
• “Autor de Apex” Las clases de Apex se almacenan como metadatos en Salesforce.
Nota: Puede agregar, modificar o eliminar Apex utilizando la interfaz de usuario de Salesforce solo en una organización de Developer Edition, una organización de prueba de Salesforce Enterprise Edition o una organización de sandbox. En una organización de producción de Salesforce, solo podrá realizar cambios de Apex utilizando la llamada Implementaciónde
la API de metadatos, el IDE de Force.com o la Herramienta de migración de Force.com. El IDE de Force.com y la herramienta de migración de Force.com son recursos gratuitos proporcionados por Salesforce para ayudar a sus usuarios y socios, pero no se consideran parte de nuestros servicios en lo relativo al Contrato de suscripción principal de Salesforce.
Para crear una clase:
1. En Configuración, introduzca Clases de Apex en el cuadro Búsqueda rápida y, a continuación, seleccione Clases de Apex .
2. Haga clic en Nuevo.
3. Haga clic en Configuración de versión para especificar la versión de Apex y la API utilizada con esta clase. Si su organización tiene paquetes gestionados instalados de AppExchange, también puede especificar qué versión de cada paquete gestionado debe utilizarse con esta clase. Utilice los valores predeterminados para todas las versiones. Esto asocia la clase con la versión más reciente de Apex y la API, así como cada paquete gestionado. Puede especificar una versión anterior de un paquete gestionado si desea acceder a componentes o funciones
diferentes a los de la versión más reciente del paquete. Puede especificar una versión anterior de Apex y la API para mantener un comportamiento específico.
4. En el editor de clase, introduzca el código Apex de la clase. Una clase única puede tener hasta 1 millón de caracteres, sin incluir comentarios, métodos de comprobación o clases definidas mediante @isTest.
5. Haga clic en Guardar para guardar los cambios y volver a la pantalla de detalles de clase o haga clic en Guardar rápido para guardar los cambios y continuar modificando la clase. Su clase de Apex debe compilarse correctamente antes de poder guardarla. Una vez guardadas, se puede recurrir a las clases a través de los métodos o las variables de otro código Apex, como un desencadenador.
Nota: Para permitir la compatibilidad con versiones anteriores, las clases se almacenan con la configuración de una versión especificada de Apex y la API. Si la clase de Apex hace referencia a componentes, como un objeto personalizado, en paquetes gestionados instalados, también se guarda la configuración de versión de los paquetes gestionados a los que hace referencia dicha
clase. Adicionalmente, las clases se almacenan con una marca Es válido que se define como verdadero siempre que los metadatos dependientes no hayan cambiado desde que la clase se compiló por última vez. Si se realiza cualquier cambio en los nombres o campos de objetos que se utilizan en la clase, incluidos los cambios superficiales como las modificaciones de una descripción de objeto o campo, o si las modificaciones se aplican a una clase que recurre a esta clase, la marca Es válido se define como falsa. Cuando un desencadenador o llamada de servicio Web invoca a la clase, el código vuelve a compilarse y se notifica al usuario si hay algún error. Si no hay errores, se restablece la marca Es válido como verdadero.
CONSULTE TAMBIÉN Gestionar clases de Apex . Ver clases de Apex
Gestión de la configuración de versión de Apex
Definir desencadenadores de Apex
EDICIONES
Disponible en: Salesforce Classic y Lightning Experience
Disponible en: Performance Edition, Unlimited Edition, Developer Edition, Enterprise Edition y Database.com Edition Los objetos estándar, campañas, casos y correos electrónicos no están disponibles en Database.com. PERMISOS DE USUARIO Para definir desencadenadores de Apex: • "Apex de autor" Los desencadenadores de Apex se almacenan como metadatos en la aplicación bajo el objeto con
el que se asocian.
Nota: Puede agregar, modificar o eliminar Apex utilizando la interfaz de usuario de Salesforce solo en una organización de Developer Edition, una organización de prueba de Salesforce Enterprise Edition o una organización de sandbox. En una organización de producción de Salesforce, solo podrá realizar cambios de Apex utilizando la llamada Implementaciónde
la API de metadatos, el IDE de Force.com o la Herramienta de migración de Force.com. El IDE de Force.com y la herramienta de migración de Force.com son recursos gratuitos proporcionados por Salesforce para ayudar a sus usuarios y socios, pero no se consideran parte de nuestros servicios en lo relativo al Contrato de suscripción principal de Salesforce.
1. Desde la configuración de gestión de objetos para el objeto a cuyos desencadenadores desea acceder, vaya a Desencadenadores.
Consejo: Para los objetos estándar Archivos adjuntos, Documento de contenido y Nota, no puede crear un desencadenador en la interfaz de usuario de Salesforce. Para estos objetos, cree un desencadenador utilizando herramientas de desarrollo, como la Consola del desarrollador o el IDE de Force.com. También puede utilizar la API de metadatos. 2. En la lista Desencadenadores, haga clic en Nuevo.
3. Haga clic en Configuración de versión para especificar la versión de Apex y la API utilizadas con este desencadenador. Si su organización tiene paquetes gestionados instalados de AppExchange, también puede especificar qué versión de cada paquete gestionado debe utilizarse con este desencadenador. Utilice los valores predeterminados para todas las versiones. Esto asocia el
desencadenador con la versión más reciente de Apex y la API, así como cada paquete gestionado. Puede especificar una versión anterior de un paquete gestionado si desea acceder a componentes o funciones diferentes a los de la versión más reciente del paquete.
4. Haga clic en Desencadenador de Apex y seleccione la casilla de verificación Está activo si el desencadenador se debe compilar y activar. Deje esta casilla de verificación sin seleccionar si sólo desea almacenar el código en los metadatos de su organización. Esta casilla de verificación se selecciona de forma predeterminada.
5. En el cuadro de texto Cuerpo, introduzca el Apex del desencadenador. Un desencadenador simple puede tener hasta 1 millón de caracteres de longitud.
Para definir un desencadenador, utilice la siguiente sintaxis:
trigger TriggerName on ObjectName (trigger_events) { code_block
}
donde eventos_desencadenador puede ser una lista separada por comas de uno o más de los siguientes eventos: • antes de inserción • antes de actualización • antes de eliminación • después de inserción • después de actualización • después de eliminación • después de restauración
Nota: Un desencadenador invocado por una inserción, eliminación o actualización de un evento o tarea recurrente produce como resultado un error de tiempo de ejecución cuando el desencadenador se llama en bruto desde la API de Force.com.
6. Haga clic en Guardar.
Nota: Los desencadenadores se almacenan con una marca Es válido que se define como verdadero siempre que los metadatos dependientes no hayan cambiado desde que el desencadenador se compiló por última vez. Si se realiza cualquier cambio en los nombres o campos de objetos que se utilizan en el desencadenador, incluidos los cambios superficiales como las modificaciones de una descripción de objeto o campo, la marca Es válido se define como falsa hasta que el compilador del Apex reprocese el código. La nueva compilación se produce en la próxima ejecución del desencadenador o cuando un usuario vuelve a guardar el desencadenador en metadatos.
Si un campo de búsqueda hace referencia a un registro que se ha eliminado, Salesforce borra el valor del campo de búsqueda de forma predeterminada. También puede seleccionar evitar la eliminación de registros si están en una relación de búsqueda.
CONSULTE TAMBIÉN
Gestionar desencadenadores de Apex . Gestión de la configuración de versión de Apex
Código Apex de ejecución anónima
La Consola del desarrollador le permite ejecutar códigos de Apex como otra forma de generar registros de depuración que cubren una lógica de aplicación específica.
Permisos de usuario necesarios “Apex de autor” Para ejecutar Apex anónimo:
La herramienta Execute Anonymous Apex (Ejecutar Apex anónimo) en la Consola del desarrollador ejecuta el código de Apex que introduce utilizando ExecuteAnonymous y genera un registro de depuración con los resultados de la ejecución.
PRECAUCIÓN: Si llama a una clase que contenga un testMethod, se ejecutarán todas las declaraciones DML del método de prueba. Esta acción puede agregar datos no deseados a su organización.
1. Haga clic en Debug (Depuración) > Open Execute Anonymous Window (Abrir ventana de ejecución anónima) para abrir la ventana Enter Apex Code (Introducir código Apex).
2.
Introduzca el código que desea ejecutar en la ventana Enter Apex Code (Introducir código Apex) o haga clic en para abrir el editor de códigos en una nueva ventana del navegador. Para abrir automáticamente el registro de depuración obtenido al finalizar la ejecución, seleccione Open Log (Abrir registro).
Nota: No puede utilizar la palabra clave static en código anónimo. 3. Ejecutar el código:
a. Para ejecutar todo el código de la ventana, haga clic en Execute (Ejecutar) o pulse CTRL+E.
b. Para ejecutar solo las líneas de código seleccionadas, seleccione las líneas y haga clic en Execute Highlighted (Ejecutar elementos resaltados) o pulse CTRL+Mayús+E.
4. Si ha seleccionado Open Log (Abrir registro), el registro se abrirá automáticamente en el Inspector de registros. Cuando se ejecute el código, el registro de depuración aparecerá en la ficha Logs (Registros). Haga doble clic en el registro para abrirlo en el Inspector de registros.
5. Para ejecutar el mismo código de nuevo sin realizar cambios, haga clic en Debug (Depuración) > Execute Last (Última ejecución). Si no desea modificar el código, haga clic en Debug (Depuración) > Open Execute Anonymous Window (Abrir ventana de ejecución anónima) para abrir la ventana Enter Apex Code (Introducir código Apex) con al entrada anterior.
CONSULTE TAMBIÉN Menú Debug (Depuración) Inspector de registros
Uso de registros de depuración Ficha Logs (Registros)