다음을 통해 공유


작업 기록 정의

이 문서에서는 프로젝트 기록 테이블의 Dataverse에 저장된 작업 기록 레코드의 정의를 설명합니다. 작업 기록 레코드는 작업의 변경 사항을 나타냅니다.

"형식 편집"은 기록 레코드의 형식을 정의합니다.

구문 설명
작업만들기 는 작업을 만들 때 를 나타냅니다.
TaskEdited 는 작업을 편집할 때 를 나타냅니다.
TaskDeleted 는 작업이 삭제된 시기를 나타냅니다.
취소 는 변경 내용이 실행 취소된 시기를 나타냅니다.
다시 는 변경 내용이 다시 실행된 시기를 나타냅니다.
DependentEdit 는 다른 작업 변경으로 인해 작업이 수정된 시기를 나타냅니다.

기록 레코드

모든 기록 레코드는 다음과 같은 공통 필드 집합을 공유합니다.

필드 설명
Project 기록이 관련된 프로젝트
프로젝트 작업 기록과 관련된 작업입니다. 작업이 삭제되면 비어 있습니다.
XrmUserId 작업을 변경한 Xrm 사용자
Timestamp 변경 내용이 생성된 날짜 및 시간
형식 편집 기록 레코드의 형식
세부 정보 기록 데이터를 JSON 형식으로 포함

다음 섹션에서는 기록 레코드의 유형과 편집된 내용에 따라 세부 정보 페이로드 필드에 포함된 내용을 설명합니다. 세부 정보 내의 열에 대한 설명은 프로젝트 콘텐츠 정의 내보내기를 검토하세요.

작업만들기 세부 정보

레코드는 작업을 만들 때 만들어집니다. 페이로드가 비어 있습니다.

TaskDeleted 세부 정보

삭제된 작업의 이름인 단일 속성 "name"을 포함합니다.

예제:

{"name":"Pour concrete"}

세부 정보 실행 취소/다시 실행

실행 취소되거나 다시 실행된 모든 수정 번호를 포함하는 배열 값이 있는 "revisions" 속성입니다. 이 숫자는 기록 레코드의 수정 속성에 있는 접미사에 해당합니다.

예제:

{"revisions":[11,12]}

다음에서 수정 레코드 접미사(0000000011)가 있는 기록 레코드와 일치하는 항목입니다.

msxrm\_orgxxxyyyy.crm.dynamics.com\_ff69bc0e-3f66-41c3-b40c-aa3035517e38\_0000000011

TaskEdited 세부 정보

TaskEdited는 태스크에 대한 직접 속성 편집을 나타내며 검사 목록 항목, 첨부 파일, 할당, 링크 등과 같은 모든 작업 자식 항목에 대해 직접 속성 편집을 만들고 삭제하고 편집합니다.

직접 작업 필드 편집

세부 정보에는 JSON 개체 값이 있는 "field" 속성이 있습니다. 해당 개체에는 변경된 속성 이름이 키로 있으며(단일 사용자 작업에서 여러 작업 속성이 편집될 수 있음) 개체를 값으로 사용합니다. 해당 속성 개체에는 속성의 이전 값과 새 값이 있는 값이 있는 "이전" 및 "업데이트된" 키가 있습니다.

예제:

{
  "fields": {
    "name": {
      "previous": "Pour concrete",
      "updated": "Eat donuts"
    }
  }
}

큰 속성(예: 노트 할당 "totalWorkContour")의 경우 이전/업데이트된 값이 아닌 빈 JSON이 내보내집니다.

예제:

 {
  "fields": {
    "notes": {}
  }
}

작업을 완료하는 작업 편집

작업을 완료하는 모든 속성 편집은 완료된 부울 속성도 추가합니다.

예제:

{
  "fields": {
    "percentComplete": {
      "previous": 75,
      "updated": 100
    }
  },
  "completed": true
}

작업 자식 요소 편집

자식 요소는 필드 편집과 비슷하지만 키는 탐색 속성 이름이고 값은 배열입니다. 배열의 항목을 만들거나("created":true 속성 포함), 삭제("deleted":true 속성) 또는 편집(만들거나 삭제하지 않고 편집된 속성 목록)할 수 있습니다. 생성되거나 삭제된 자식 요소에는 속성에 직접 설정된 값으로 항목을 렌더링하는 데 필요한 최소 속성 집합이 있습니다. 편집은 이전 및 업데이트된 값을 사용하여 작업에서 필드 편집과 동일한 형식을 갖습니다.

만들기 예제:

{
  "fields": {
    "checklistItems": [
      {
        "id": "f4be3c03-bc04-ee11-83c4-e04f43e61e09",
        "created": true,
        "name": "checklistItem1"
      }
    ]
  }
}

예제 편집:

{
  "fields": {
    "checklistItems": [
      {
        "id": "54219e93-bd04-ee11-83c4-e04f43e61e09",
        "completed": {
          "previous": false,
          "updated": true
        }
      }
    ]
  }
}

생성 및 삭제에 대한 포함된 속성

만들고 삭제할 때 간단한 작업 자식 요소(예: 검사 목록 항목, 첨부 파일)의 경우 해당 항목을 렌더링하는 데 필요한 모든 속성이 포함됩니다. 검사 목록 항목에는 이름 및 첨부 파일에 이름, URI 및 형식이 포함됩니다.

다른 엔터티 간의 관계인 모든 자식 요소에는 다른 엔터티의 ID가 포함됩니다. 예를 들어 할당에는 resourceId가 포함되고 링크에는 predecessorId가 포함됩니다.

DependentEdit 세부 정보

다른 작업을 변경하면 현재 작업이 수정되는 경우 작업에 대한 종속 편집 레코드가 생성됩니다. 기록 레코드에는 현재 작업의 변경 내용과 현재 작업을 수정한 원본 작업의 변경 내용을 나타내는 sourceEdit 속성이 포함됩니다.

예: 링크가 현재 작업에 다른 작업(원본)에 추가되고 현재 작업 시작 날짜가 하루 밖으로 이동됩니다.

{
  "fields": {
    "start": {
      "previous": "2015-11-17T08:00:00Z",
      "updated": "2015-11-18T08:00:00Z"
    }
  },
  "sourceEdit": {
    "type": "TaskEdited",
    "taskId": "a6f33356-cd04-ee11-83c4-e04f43e61e09",
    "fields": {
      "predecessors": [
        {
          "id": "abf33356-cd04-ee11-83c4-e04f43e61e09",
          "created": true,
          "predecessorId": "a4f33356-cd04-ee11-83c4-e04f43e61e09"
        }
      ]
    }
  }
}

여러 원본 편집

대량 작업은 한 번에 여러 작업을 변경할 수 있으며 여러 개의 의존적 변경으로 이어질 수 있습니다. 이 시나리오에서 대량 작업의 작업은 CompoundEdit 레코드 형식을 사용하여 sourceEdit에 포함됩니다. 이러한 시나리오의 예로는 여러 태스크 삭제, 여러 작업 연결, 여러 작업 들여쓰기 등이 있습니다. CompoundEdit 레코드에는 편집 횟수와 처음 세 번의 편집이 포함됩니다.

예시

{
  "fields": {
    "start": {
      "previous": "2015-11-17T08:00:00Z",
      "updated": "2015-11-16T08:00:00Z"
    }
  },
  "sourceEdit": {
    "type": "CompoundEdit",
    "count": 2,
    "edits": [
      {
        "type": "TaskDeleted",
        "taskId": "f3233655-ce04-ee11-83c4-e04f43e61e09",
        "name": "Task A"
      },
      {
        "type": "TaskDeleted",
        "taskId": "f1233655-ce04-ee11-83c4-e04f43e61e09",
        "name": "Task B"
      }
    ]
  }
}

요약 작업 편집

작업 삭제 또는 작업 들여쓰기와 같은 특정 작업은 편집된 작업이 요약 작업인 경우 여러 레코드를 생성할 수 있습니다. 이러한 편집은 작업의 자식에도 적용되기 때문입니다. 모든 종속 레코드에는 요약 작업이 sourceEdit로 포함됩니다.

레코드 크기

세부 정보 필드의 최대 크기는 1000자입니다. 초기 변경 레코드가 1000자를 초과하면 기록 레코드가 잘립니다. 모든 문자열 변경 내용은 100자로 제한되며 변경된 필드 수는 6자로 제한됩니다. "잘린" 속성은 포함되지 않은 직접 필드 수를 나타냅니다. "truncatedElements" 속성은 기록되지 않은 자식 요소의 수를 나타냅니다.

위의 제한이 있는 레코드의 크기가 1000자를 초과하면 전체 레코드가 생성되지 않습니다.

예시

{
  "fields": {
    "start": {
      "previous": "2015-11-17T08:00:00Z",
      "updated": "2015-11-10T08:00:00Z"
    }
  },
  "sourceEdit": {
    "type": "CompoundEdit",
    "count": 2,
    "edits": [
      {
        "type": "TaskEdited",
        "taskld": "225a7a3b-a916-ee11-a35f-480fcf4e7967",
        "fields": {
          "name": {
            "previous": "Prepare Preliminary Project Scope Statement",
            "updated": "Summarize Project Results and Lessons Learned"
          },
          "start": {
            "previous": "2015-11-16T08:00:00Z",
            "updated": "2017-11-16T08:00: 00Z"
          },
          "truncated": 5
        }
      },
      {
        "type": "TaskEdited",
        "taskld": "245a7a3b-a916-ee11-a35f-480fcf4e7967",
        "fields": {
          "name": {
            "previous": "Prepare Preliminary Project Scope Statement",
            "updated": "Develop High Level Work Breakdown Structure"
          },
          "start": {
            "previous": "2015-11-16T08:00:00Z",
            "updated": "2017-11-16T08:00:00Z"
          },
          "truncated": 5
        }
      }
    ]
  }
}