Cómo implementar planificador en Apex?
-
08-10-2019 - |
Pregunta
veo como programador en función de la fuerza de ventas pero es un poco atado con las características existentes que proporcionan la fuerza de ventas y ningún código fuente de ejemplo se proporciona en cuanto a mi investigación va.
Lo que quiero hacer es crear mi propio programador que envía correo electrónico simple, basada en la fecha.
Objetivo:
A medida Player
objeto tiene campos
startDate : date like '2010-11-01'
email : text field like foo@bar.com
name : player's name like John.
Si la fecha de hoy es un día antes del startDate, quiero enviar un correo electrónico al jugador.
Por ejemplo, el nombre del jugador es John
y si hoy es 2010-12-10
y startDat
e de un jugador se establece en 2010-12-11
, se envía correo electrónico "hello John"
diciendo.
Por desgracia no puedo encontrar un buen ejemplo o un tutorial en línea o doc fuerza de ventas cómo hacer esto utilizando Apex. Podría apuntar a nadie dónde empezar?
Actualizar
Quiero extender la respuesta de eyescream.
Después de ajustar planificador, se puede establecer lo que el seguimiento de la acción a tomar como el envío de correo electrónico usando la plantilla o un conjunto campos de objeto personalizado para algunos valores.
A continuación he encontrado útil para la gente que usa la plantilla de correo electrónico en formato Visualforce.
Tengo objeto personalizado 'alertTester', que hace referencia a otro 'a medida' objeto e incluso este objeto 'costumbre' tiene referencia a otro objeto 'custom1GrandChild' y toda la relación (hasta 3 o 5 capas creo) puede ser visitada como a continuación.
He probado a continuación y funciona bien. Ahora estoy de recibir correos electrónicos con mi estado de funcionamiento:)
<messaging:emailTemplate subject="Hello" recipientType="User" relatedToType="alertTester__c" >
<messaging:plainTextEmailBody >
{!relatedTo.name}
{!relatedTo.custom__r.name}
{!relatedTo.custom__r.custom1GrandChild__r.name}
</messaging:plainTextEmailBody>
</messaging:emailTemplate>
Solución
Salida soluciones que no impliquen código antes de sumergirse profundamente a usted Apex ...
Email Alerta + regla de flujo de trabajo debe proporcionarle toda la funcionalidad que necesita en este escenario e involucrar solo clic, sin ningún código.
Otros consejos
Estoy respondiendo a mi propia pregunta de nuevo ..
A continuación enlace, buscar schedule
http://www.salesforce.com/us/developer/ docs / apexcode / index.htm
Las apariencias como Apex tiene una interfaz planificable que puedo implementos y configurar tareas cron.
A continuación se muestra el código de ejemplo proporcionado en el documento:
global class TestScheduledApexFromTestMethod implements Schedulable {
// This test runs a scheduled job at midnight Sept. 3rd. 2022
public static String CRON_EXP = '0 0 0 3 9 ? 2022';
global void execute(SchedulableContext ctx) {
CronTrigger ct = [SELECT id, CronExpression, TimesTriggered, NextFireTime
FROM CronTrigger WHERE id = :ctx.getTriggerId()];
System.assertEquals(CRON_EXP, ct.CronExpression);
System.assertEquals(0, ct.TimesTriggered);
System.assertEquals('2022-09-03 00:00:00', String.valueOf(ct.NextFireTime));
Account a = [SELECT id, name FROM Account WHERE name =
'testScheduledApexFromTestMethod'];
a.name = 'testScheduledApexFromTestMethodUpdated';
update a;
}
}