Вопрос

Я вижу, как планировщик, подобный функцию в Salesforce, но он несколько связан с существующими функциями, которые предоставляют Salesforce, и исходный код отсутствия примера не предоставляется, так как мое исследование идет.

То, что я хочу сделать, это создать свой собственный планировщик, который отправляет простую электронную почту на основе даты.

Цель:

Пользовательский объект Player имеет поля

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

Если сегодняшняя дата за один день до начала, я хочу отправить электронное письмо игроку. Например, имя игрока John и если сегодня 2010-12-10 и один игрок startDate установлено на 2010-12-11, электронное письмо "hello John" отправлено.

К сожалению, я не могу найти хороший пример или учебник онлайн или Salesforce DOC, как это сделать с помощью APEX. Кто-нибудь может указать, где начать?

ОБНОВИТЬ

Я хочу продлить ответ от eyescream.

После настройки планировщика вы можете настроить то, что следует под управлением действий, чтобы взять, как отправка электронной почты, используя шаблон или устанавливать пользовательские поля объектов на некоторые значения.

Ниже я нашел полезным для людей, использующих шаблон электронной почты в формате VisualForce.

У меня есть пользовательский объект «Alertter», который имеет ссылку на другую объект «Custom», и даже этот объект «пользовательский» имеет ссылку на другой объект «Custom1Grandchild», и все отношения (до 3 или 5 слоев, которые я думаю) можно получить Отказ

Я испытал ниже и работает нормально. Теперь я получаю электронную почту с моим состоянием :)

<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>
Это было полезно?

Решение

Проверьте решения, которые не связаны с кодом, прежде чем вы глубоко погрузитесь на вершину ...

Alert Email + Правило рабочего процесса должно предоставить вам все функциональные возможности, которые вам нужны в этом сценарии, и включайте только что нажав без какого-либо кода.

Другие советы

Я снова отвечаю на свой вопрос ..

Ниже ссылка, поиск schedule

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

Похоже, Apex имеет планируемый интерфейс, который я могу реализовать и настроить задачу CRON.

Ниже приведен образец код, предусмотренный в 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;
   }   
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top