2009-07-08 2 views
1

워크 플로 내에서 여러 개의 목록 항목을 만들고 해당 항목에서 워크 플로 기록을 볼 수 있어야하는 경우가 있습니다.여러 SPListItem의 워크 플로 기록을 공유하는 방법은 무엇입니까?

문제 컨텍스트 : 되풀이 모임에서 일정 항목이 추가되었습니다. 일부 항목은 "열린"상태이고 일부 항목은 "닫힌 상태"입니다. 열려있는 사람들은 회의를 계속해서 의제 목록에 올릴 수있는 능력을 가지고 있습니다. 사용자가 워크 플로에서 항목을 계속 선택하면 새 항목이 만들어집니다.

결과가

, 우리가

같은 항목을 순서
  • 1 일 : "문제 A를 토론"(상위 항목 필드 값 : NULL)
  • 주 2 : "문제 A.1 토론"("문제 A.2 토론"(상위 항목 필드 값 : ID
  • 3 일) 문제 토론의 : 상위 항목 필드 값 문제 A.1 토론 ID의)

것은 내가 원하는입니다 워크 플로 기록에서이 내용을 추적 할 수 있어야합니다. 모든 항목에서 볼 수 있습니다. 따라서 워크 플로에서 다른 모든 항목과 동일한 상태 여야합니다.

모든 항목에 동일한 워크 플로를 할당하는 방법에 대한 아이디어가 있습니까?

답변

0

내가 아는 한, 여러 항목에 대해 하나의 워크 플로우를 실행할 수 없습니다. 각 워크 플로 은 항상이 하나의 항목의 컨텍스트에서 실행됩니다.

나는 모든 일정 목록 항목의 기록을 관리하기 위해 다른 목록 (아래 AgendaHistory)을 사용하는 것이 좋습니다. 일정 항목이 생성 될 때마다 상위 항목이없는 경우 새 ID를 만듭니다. 새 일정 목록 항목에 부모가있는 경우 부모의 ID를 사용합니다. ID는 모든 의제 항목에 대한 내역을 조회하는 데 사용됩니다.

그런 다음 모든 일정 항목에 대해 특정 스레드에 대한 기록을 표시하는 페이지에 연결하기 만하면됩니다. 이 페이지에는 Query String Filter 웹 파트를 사용하여 Agenda ID를 필터링하는 List View 웹 파트가있을 수 있습니다. 예를 들어

는 :

  1. 사용자가 생성 의제 "문제 A"
  2. 워크 플로우 의제 "문제 A"를 결정 AgendaHistory리스트에 부모와 로그가 없습니다 : AgendaID : 1, 제목 : 의제를 item "문제 A"가 생성되었습니다! 페이지/MyHistoryPage.aspx? AgendaID = 1
  3. 사용자에게 링크
  4. 플로 업데이트 의제 "문제 A"는 의제 "문제 A.1"을 생성
  5. 워크 플로 의제 "문제 A.1을"결정 부모와 로그가 있습니다. AgendaHistory 목록 : AgendaID : 1, 제목 : 의제 항목 "Problem A.1"이 생성되었습니다! 페이지/MyHistoryPage.aspx? AgendaID = 1
  6. 사용자에 대한 링크
  7. 워크 플로 업데이트 의제 "문제 A.1은"
  8. 워크 플로우가 의제를 결정한다 "관련없는 문제가"더있다 "관련없는 문제"의제를 만들지 않습니다 부모와 로그를 AgendaHistory 목록에 넣으십시오 : AgendaID : 2, 제목 : 의제 항목 "Unrelated Problem"이 생성되었습니다!에 대한 링크
  9. 워크 플로 업데이트 의제 "관련없는 문제"페이지/MyHistoryPage.aspx? AgendaID = 2
  10. ....
+0

이 솔루션은 매우 잘 작동합니다. 아이디어를 가져 주셔서 감사합니다. –

관련 문제