나는 Apex 코드에서 사용자에게 메시지를 전달하는 사용자 친화적 인 방법을 찾아 내려하고 있습니다. 리드의 삽입/업데이트 후에 실행되는 트리거가 있는데, 그러면 업데이트 목록을 필터링하고 리드 데이터를 외부 웹 서비스로 푸시하고 변환 된 계정을 일부 반환 된 값으로 업데이트하는 @future 메소드를 트리거합니다.Salesforce의 Apex 트리거에서 현재 사용자에게 알림 제공
I 수행하려는 다음의 (X, Y 및 Z는 1 내지 50의 리드의 수있는 곳)
- 는 X 리드 리드 변환 사용자에게 통지 Y 및 Z는 것 내 보낸 (나는 트리거 실행 중에 이것을 알 것이다).
- 은 내보내기 성공 또는 실패 여부를 사용자에게 알립니다 (@future 메소드가 실행될 때 X, Y 및 Z 각각에 대해 알려짐).
이 정보를 다시 사용자에게 전달하는 권장 방법은 무엇입니까? 나는 이 아니라이 이메일을 사용하는 것을 선호 할 것입니다 (이것은 레코드 당 하나의 이메일을 트리거 할 것이기 때문에 꽤 스팸적이고 불쾌합니다). 알림 메시지를 페이지에 삽입하는 다른 방법이 있습니까? ApexPages.addMessage() 시도했지만 나를 위해 아무것도 할 것 (아무런 오류가 있지만 알림 중 하나를) 않는 것.
내가'addMessage가()'에서 호출하는 경우에도 함께 오류를 얻을 ... 다음 또한 다이제스트 이메일 등으로 표시됩니다 것을 통해 사용자에게 메시지를 펌핑, 채팅을 활용 수 있습니다 변경을 보관 유지할 때의 트리거. 다른 솔루션들도 실행 가능하다고 들리지만 실제로는 사용자가 다른 곳으로 이동하는 대신 사용자에게 표시되도록 메시지를 표시하고 싶습니다. –
방아쇠가 어떻게 작동합니까? 레코드를 갱신하고 예를 들어 저장하는 중입니까? 사용자가 Chatter 데스크톱을 실행 한 다음 화면에 비동기 프로세스가있는 경우 화면에 메시지를 표시 할 수있는 방법이 없다고 생각합니다. 그러면 사용자가 해당 경로로 이동하면 스트림이 업데이트 될 때 알림이 표시됩니다. –
그래, 그들은 단지 리드와 타격 세이브를 편집하고있다. 에러는'addMessage()'는 오직 visualForce 페이지에서만 호출 될 수 있다고 말한다. Chatter 접근법에 대한 좋은 지적; 나는 중개인이 그것을 사용하고 있는지를 점검 할 것입니다. 그렇다면 잘 작동 할 것입니다. Chatter에 사물을 주입하는 방법에 대해 적절한 문서를 가르쳐 주시겠습니까? –