Frage

Ich sehe Scheduler wie Feature in Salesforce, aber es ist etwas mit bestehenden Funktionen gebunden, dass Salesforce bieten und kein Beispielquellcode vorgesehen soweit meine Forschung geht.

Was ich tun möchte, ist meine eigenen Scheduler zu erstellen, basierend auf Datum einfache E-Mail sendet.

Ziel:

Benutzerdefinierte Objekt Player hat Felder

startDate : date like '2010-11-01'
email : text field like foo@bar.com
name : player's name like John.

Wenn das heutige Datum einen Tag vor dem Startdate ist, möchte ich E-Mail an den Spieler senden. So ist zum Beispiel Name des Spielers John und wenn heute 2010-12-10 und ein Spieler startDate ist, auf 2010-12-11, E-Mail sagen "hello John" gesendet wird.

Leider kann ich nicht gutes Beispiel oder Tutorial online oder Salesforce doc finden, wie dies mit Apex zu tun. Könnte jemand Punkt, wo loszulegen?

UPDATE

Ich mag die Antwort von eyescream. verlängern

Nach dem Scheduler einstellen, können Sie festlegen, welche Aktion folgen wie nehmen E-Mail zu senden mit Vorlage oder Set benutzerdefinierte Objektfelder auf einige Werte.

Unten fand ich nützlich für Leute mit E-Mail-Vorlage in Visual Format.

Ich habe benutzerdefinierte Objekt ‚alertTester‘, die sich auf ein anderes Objekt ‚custom‘ hat und auch dieses Objekt ‚custom‘ hat Verweis auf ein anderes Objekt ‚custom1GrandChild‘ und alle die Beziehung (bis zu 3 oder 5 Schichten glaube ich) kann sein zugegriffen wie unten.

Ich habe unten getestet und funktioniert einwandfrei. Jetzt bin ich empfange E-Mail mit meinem Zustand Satz:)

<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>
War es hilfreich?

Lösung

Schauen Sie sich Lösungen, den Code beinhaltet nicht, bevor Sie tief tauchen Apex werden ...

E-Mail + Workflow-Regel sollten Sie mit allen Funktionen bieten Sie in diesem Szenario müssen und beinhalten nur ohne Code klicken.

Andere Tipps

I'm answering to my own question again..

Below link, search for schedule

http://www.salesforce.com/us/developer/docs/apexcode/index.htm

Looks like Apex has Schedulable interface that I can implements and set up cron task.

Below is sample code provided in the doc:

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;
   }   
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top