{
  "title": "Codeunit 950 Time Sheet Management",
  "url": "https://jonas-paprotka.de/ref/codeunit/950-time-sheet-management/",
  "author": "Jonas Paprotka",
  "license": "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link.",
  "subject": "Microsoft Dynamics 365 Business Central",
  "checked": "2026-09-20",
  "source": {
    "feed": "https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json",
    "package": "Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972",
    "build": "28.5.54151.54365",
    "code": {
      "29": {
        "url": "https://jonas-paprotka.de/ref/codeunit/950-time-sheet-management/source/29/",
        "repo": "https://github.com/microsoft/BCApps",
        "branch": "releases/29.x",
        "commit": "a66254c3b8b5bb1cea290dc8f9d097aec4381153",
        "path": "src/Layers/W1/BaseApp/Projects/TimeSheet/TimeSheetManagement.Codeunit.al",
        "license": "MIT"
      }
    },
    "note": "Presence per major, highest build of each; 17 is the oldest major on the feed. Local procedures are not listed."
  },
  "object": {
    "type": "codeunit",
    "id": 950,
    "name": "Time Sheet Management",
    "app": "Base Application",
    "appByVersion": [
      {
        "app": "Base Application",
        "from": 17
      }
    ],
    "nameByVersion": [
      {
        "name": "Time Sheet Management",
        "from": 17
      }
    ],
    "namespace": "Microsoft.Projects.TimeSheet",
    "versions": "17-28",
    "majors": [
      17,
      18,
      19,
      20,
      21,
      22,
      23,
      24,
      25,
      26,
      27,
      28
    ],
    "extends": null,
    "sourceTable": null,
    "sourceFile": "Projects/TimeSheet/TimeSheetManagement.Codeunit.al",
    "obsolete": null,
    "obsoleteSeenFrom": null,
    "byVersion": {
      "17": {
        "app": "base-application",
        "name": "Time Sheet Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 53,
          "values": 0
        },
        "stub": false
      },
      "18": {
        "app": "base-application",
        "name": "Time Sheet Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 53,
          "values": 0
        },
        "stub": false
      },
      "19": {
        "app": "base-application",
        "name": "Time Sheet Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 63,
          "values": 0
        },
        "stub": false
      },
      "20": {
        "app": "base-application",
        "name": "Time Sheet Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 65,
          "values": 0
        },
        "stub": false
      },
      "21": {
        "app": "base-application",
        "name": "Time Sheet Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 66,
          "values": 0
        },
        "stub": false
      },
      "22": {
        "app": "base-application",
        "name": "Time Sheet Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 69,
          "values": 0
        },
        "stub": false
      },
      "23": {
        "app": "base-application",
        "name": "Time Sheet Management",
        "ns": "Microsoft.Projects.TimeSheet",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 73,
          "values": 0
        },
        "stub": false
      },
      "24": {
        "app": "base-application",
        "name": "Time Sheet Management",
        "ns": "Microsoft.Projects.TimeSheet",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 83,
          "values": 0
        },
        "stub": false
      },
      "25": {
        "app": "base-application",
        "name": "Time Sheet Management",
        "ns": "Microsoft.Projects.TimeSheet",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 89,
          "values": 0
        },
        "stub": false
      },
      "26": {
        "app": "base-application",
        "name": "Time Sheet Management",
        "ns": "Microsoft.Projects.TimeSheet",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 89,
          "values": 0
        },
        "stub": false
      },
      "27": {
        "app": "base-application",
        "name": "Time Sheet Management",
        "ns": "Microsoft.Projects.TimeSheet",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 91,
          "values": 0
        },
        "stub": false
      },
      "28": {
        "app": "base-application",
        "name": "Time Sheet Management",
        "ns": "Microsoft.Projects.TimeSheet",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 78,
          "values": 0
        },
        "stub": false
      }
    },
    "fields": [],
    "keys": [],
    "procedures": [
      {
        "name": "FilterTimeSheets",
        "sig": "(var Record Time Sheet Header, Integer)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckTimeSheetNo",
        "sig": "(var Record Time Sheet Header, Code[20])",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SetTimeSheetNo",
        "sig": "(Code[20], var Record Time Sheet Line)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "LookupOwnerTimeSheet",
        "sig": "(var Code[20], var Record Time Sheet Line, var Record Time Sheet Header)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "LookupApproverTimeSheet",
        "sig": "(var Code[20], var Record Time Sheet Line, var Record Time Sheet Header)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "FormatDate",
        "sig": "(Date, Option)",
        "returns": "Text[30]",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text[30]",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckAccPeriod",
        "sig": "(Date)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckResourceTimeSheetOwner",
        "sig": "(Code[50], Code[20])",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CalcStatusFactBoxData",
        "sig": "(var Record Time Sheet Header, var Decimal, var Decimal, var Decimal, var Decimal, var Decimal, var Decimal)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CalcActSchedFactBoxData",
        "sig": "(Record Time Sheet Header, var Text[30], var Text[30], var Text[30], var Decimal, var Decimal)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "FormatActualSched",
        "sig": "(Decimal, Decimal)",
        "returns": "Text[30]",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text[30]",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "FilterTimeSheetsArchive",
        "sig": "(var Record Time Sheet Header Archive, Integer)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckTimeSheetArchiveNo",
        "sig": "(var Record Time Sheet Header Archive, Code[20])",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SetTimeSheetArchiveNo",
        "sig": "(Code[20], var Record Time Sheet Line Archive)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "LookupOwnerTimeSheetArchive",
        "sig": "(var Code[20], var Record Time Sheet Line Archive, var Record Time Sheet Header Archive)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "LookupApproverTimeSheetArchive",
        "sig": "(var Code[20], var Record Time Sheet Line Archive, var Record Time Sheet Header Archive)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CalcSummaryArcFactBoxData",
        "sig": "(Record Time Sheet Header Archive, var Text[30], var Decimal, var Decimal, var Decimal)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "MoveTimeSheetToArchive",
        "sig": "(Record Time Sheet Header)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CopyPrevTimeSheetLines",
        "sig": "(Record Time Sheet Header)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CalcPrevTimeSheetLines",
        "sig": "(Record Time Sheet Header)",
        "returns": "Integer",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Integer",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateLinesFromJobPlanning",
        "sig": "(Record Time Sheet Header)",
        "returns": "Integer",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Integer",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CalcLinesFromJobPlanning",
        "sig": "(Record Time Sheet Header)",
        "returns": "Integer",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Integer",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "FindTimeSheet",
        "sig": "(var Record Time Sheet Header, Option)",
        "returns": "Code[20]",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Code[20]",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "FindTimeSheetArchive",
        "sig": "(var Record Time Sheet Header Archive, Option)",
        "returns": "Code[20]",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Code[20]",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetDateFilter",
        "sig": "(Date, Date)",
        "returns": "Text[30]",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text[30]",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateServDocLinesFromTS",
        "sig": "(Record Service Header)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServTimeSheetMgt",
          "tag": "25.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "17-27",
        "first": 17,
        "last": 27,
        "obsoleteSince": 25,
        "spans": [
          {
            "from": 17,
            "to": 24,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServTimeSheetMgt",
              "tag": "25.0"
            }
          }
        ]
      },
      {
        "name": "CreateServDocLinesFromTSLine",
        "sig": "(Record Service Header, var Record Time Sheet Line)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServTimeSheetMgt",
          "tag": "25.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "17-27",
        "first": 17,
        "last": 27,
        "obsoleteSince": 25,
        "spans": [
          {
            "from": 17,
            "to": 24,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServTimeSheetMgt",
              "tag": "25.0"
            }
          }
        ]
      },
      {
        "name": "CreateTSLineFromServiceLine",
        "sig": "(Record Service Line, Code[20], Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServTimeSheetMgt",
          "tag": "25.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "17-27",
        "first": 17,
        "last": 27,
        "obsoleteSince": 25,
        "spans": [
          {
            "from": 17,
            "to": 24,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServTimeSheetMgt",
              "tag": "25.0"
            }
          }
        ]
      },
      {
        "name": "CreateTSLineFromServiceShptLine",
        "sig": "(Record Service Shipment Line)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServTimeSheetMgt",
          "tag": "25.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "17-27",
        "first": 17,
        "last": 27,
        "obsoleteSince": 25,
        "spans": [
          {
            "from": 17,
            "to": 24,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServTimeSheetMgt",
              "tag": "25.0"
            }
          }
        ]
      },
      {
        "name": "CreateTSLineFromAssemblyLine",
        "sig": "(Record Assembly Header, Record Assembly Line, Decimal)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateTSPostingEntry",
        "sig": "(Record Time Sheet Detail, Decimal, Date, Code[20], Text[100])",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckResJnlLine",
        "sig": "(Record Res. Journal Line)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckJobJnlLine",
        "sig": "(Record Job Journal Line)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckServiceLine",
        "sig": "(Record Service Line)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServTimeSheetMgt",
          "tag": "25.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "17-27",
        "first": 17,
        "last": 27,
        "obsoleteSince": 25,
        "spans": [
          {
            "from": 17,
            "to": 24,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServTimeSheetMgt",
              "tag": "25.0"
            }
          }
        ]
      },
      {
        "name": "CopyFilteredTimeSheetLinesToBuffer",
        "sig": "(var Record Time Sheet Line, var Record Time Sheet Line)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "UpdateTimeAllocation",
        "sig": "(Record Time Sheet Line, Decimal)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetActivityInfo",
        "sig": "(Record Time Sheet Line, var Text[30], var Code[20], var Text[30], var Code[20])",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ShowPostingEntries",
        "sig": "(Code[20], Integer)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "FindNearestTimeSheetStartDate",
        "sig": "(Date)",
        "returns": "Date",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Date",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "TimeSheetV2Enabled",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Remove old time sheet experience.",
          "tag": "22.0"
        },
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "19-24",
        "first": 19,
        "last": 24,
        "obsoleteSince": 22,
        "spans": [
          {
            "from": 19,
            "to": 21,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 22,
            "to": 24,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Remove old time sheet experience.",
              "tag": "22.0"
            }
          }
        ]
      },
      {
        "name": "FilterAllTimeSheetLines",
        "sig": "(var Record Time Sheet Line, Option)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetTimeSheetDataCaption",
        "sig": "(Record Time Sheet Header)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckCopyPrevTimeSheetLines",
        "sig": "(Record Time Sheet Header)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckCreateLinesFromJobPlanning",
        "sig": "(Record Time Sheet Header)",
        "returns": "Integer",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "Integer",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetTimeSheetV2FeatureKey",
        "sig": "()",
        "returns": "Text[50]",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          22,
          23,
          24
        ],
        "range": "22-24",
        "first": 22,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 22,
            "to": 24,
            "returns": "Text[50]",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsUserTimeSheetAdmin",
        "sig": "(Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "FilterTimeSheets",
        "sig": "(var Record Time Sheet Header, Integer, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckTimeSheetLineFieldsVisible",
        "sig": "(var Boolean, var Boolean, var Boolean, var Boolean, var Boolean, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SelectAndCopyTimeSheetLines",
        "sig": "(Record Time Sheet Header, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CalcActSchedFactBoxData",
        "sig": "(Record Time Sheet Header, var Text[30], var Text[30], var Text[30], var Decimal, var Decimal, var Decimal)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          25,
          26,
          27,
          28
        ],
        "range": "25-28",
        "first": 25,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateTSLineFromDocLine",
        "sig": "(Integer, Code[20], Date, Code[20], Code[20], Integer, Code[10], Boolean, Text[100], Decimal)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          25,
          26,
          27,
          28
        ],
        "range": "25-28",
        "first": 25,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckTSLineDetailPosting",
        "sig": "(Code[20], Integer, Date, Decimal, Decimal, var Decimal)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          25,
          26,
          27,
          28
        ],
        "range": "25-28",
        "first": 25,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeCreateTSLineFromServiceLine",
        "sig": "(var Record Service Line, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          25,
          26,
          27
        ],
        "range": "25-27",
        "first": 25,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeCreateTSLineFromServiceShptLine",
        "sig": "(var Record Service Shipment Line, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          25,
          26,
          27
        ],
        "range": "25-27",
        "first": 25,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeAddServLinesFromTSDetail",
        "sig": "(Record Service Header, var Record Time Sheet Detail, Integer, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          25,
          26,
          27
        ],
        "range": "25-27",
        "first": 25,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnAddServLinesFromTSDetailOnBeforeInsertServiceLine",
        "sig": "(var Record Service Line, var Integer, Record Service Header, Record Time Sheet Detail)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          25,
          26,
          27
        ],
        "range": "25-27",
        "first": 25,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      }
    ],
    "events": [
      {
        "name": "OnAfterCalcActSchedFactBoxData",
        "sig": "(var Record Time Sheet Header, var Text, var Decimal, var Decimal)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterCreateTSPostingEntry",
        "sig": "(Record Time Sheet Detail, var Record Time Sheet Posting Entry)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterCopyPrevTimeSheetLines",
        "sig": "()",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnCheckInsertJobPlanningLine",
        "sig": "(Record Job Planning Line, var Record Job Planning Line, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnCopyPrevTimeSheetLinesOnBeforeCopyLine",
        "sig": "(var Record Time Sheet Line, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeCreateTSLineFromServiceLine",
        "sig": "(var Record Service Line, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServTimesheetMgt",
          "tag": "25.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "17-27",
        "first": 17,
        "last": 27,
        "obsoleteSince": 25,
        "spans": [
          {
            "from": 17,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServTimesheetMgt",
              "tag": "25.0"
            }
          }
        ]
      },
      {
        "name": "OnBeforeCreateTSLineFromServiceShptLine",
        "sig": "(var Record Service Shipment Line, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServTimesheetMgt",
          "tag": "25.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "17-27",
        "first": 17,
        "last": 27,
        "obsoleteSince": 25,
        "spans": [
          {
            "from": 17,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServTimesheetMgt",
              "tag": "25.0"
            }
          }
        ]
      },
      {
        "name": "OnBeforeFillJobPlanningBuffer",
        "sig": "(var Record Job Planning Line, var Record Job Planning Line, Record Time Sheet Header, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeFilterTimeSheets",
        "sig": "(var Record Time Sheet Header, Integer, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23
        ],
        "range": "17-23",
        "first": 17,
        "last": 23,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 23,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeToTimeSheetLineInsert",
        "sig": "(var Record Time Sheet Line, Record Time Sheet Line)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnCreateLinesFromJobPlanningOnBeforeTimeSheetLineInsert",
        "sig": "(var Record Time Sheet Line, var Record Job Planning Line)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterGetActivityInfo",
        "sig": "(var Record Time Sheet Line, var Text[30], var Code[20], var Text[30], var Code[20])",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnFillJobPlanningBufferOnBeforeJobPlanningLineBufferInsert",
        "sig": "(Record Job Planning Line, var Record Job Planning Line)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnGetActivityInfoCaseTypeElse",
        "sig": "(var Record Time Sheet Line, var Text[30], var Code[20], var Text[30], var Code[20])",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterFilterAllLines",
        "sig": "(var Record Time Sheet Line, Option)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterTimeSheetV2Enabled",
        "sig": "(var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Remove old time sheet experience.",
          "tag": "22.0"
        },
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "19-24",
        "first": 19,
        "last": 24,
        "obsoleteSince": 22,
        "spans": [
          {
            "from": 19,
            "to": 21,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 22,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Remove old time sheet experience.",
              "tag": "22.0"
            }
          }
        ]
      },
      {
        "name": "OnCalcStatusFactBoxDataOnAfterTimeSheetHeaderSetFilters",
        "sig": "(var Record Time Sheet Header)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnCalcActSchedFactBoxDataOnAfterTimeSheetHeaderSetFilters",
        "sig": "(var Record Time Sheet Header, Record Date)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnCalcActSchedFactBoxDataOnBeforeResouceCalcFields",
        "sig": "(var Record Resource, Record Date)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeCheckJobJnlLine",
        "sig": "(var Record Job Journal Line, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnFindTimeSheetArchiveOnAfterSetFilters",
        "sig": "(var Record Time Sheet Header Archive)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeCheckResJnlLine",
        "sig": "(Record Res. Journal Line, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "21-28",
        "first": 21,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 21,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeAddServLinesFromTSDetail",
        "sig": "(Record Service Header, var Record Time Sheet Detail, Integer, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServTimesheetMgt",
          "tag": "25.0"
        },
        "majors": [
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "22-27",
        "first": 22,
        "last": 27,
        "obsoleteSince": 25,
        "spans": [
          {
            "from": 22,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServTimesheetMgt",
              "tag": "25.0"
            }
          }
        ]
      },
      {
        "name": "OnCalcActSchedFactBoxDataOnAfterSetDateDescription",
        "sig": "(Record Time Sheet Header, Record Date, var Text[30])",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "22-28",
        "first": 22,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 22,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeTimeSheetHeaderArchiveInsert",
        "sig": "(var Record Time Sheet Header Archive, Record Time Sheet Header)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "23-28",
        "first": 23,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 23,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeTimeSheetLineArchiveInsert",
        "sig": "(var Record Time Sheet Line Archive, Record Time Sheet Line)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "23-28",
        "first": 23,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 23,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeTimeSheetDetailArchiveInsert",
        "sig": "(var Record Time Sheet Detail Archive, Record Time Sheet Detail)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "23-28",
        "first": 23,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 23,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeTimeSheetCmtLineArchiveInsert",
        "sig": "(var Record Time Sheet Cmt. Line Archive, Record Time Sheet Comment Line)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "23-28",
        "first": 23,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 23,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeFilterTimeSheets",
        "sig": "(var Record Time Sheet Header, Integer, Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeCopyTimeSheetLine",
        "sig": "(var Record Time Sheet Header, var Record Time Sheet Line, Boolean, var Integer, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeCopyTimeSheetLineArchive",
        "sig": "(var Record Time Sheet Header, var Record Time Sheet Line Archive, Boolean, var Integer, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterCheckTimeSheetLineFieldsVisible",
        "sig": "(var Boolean, var Boolean, var Boolean, var Boolean, var Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAddServLinesFromTSDetailOnBeforeInsertServiceLine",
        "sig": "(var Record Service Line, var Integer, Record Service Header, Record Time Sheet Detail)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServTimesheetMgt",
          "tag": "25.0"
        },
        "majors": [
          24,
          25,
          26,
          27
        ],
        "range": "24-27",
        "first": 24,
        "last": 27,
        "obsoleteSince": 25,
        "spans": [
          {
            "from": 24,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServTimesheetMgt",
              "tag": "25.0"
            }
          }
        ]
      },
      {
        "name": "OnBeforeTimeSheetDetailInsert",
        "sig": "(var Record Time Sheet Detail, Record Time Sheet Detail, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnCopyTimeSheetLineArchiveOnBeforeToTimeSheetLineInsert",
        "sig": "(var Record Time Sheet Line, Record Time Sheet Line Archive)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeCheckTimeSheetLineFieldsVisible",
        "sig": "(var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          25,
          26,
          27,
          28
        ],
        "range": "25-28",
        "first": 25,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnCreateTSLineFromDocLineOnBeforeTimeSheetLineInsert",
        "sig": "(var Record Time Sheet Line, Integer, Code[20], Integer)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          25,
          26,
          27,
          28
        ],
        "range": "25-28",
        "first": 25,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeCheckAccPeriod",
        "sig": "(Date, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          27,
          28
        ],
        "range": "27-28",
        "first": 27,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 27,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeCopyTimeSheetLineArchiveDetails",
        "sig": "(var Record Time Sheet Line Archive, var Record Time Sheet Line, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          27,
          28
        ],
        "range": "27-28",
        "first": 27,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 27,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      }
    ],
    "values": []
  }
}