2014-01-29 3 views

ответ

1

10 минут точно не уверен, но вы можете отложить его на час с помощью триггеров, основанных на времени, в правиле рабочего процесса. В своем триггере вместо удаления записи пометьте логическое поле «Для удаления» как истинное и создайте правило потока, в котором, когда для этого поля установлено значение true, срабатывает действие, основанное на времени, через 1 час после активации рабочего процесса, отмечая новый поле, «удаление» и новый триггер на одном и том же объекте для удаления любой записи, которая имеет этот флажок.

+0

Thanks Aldo. Я попробую с этим. – pandeis

+0

Не уверен, что триггер обновления может решить удалить запись ... Возможно, для этого требуется действие '@ future'. – eyescream

0

В дополнение к другому ответу я хотел бы указать вам на помощь, связанную с пакетными заданиями в salesforce. У вас может быть запланированное задание, выполняемое каждые 10 минут, проверяя, есть ли что-то, что можно удалить (и, может быть, lastModifiedDate будет более чем 10 минут назад) и уничтожить его.

Или вы можете использовать вызов System.scheduleBatch(), чтобы поставить задание в очередь будущих исполнений только один раз (так что он не будет работать все время, только когда вы ставите его в очередь из своего триггера).

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

Смежные вопросы