{
  "title": "Codeunit 7000 Sales Price Calc. Mgt.",
  "url": "https://jonas-paprotka.de/ref/codeunit/7000-sales-price-calc-mgt/",
  "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/7000-sales-price-calc-mgt/source/29/",
        "repo": "https://github.com/microsoft/BCApps",
        "branch": "releases/29.x",
        "commit": "a66254c3b8b5bb1cea290dc8f9d097aec4381153",
        "path": "src/Layers/W1/BaseApp/Sales/Pricing/SalesPriceCalcMgt.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": 7000,
    "name": "Sales Price Calc. Mgt.",
    "app": "Base Application",
    "appByVersion": [
      {
        "app": "Base Application",
        "from": 17
      }
    ],
    "nameByVersion": [
      {
        "name": "Sales Price Calc. Mgt.",
        "from": 17
      }
    ],
    "namespace": "Microsoft.Sales.Pricing",
    "versions": "17-28",
    "majors": [
      17,
      18,
      19,
      20,
      21,
      22,
      23,
      24,
      25,
      26,
      27,
      28
    ],
    "extends": null,
    "sourceTable": null,
    "sourceFile": "Sales/Pricing/SalesPriceCalcMgt.Codeunit.al",
    "obsolete": null,
    "obsoleteSeenFrom": 17,
    "byVersion": {
      "17": {
        "app": "base-application",
        "name": "Sales Price Calc. Mgt.",
        "ns": "",
        "obsolete": {
          "state": "Pending",
          "tag": "16.0",
          "reason": "Replaced by the new implementation (V16) of price calculation."
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 112,
          "values": 0
        },
        "stub": false
      },
      "18": {
        "app": "base-application",
        "name": "Sales Price Calc. Mgt.",
        "ns": "",
        "obsolete": {
          "state": "Pending",
          "tag": "16.0",
          "reason": "Replaced by the new implementation (V16) of price calculation."
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 122,
          "values": 0
        },
        "stub": false
      },
      "19": {
        "app": "base-application",
        "name": "Sales Price Calc. Mgt.",
        "ns": "",
        "obsolete": {
          "state": "Pending",
          "tag": "16.0",
          "reason": "Replaced by the new implementation (V16) of price calculation."
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 122,
          "values": 0
        },
        "stub": false
      },
      "20": {
        "app": "base-application",
        "name": "Sales Price Calc. Mgt.",
        "ns": "",
        "obsolete": {
          "state": "Pending",
          "tag": "16.0",
          "reason": "Replaced by the new implementation (V16) of price calculation."
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 124,
          "values": 0
        },
        "stub": false
      },
      "21": {
        "app": "base-application",
        "name": "Sales Price Calc. Mgt.",
        "ns": "",
        "obsolete": {
          "state": "Pending",
          "tag": "16.0",
          "reason": "Replaced by the new implementation (V16) of price calculation."
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 124,
          "values": 0
        },
        "stub": false
      },
      "22": {
        "app": "base-application",
        "name": "Sales Price Calc. Mgt.",
        "ns": "",
        "obsolete": {
          "state": "Pending",
          "tag": "16.0",
          "reason": "Replaced by the new implementation (V16) of price calculation."
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 124,
          "values": 0
        },
        "stub": false
      },
      "23": {
        "app": "base-application",
        "name": "Sales Price Calc. Mgt.",
        "ns": "Microsoft.Sales.Pricing",
        "obsolete": {
          "state": "Pending",
          "tag": "16.0",
          "reason": "Replaced by the new implementation (V16) of price calculation."
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 126,
          "values": 0
        },
        "stub": false
      },
      "24": {
        "app": "base-application",
        "name": "Sales Price Calc. Mgt.",
        "ns": "Microsoft.Sales.Pricing",
        "obsolete": {
          "state": "Pending",
          "tag": "16.0",
          "reason": "Replaced by the new implementation (V16) of price calculation."
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 127,
          "values": 0
        },
        "stub": false
      },
      "25": {
        "app": "base-application",
        "name": "Sales Price Calc. Mgt.",
        "ns": "Microsoft.Sales.Pricing",
        "obsolete": {
          "state": "Pending",
          "tag": "16.0",
          "reason": "Replaced by the new implementation (V16) of price calculation."
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 127,
          "values": 0
        },
        "stub": false
      },
      "26": {
        "app": "base-application",
        "name": "Sales Price Calc. Mgt.",
        "ns": "Microsoft.Sales.Pricing",
        "obsolete": {
          "state": "Pending",
          "tag": "16.0",
          "reason": "Replaced by the new implementation (V16) of price calculation."
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 127,
          "values": 0
        },
        "stub": false
      },
      "27": {
        "app": "base-application",
        "name": "Sales Price Calc. Mgt.",
        "ns": "Microsoft.Sales.Pricing",
        "obsolete": {
          "state": "Pending",
          "tag": "16.0",
          "reason": "Replaced by the new implementation (V16) of price calculation."
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 127,
          "values": 0
        },
        "stub": false
      },
      "28": {
        "app": "base-application",
        "name": "Sales Price Calc. Mgt.",
        "ns": "Microsoft.Sales.Pricing",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 157,
          "values": 0
        },
        "stub": false
      }
    },
    "fields": [],
    "keys": [],
    "procedures": [
      {
        "name": "FindSalesLinePrice",
        "sig": "(Record Sales Header, var Record Sales Line, 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": "FindItemJnlLinePrice",
        "sig": "(var Record Item Journal Line, 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": "FindServLinePrice",
        "sig": "(Record Service Header, var Record Service Line, Integer)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "FindSalesLineLineDisc",
        "sig": "(Record Sales Header, var Record Sales 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": "FindServLineDisc",
        "sig": "(Record Service Header, var Record Service Line)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "FindStdItemJnlLinePrice",
        "sig": "(var Record Standard Item Journal Line, 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": "FindAnalysisReportPrice",
        "sig": "(Code[20], Date)",
        "returns": "Decimal",
        "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": "Decimal",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CalcBestUnitPrice",
        "sig": "(var Record Sales Price)",
        "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": "CalcBestLineDisc",
        "sig": "(var Record Sales Line Discount)",
        "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": "FindSalesPrice",
        "sig": "(var Record Sales Price, Code[20], Code[20], Code[10], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean)",
        "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": "FindSalesLineDisc",
        "sig": "(var Record Sales Line Discount, Code[20], Code[20], Code[20], Code[20], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean)",
        "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": "CopySalesPrice",
        "sig": "(var Record Sales Price)",
        "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": "SetItem",
        "sig": "(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": "SetResPrice",
        "sig": "(Code[20], Code[10], Code[10])",
        "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": "SetCurrency",
        "sig": "(Code[10], Decimal, 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": "SetVAT",
        "sig": "(Boolean, Decimal, Option, 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": "SetUoM",
        "sig": "(Decimal, 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": "SetLineDisc",
        "sig": "(Decimal, Boolean, Boolean)",
        "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": "ConvertPriceToVAT",
        "sig": "(Boolean, Code[20], Code[20], 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": "ConvertPriceLCYToFCY",
        "sig": "(Code[10], 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": "GetSalesLinePrice",
        "sig": "(Record Sales Header, var Record Sales 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": "GetSalesLineLineDisc",
        "sig": "(Record Sales Header, var Record Sales 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": "SalesLinePriceExists",
        "sig": "(var Record Sales Header, var Record Sales Line, Boolean)",
        "returns": "Boolean",
        "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": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SalesLineLineDiscExists",
        "sig": "(var Record Sales Header, var Record Sales Line, Boolean)",
        "returns": "Boolean",
        "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": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetServLinePrice",
        "sig": "(Record Service Header, var Record Service Line)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "GetServLineLineDisc",
        "sig": "(Record Service Header, var Record Service Line)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "ServLinePriceExists",
        "sig": "(Record Service Header, var Record Service Line, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "ServLineLineDiscExists",
        "sig": "(Record Service Header, var Record Service Line, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "ActivatedCampaignExists",
        "sig": "(var Record Campaign Target Group, Code[20], Code[20], Code[20])",
        "returns": "Boolean",
        "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": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "NoOfSalesLinePrice",
        "sig": "(var Record Sales Header, var Record Sales Line, Boolean)",
        "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": "NoOfSalesLineLineDisc",
        "sig": "(var Record Sales Header, var Record Sales Line, Boolean)",
        "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": "NoOfServLinePrice",
        "sig": "(Record Service Header, var Record Service Line, Boolean)",
        "returns": "Integer",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "Integer",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "Integer",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "NoOfServLineLineDisc",
        "sig": "(Record Service Header, var Record Service Line, Boolean)",
        "returns": "Integer",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "Integer",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "Integer",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "FindJobPlanningLinePrice",
        "sig": "(var Record Job Planning Line, 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": "JobPlanningLineFindJTPrice",
        "sig": "(var Record Job Planning 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": "FindJobJnlLinePrice",
        "sig": "(var Record Job Journal Line, 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": "JobJnlLineFindJTPrice",
        "sig": "(var 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": "FindResPrice",
        "sig": "(var 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": "SalesHeaderExchDate",
        "sig": "(Record Sales Header)",
        "returns": "Date",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "18-28",
        "first": 18,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 28,
            "returns": "Date",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SalesHeaderStartDate",
        "sig": "(var Record Sales Header, var Text[30])",
        "returns": "Date",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "18-28",
        "first": 18,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 28,
            "returns": "Date",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ServHeaderExchDate",
        "sig": "(Record Service Header)",
        "returns": "Date",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "18-28",
        "first": 18,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 18,
            "to": 27,
            "returns": "Date",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "Date",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "ServHeaderStartDate",
        "sig": "(Record Service Header, var Text[30])",
        "returns": "Date",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "18-28",
        "first": 18,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 18,
            "to": 27,
            "returns": "Date",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "Date",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "RunOnAfterCalcBestUnitPrice",
        "sig": "(var Record Sales Price, var Record Sales Price)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnAfterCalcBestUnitPriceAsItemUnitPrice",
        "sig": "(var Record Sales Price, var Record Item)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnAfterCalcLineAmount",
        "sig": "(Record Sales Price, var Decimal, var Decimal)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnAfterFindSalesPrice",
        "sig": "(var Record Sales Price, var Record Sales Price, Decimal, Decimal, Code[20], Code[20], Code[10], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnAfterFindSalesLineDisc",
        "sig": "(var Record Sales Line Discount, Code[20], Code[20], Code[20], Code[20], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnAfterFindServLinePrice",
        "sig": "(var Record Service Line, var Record Service Header, var Record Sales Price, var Record Resource Price, var Record Service Cost, Integer)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnAfterFindServLineResPrice",
        "sig": "(var Record Service Line, var Record Resource Price, var Boolean, Integer, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnAfterFindServLineDisc",
        "sig": "(var Record Service Line, var Record Service Header, var Record Sales Line Discount)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnAfterServLinePriceExists",
        "sig": "(var Record Service Line)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnAfterServLineLineDiscExists",
        "sig": "(var Record Service Line)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeCalcBestLineDisc",
        "sig": "(var Record Sales Line Discount, Record Item, var Boolean, Decimal, Decimal)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeCalcBestUnitPrice",
        "sig": "(var Record Sales Price, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeConvertPriceToVAT",
        "sig": "(var Record VAT Posting Setup, var Decimal, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeCopySalesPriceToSalesPrice",
        "sig": "(var Record Sales Price, var Record Sales Price, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeFindSalesPrice",
        "sig": "(var Record Sales Price, var Record Sales Price, var Decimal, var Decimal, var Code[20], var Code[20], var Code[10], var Code[20], var Code[20], var Code[10], var Code[10], var Code[10], var Date, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeFindSalesLineDisc",
        "sig": "(var Record Sales Line Discount, var Code[20], Code[20], var Code[20], var Code[20], var Code[20], var Code[20], var Code[10], var Code[10], var Code[10], var Date, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeFindServLinePrice",
        "sig": "(var Record Service Line, Record Service Header, Integer, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeFindServLineDisc",
        "sig": "(var Record Service Header, var Record Service Line, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeGetServLinePrice",
        "sig": "(Record Service Header, var Record Service Line, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeGetServLineDisc",
        "sig": "(var Record Service Header, var Record Service Line, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeNoOfServLineLineDisc",
        "sig": "(var Record Service Header, var Record Service Line, Boolean, var Integer, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeNoOfServLinePrice",
        "sig": "(var Record Service Header, var Record Service Line, Boolean, var Integer, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeServLinePriceExists",
        "sig": "(var Record Service Line, var Record Service Header, var Record Sales Price, Boolean, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeServLineLineDiscExists",
        "sig": "(var Record Service Line, var Record Service Header, var Record Sales Line Discount, Boolean, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnFindSalesLineDiscOnAfterSetFilters",
        "sig": "(var Record Sales Line Discount)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnBeforeCalcBestUnitPriceConvertPrice",
        "sig": "(var Record Sales Price, var Boolean, Record Item)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnCalcBestUnitPriceOnBeforeCalcBestUnitPriceConvertPrice",
        "sig": "(var Record Sales Price, Decimal, var Boolean, var Record Item)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunOnSetResPriceOnAfterInit",
        "sig": "(var Record Resource Price)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      }
    ],
    "events": [
      {
        "name": "OnAfterCalcBestUnitPrice",
        "sig": "(var Record Sales Price, var Record Sales Price)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "17-27",
        "first": 17,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterCalcBestUnitPriceAsItemUnitPrice",
        "sig": "(var Record Sales Price, var Record Item)",
        "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": "OnAfterCalcLineAmount",
        "sig": "(Record Sales Price, var Decimal)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18
        ],
        "range": "17-18",
        "first": 17,
        "last": 18,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 18,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterCopyJobResPriceToJobJnlLine",
        "sig": "(var Record Job Journal 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": "OnAfterFindItemJnlLinePrice",
        "sig": "(var Record Item Journal Line, var Record Sales Price, Integer, 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": "OnAfterFindJobJnlLineResPrice",
        "sig": "(var Record Job Journal Line, var Record Resource Price)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21
        ],
        "range": "17-21",
        "first": 17,
        "last": 21,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 21,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterFindJobJnlLineLineDisc",
        "sig": "(var Record Job Journal Line, var Record Sales Line Discount)",
        "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": "OnAfterFindJobPlanningLineLineDisc",
        "sig": "(var Record Job Planning Line, var Record Sales Line Discount)",
        "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": "OnAfterFindJobPlanningLineResPrice",
        "sig": "(var Record Job Planning Line, var Record Resource Price)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21
        ],
        "range": "17-21",
        "first": 17,
        "last": 21,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 21,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterFindStdItemJnlLinePrice",
        "sig": "(var Record Standard Item Journal Line, var Record Sales Price, Integer)",
        "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": "OnAfterFindSalesLinePrice",
        "sig": "(var Record Sales Line, var Record Sales Header, var Record Sales Price, var Record Resource Price, Integer)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18
        ],
        "range": "17-18",
        "first": 17,
        "last": 18,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 18,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterFindSalesLineLineDisc",
        "sig": "(var Record Sales Line, var Record Sales Header, var Record Sales Line Discount)",
        "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": "OnAfterFindSalesPrice",
        "sig": "(var Record Sales Price, var Record Sales Price, Decimal, Decimal, Code[20], Code[20], Code[10], Code[20], Code[20], Code[10], Code[10], Code[10], Date, 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": "OnAfterFindSalesLineItemPrice",
        "sig": "(var Record Sales Line, var Record Sales Price, var Boolean, Integer)",
        "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": "OnAfterFindSalesLineResPrice",
        "sig": "(var Record Sales Line, var Record Resource Price)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "17-24",
        "first": 17,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterFindSalesLineDisc",
        "sig": "(var Record Sales Line Discount, Code[20], Code[20], Code[20], Code[20], Code[20], Code[20], Code[10], Code[10], Code[10], Date, 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": "OnAfterFindServLinePrice",
        "sig": "(var Record Service Line, var Record Service Header, var Record Sales Price, var Record Resource Price, var Record Service Cost, Integer)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "OnAfterFindServLineResPrice",
        "sig": "(var Record Service Line, var Record Resource Price)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21
        ],
        "range": "17-21",
        "first": 17,
        "last": 21,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 21,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterFindServLineDisc",
        "sig": "(var Record Service Line, var Record Service Header, var Record Sales Line Discount)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "OnAfterGetSalesLinePrice",
        "sig": "(var Record Sales Header, var Record Sales Line, var Record Sales Price)",
        "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": "OnAfterGetSalesLineLineDisc",
        "sig": "(var Record Sales Line, var Record Sales Line Discount)",
        "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": "OnAfterJobJnlLineFindJTPriceGLAccount",
        "sig": "(var Record Job Journal 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": "OnAfterJobJnlLineFindJTPriceItem",
        "sig": "(var Record Job Journal 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": "OnAfterJobJnlLineFindJTPriceResource",
        "sig": "(var Record Job Journal 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": "OnAfterJobJnlLineLineDiscExists",
        "sig": "(var Record Job Journal 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": "OnAfterJobPlanningLineLineDiscExists",
        "sig": "(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": "OnAfterSalesLineLineDiscExists",
        "sig": "(var Record Sales Line, var Record Sales Header, var Record Sales Line Discount, 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": "OnAfterSalesLinePriceExists",
        "sig": "(var Record Sales Line, var Record Sales Header, var Record Sales Price, 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": "OnAfterServLinePriceExists",
        "sig": "(var Record Service Line)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "OnAfterServLineLineDiscExists",
        "sig": "(var Record Service Line)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "OnBeforeActivatedCampaignExists",
        "sig": "(var Record Campaign Target Group, Code[20], Code[20], Code[20], 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": "OnBeforeCalcBestLineDisc",
        "sig": "(var Record Sales Line Discount, Record Item, var Boolean, Decimal, 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": "OnBeforeCalcBestUnitPrice",
        "sig": "(var Record Sales Price, 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": "OnBeforeConvertPriceToVAT",
        "sig": "(var Record VAT Posting Setup)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17
        ],
        "range": "17",
        "first": 17,
        "last": 17,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 17,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeCopyJobItemPriceToJobJnlLine",
        "sig": "(var Record Job Journal Line, Record Job Item Price, 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": "OnBeforeCopyJobItemPriceToJobPlanLine",
        "sig": "(var Record Job Planning Line, Record Job Item Price, 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": "OnBeforeCopySalesPriceToSalesPrice",
        "sig": "(var Record Sales Price, var Record Sales Price, 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": "OnBeforeFindAnalysisReportPrice",
        "sig": "(Code[20], Date, var Decimal, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "17-24",
        "first": 17,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeFindItemJnlLinePrice",
        "sig": "(var Record Item Journal Line, Integer, 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": "OnBeforeFindJobJnlLinePrice",
        "sig": "(var Record Job Journal Line, Integer, 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": "OnBeforeFindJobPlanningLinePrice",
        "sig": "(var Record Job Planning Line, Integer, 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": "OnBeforeFindJobJnlLineResPrice",
        "sig": "(var Record Job Journal Line, var Record Resource Price)",
        "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": "OnBeforeFindSalesPrice",
        "sig": "(var Record Sales Price, var Record Sales Price, var Decimal, var Decimal, var Code[20], var Code[20], var Code[10], var Code[20], var Code[20], var Code[10], var Code[10], var Code[10], var Date, 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": "OnBeforeFindSalesLinePrice",
        "sig": "(var Record Sales Line, Record Sales Header, Integer, 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": "OnBeforeFindSalesLineDisc",
        "sig": "(var Record Sales Line Discount, var Code[20], Code[20], var Code[20], var Code[20], var Code[20], var Code[20], var Code[10], var Code[10], var Code[10], var Date, 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": "OnBeforeFindSalesLineLineDisc",
        "sig": "(var Record Sales Line, var Record Sales 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": "OnBeforeFindServLinePrice",
        "sig": "(var Record Service Line, Record Service Header, Integer, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "OnBeforeFindServLineDisc",
        "sig": "(var Record Service Header, var Record Service Line, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "OnBeforeFindStdItemJnlLinePrice",
        "sig": "(var Record Standard Item Journal Line, Integer, 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": "OnBeforeGetSalesLinePrice",
        "sig": "(var Record Sales Header, var Record Sales 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": "OnBeforeGetSalesLineLineDisc",
        "sig": "(var Record Sales Header, var Record Sales 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": "OnBeforeGetServLinePrice",
        "sig": "(Record Service Header, var Record Service Line, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "OnBeforeGetServLineDisc",
        "sig": "(var Record Service Header, var Record Service Line, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "OnBeforeJobJnlLineLineDiscExists",
        "sig": "(var Record Job Journal 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": "OnBeforeJobPlanningLineLineDiscExists",
        "sig": "(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": "OnBeforeJobPlanningLineFindJTPrice",
        "sig": "(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": "OnBeforeNoOfSalesLineLineDisc",
        "sig": "(var Record Sales Header, var Record Sales Line, Boolean, var Integer, 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": "OnBeforeNoOfSalesLinePrice",
        "sig": "(var Record Sales Header, var Record Sales Line, Boolean, var Integer, 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": "OnBeforeNoOfServLineLineDisc",
        "sig": "(var Record Service Header, var Record Service Line, Boolean, var Integer, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "OnBeforeNoOfServLinePrice",
        "sig": "(var Record Service Header, var Record Service Line, Boolean, var Integer, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "OnBeforeSalesLineLineDiscExists",
        "sig": "(var Record Sales Line, var Record Sales Header, var Record Sales Line Discount, Date, Decimal, Decimal, Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "17-27",
        "first": 17,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeSalesLinePriceExists",
        "sig": "(var Record Sales Line, var Record Sales Header, var Record Sales Price, Record Currency, Decimal, Date, Decimal, Decimal, Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "17-27",
        "first": 17,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeServLinePriceExists",
        "sig": "(var Record Service Line, var Record Service Header, var Record Sales Price, Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "OnBeforeServLineLineDiscExists",
        "sig": "(var Record Service Line, var Record Service Header, var Record Sales Line Discount, Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "OnGetCustNoForSalesHeader",
        "sig": "(var Record Sales Header, 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": "OnFindJobJnlLinePriceOnBeforeJobJnlLineFindJTPrice",
        "sig": "(var Record Job Journal 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": "OnFindSalesLineDiscOnAfterSetFilters",
        "sig": "(var Record Sales Line Discount)",
        "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": "OnFindSalesLineLineDiscOnBeforeCalcLineDisc",
        "sig": "(var Record Sales Header, Record Sales Line, var Record Sales Line Discount, Decimal, Decimal, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "17-27",
        "first": 17,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnJobJnlLineFindJTPriceOnAfterSetJobItemPriceFilters",
        "sig": "(var Record Job Item Price, Record Job Journal 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": "OnJobPlanningLineFindJTPriceOnAfterSetJobGLAccPriceFilters",
        "sig": "(var Record Job G/L Account Price, 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": "OnJobPlanningLineFindJTPriceOnAfterSetJobItemPriceFilters",
        "sig": "(var Record Job Item Price, 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": "OnJobPlanningLineFindJTPriceOnAfterSetJobResPriceFilters",
        "sig": "(var Record Job Resource Price, 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": "OnFindJobPlanningLinePriceOnBeforeJobPlanningLineFindJTPrice",
        "sig": "(var Record Job Planning Line, var Record Resource Price)",
        "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": "OnFindSalesLinePriceOnAfterSetResPrice",
        "sig": "(var Record Sales Line, var Record Resource Price)",
        "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": "OnBeforeConvertPriceToVAT",
        "sig": "(var Record VAT Posting Setup, var Decimal, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "18-28",
        "first": 18,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeSalesHeaderStartDate",
        "sig": "(var Record Sales Header, var Text[30], var Date, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "18-28",
        "first": 18,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeSalesLinePriceExistsProcedure",
        "sig": "(var Record Sales Header, var Record Sales Line, Boolean, Record Sales Price, var Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          18,
          19
        ],
        "range": "18-19",
        "first": 18,
        "last": 19,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 19,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnFindJobJnlLinePriceOnBeforeResourceGetJob",
        "sig": "(var Record Job Journal Line, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "18-28",
        "first": 18,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnFindSalesLinePriceOnItemTypeOnAfterSetUnitPrice",
        "sig": "(var Record Sales Header, var Record Sales Line, var Record Sales Price, Integer, Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "18-28",
        "first": 18,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeCalcBestUnitPriceConvertPrice",
        "sig": "(var Record Sales Price, var Boolean, Record Item)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "18-28",
        "first": 18,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnCalcBestUnitPriceOnBeforeCalcBestUnitPriceConvertPrice",
        "sig": "(var Record Sales Price, Decimal, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "18-24",
        "first": 18,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterCalcLineAmount",
        "sig": "(Record Sales Price, var Decimal, var Decimal)",
        "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": "OnAfterFindSalesLinePrice",
        "sig": "(var Record Sales Line, var Record Sales Header, var Record Sales Price, var Record Resource Price, Integer, Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "19-27",
        "first": 19,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterSalesLinePriceExistsProcedure",
        "sig": "(var Record Sales Header, var Record Sales Line, Record Resource, var Text[30], var Boolean, 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": "OnBeforeSalesLinePriceExistsProcedure",
        "sig": "(var Record Sales Header, var Record Sales Line, Boolean, var Record Sales Price, var Boolean, 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": "OnFindSalesLinePriceOnAfterSetLineDisc",
        "sig": "(var Record Sales Line)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "20-27",
        "first": 20,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterFindJobJnlLineResPrice",
        "sig": "(var Record Job Journal Line, var Record Resource Price, Integer, var Boolean)",
        "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": "OnAfterFindJobPlanningLineResPrice",
        "sig": "(var Record Job Planning Line, var Record Resource Price, Integer, var Boolean, var Boolean)",
        "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": "OnAfterFindServLineResPrice",
        "sig": "(var Record Service Line, var Record Resource Price, var Boolean, Integer, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Moved to codeunit ServPriceCalcMgt",
          "tag": "28.0"
        },
        "majors": [
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "22-28",
        "first": 22,
        "last": 28,
        "obsoleteSince": 28,
        "spans": [
          {
            "from": 22,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Moved to codeunit ServPriceCalcMgt",
              "tag": "28.0"
            }
          }
        ]
      },
      {
        "name": "OnSetResPriceOnAfterInit",
        "sig": "(var Record Resource Price)",
        "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": "OnFindSalesLinePriceOnCalcBestUnitPrice",
        "sig": "(Record Sales Line, var Record Sales Price)",
        "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": "OnBeforeValidateLineDiscountOnSalesLine",
        "sig": "(var Record Sales Line, var Record Sales Line Discount, 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": "OnAfterFindSalesLineResPrice",
        "sig": "(var Record Sales Line, var Record Resource Price, 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": "OnBeforeFindAnalysisReportPrice",
        "sig": "(Code[20], Date, var Decimal, var Boolean, 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": "OnCalcBestUnitPriceOnBeforeCalcBestUnitPriceConvertPrice",
        "sig": "(var Record Sales Price, Decimal, var Boolean, var Record Item)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          25,
          26,
          27
        ],
        "range": "25-27",
        "first": 25,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterCalcBestUnitPrice",
        "sig": "(var Record Sales Price, var Record Sales Price, Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterFindSalesLinePrice",
        "sig": "(var Record Sales Line, var Record Sales Header, var Record Sales Price, var Record Resource Price, Integer, var Boolean, Decimal, Decimal, Decimal, Boolean, Boolean, Boolean, Code[20], Option, Decimal, Decimal)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeCopySalesLineDiscToSalesLineDisc",
        "sig": "(var Record Sales Line Discount, var Record Sales Line Discount, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeSalesLineLineDiscExists",
        "sig": "(var Record Sales Line, var Record Sales Header, var Record Sales Line Discount, Date, Decimal, Decimal, Boolean, var Boolean, Codeunit Sales Price Calc. Mgt.)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeSalesLinePriceExists",
        "sig": "(var Record Sales Line, var Record Sales Header, var Record Sales Price, Record Currency, Decimal, Date, Decimal, Decimal, Boolean, var Boolean, Codeunit Sales Price Calc. Mgt.)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnFindSalesLineDiscOnAfterCopyItemDiscGroup",
        "sig": "(var Record Sales Line Discount, var Record Sales Line Discount)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnFindSalesLineLineDiscOnBeforeCalcLineDisc",
        "sig": "(var Record Sales Header, Record Sales Line, var Record Sales Line Discount, var Decimal, var Decimal, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnFindSalesLinePriceOnAfterSetLineDisc",
        "sig": "(var Record Sales Line, var Decimal, var Decimal)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnCalcBestUnitPriceOnBeforeCalcBestUnitPriceConvertPrice",
        "sig": "(var Record Sales Price, Decimal, var Boolean, var Record Item, Decimal, var Record Sales Price, var Boolean, Option, Boolean, Decimal, Boolean, Date, Decimal, Record Currency, Decimal, Code[20])",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      }
    ],
    "values": []
  }
}