共用方式為


工作歷程記錄定義

本文說明儲存在 [專案歷程記錄] 資料表之 Dataverse 中的工作歷程記錄定義。 工作歷程記錄代表任務的變更。

「編輯類型」會定義記錄的類型。

語法 描述
TaskCreated 表示建立工作的時間
TaskEdited 表示編輯工作時
TaskDeleted 表示刪除工作時
Undo 表示變更已復原時
取消復原 表示變更已重做時
DependentEdit 表示工作因為另一個任務的變更而修改的時間

記錄記錄

所有記錄記錄共用一組通用欄位,包括:

欄位 描述
Project 歷程記錄相關的專案
專案工作 歷程記錄相關的工作。 如果工作已刪除,則為空白
XrmUserId 對工作進行變更的 Xrm 使用者
時間戳記 產生變更的日期和時間
編輯類型 記錄的類型
詳細資料 包含 JSON 格式的歷程記錄資料

下列各節說明 [詳細資料承載] 欄位包含的內容,視歷程記錄的類型和編輯的內容而定。 如需詳細資料中資料行的描述,請檢閱 匯出專案內容定義

TaskCreated 詳細資料

建立工作時會建立記錄。 承載是空的。

TaskDeleted 詳細資料

包含單一屬性 「name」,這是刪除工作時的工作名稱。

範例:

{"name":"Pour concrete"}

復原/取消復原詳細資料

「revisions」 屬性,其中包含保存已復原或重做之所有修訂編號的陣列值。 數位會對應至歷程記錄修訂屬性中的尾碼。

範例:

{"revisions":[11,12]}

符合歷程記錄尾碼 (00000000011 的記錄記錄) :

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

TaskEdited 詳細資料

TaskEdited 代表工作的直接屬性編輯,並建立、刪除和編輯任何工作子專案,例如檢查清單專案、附件、指派、連結等等。

直接工作欄位編輯

詳細資料具有具有 JSON 物件值的 「field」 屬性。 該物件具有已變更的屬性名稱做為索引鍵 (單一使用者動作) 中可以編輯多個工作屬性,並以 物件作為值。 該屬性物件具有 「previous」 和 「updated」 索引鍵,其值具有屬性的舊值和新值。

範例:

{
  "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 和類型。

任何在其他實體之間具有關聯性的子專案都包含其他實體的識別碼。 例如,指派包括 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
        }
      }
    ]
  }
}