SalesForce.com - Отчет об обходных путях процесса утверждения - PullRequest
2 голосов
/ 17 декабря 2010

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

Я видел рекомендацию обновить поля на объекте, который маршрутизируется в действии, которое выполняется послекаждый шаг - однако это не работает, когда этот шаг предназначен для параллельных утверждений.

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

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

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 23 декабря 2010

Поскольку мне действительно было необходимо, чтобы кто-либо имел возможность проверять все ожидающие одобрения или ожидающие одобрения для определенных пользователей в любой момент времени, я создал страницу VisualForce и использовал следующие запросы в зависимости от поиска каждого ожидающего утверждения или запросов для пользователя..

Для всех ожидающих утверждений:

[SELECT Status, TargetObject.Name, TargetObjectId, TargetObject.Type, (SELECT Actor.Id, Actor.Name, Actor.Email, CreatedDate FROM WorkItems)
                                    FROM ProcessInstance
                                    WHERE TargetObject.Type = 'ObjectICareAbout__c' and Status='Pending']

Для ожидающих утверждений для данного пользователя:

[SELECT ActorId, Actor.Name, Actor.Email, CreatedDate, ProcessInstance.Status, ProcessInstance.TargetObjectId, ProcessInstance.TargetObject.Name
                                            FROM ProcessInstanceWorkitem
                                            WHERE ActorId = :user AND ProcessInstance.Status = 'Pending' AND ProcessInstance.TargetObject.Type = 'ObjectICareAbout__c']

Затем они сопоставляются с моделью общего вида для отображения встраница VF.

0 голосов
/ 17 декабря 2010

В первую очередь - перейдите на Отчеты -> Административные отчеты -> Все ожидающие утверждения запросы .

Проверьте его и посмотрите, можно ли его настроить в соответствии с вашими потребностями. Если вам нужно иметь возможность поделиться им с неадминами - подумайте о том, чтобы сделать из него панель управления (может быть Таблицей) и запланировать ее для ежедневного запуска и отправки электронной почты ...

Если вы чувствуете, что вам все еще нужен обходной путь - мы, безусловно, можем поэкспериментировать с

однако, это не работает, когда шаг для параллельных утверждений

Вы пытались использовать формулы в обновлении? Такие вещи, как someHiddenNumberField +1, могут работать (сейчас я не могу проверить это в своей редакции Dev); если не прямо так, то с каким-нибудь синтаксическим сахаром вроде PRIORVALUE(). Или, может быть, даже лучше - наличие текстового поля и добавление в него даты / времени + кто одобрил. Затем на последнем шаге вы очищаете «счетчик» и все готово.

Если трюк с обновлениями на основе формул не сработает (без обещаний, это просто идея), возможно, сохраните старый способ установки специального поля, но определите также триггер «до обновления» для этого объекта ( или рабочий процесс). ? но это опять формула ), которая проверяет значение, обновляет "counter" и устанавливает скрытое поле обратно в исходное значение.

...