Table 167 "Job"
Base Application · Microsoft.Projects.Project.Job
- 105fields
- 170procedures
- 67events
- 10Learn pages
- 63fields reference it
- 5event subscribers
- 16objects it calls
Across versions
- BC23present
- BC2417 procedures added, 8 events added
- BC252 procedures added, 1 fields added
- BC262 fields removed, 1 procedures added
- BC272 fields changed, 2 events added
- BC2879 fields changed
- BC296 fields changed, 1 procedures added
- BC30unchanged
Neighbourhood 134 connected objects and pages
Base Application · Microsoft.Projects.Project.Job · captioned “Project” · BC23-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 30050 “APIV2 - Jobs” (5 Learn pages), Page 88 “Job Card” (3), Page 89 “Job List” (2).
Properties
| Property | Value |
|---|---|
| Caption | Project |
| DataClassification | CustomerContent |
Fields
Explanation: the field’s ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.
| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | No. Δ BC28 | Code[20] | Specifies the number of the involved entry or record, according to the specified number series. | |
| 2 | Search Description Δ BC28 | Code[100] | Specifies the additional name for the project. The field is used for searching purposes. | |
| 3 | Description Δ BC28 | Text[100] | Specifies a short description of the project. | |
| 4 | Description 2 | Text[50] | — | |
| 5 | Bill-to Customer No. Δ BC28 | Code[20] | Specifies the number of the customer who pays for the project. | TableRelation Table 18 “Customer” |
| 12 | Creation Date Δ BC28 | Date | Specifies the date on which you set up the project. | not editable |
| 13 | Starting Date Δ BC28 | Date | Specifies the date on which the project actually starts. | |
| 14 | Ending Date Δ BC28 | Date | Specifies the date on which the project is expected to be completed. | |
| 19 | Status Δ BC28 | Enum “Job Status” | Specifies a status for the current project. You can change the status for the project as it progresses. Final calculations can be made on completed projects. | enum Enum 1619 “Job Status” |
| 20 | Person Responsible Δ BC28 | Code[20] | Specifies the person at your company who is responsible for the project. | TableRelation Table 156 “Resource” (Resource where(Type = const(Person))) |
| 21 | Global Dimension 1 Code | Code[20] | — | TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(1), Blocked = const(false))) |
| 22 | Global Dimension 2 Code | Code[20] | — | TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(2), Blocked = const(false))) |
| 23 | Job Posting Group Δ BC24 Δ BC28 | Code[20] | Specifies the posting group that links transactions made for the project with the appropriate general ledger accounts according to the general posting setup. | TableRelation Table 208 “Job Posting Group” (Job Posting Group) |
| 24 | Blocked Δ BC28 | Enum “Job Blocked” | Specifies that the related record is blocked from being posted in transactions, for example a customer that is declared insolvent or an item that is placed in quarantine. | enum Enum 1624 “Job Blocked” |
| 29 | Last Date Modified Δ BC28 | Date | Specifies when the project card was last modified. | not editable |
| 30 | Comment | Boolean | — | FlowField: exist(“Comment Line” where(“Table Name” = const(Job), “No.” = field(“No.”))); not editable |
| 31 | Customer Disc. Group | Code[20] | — | TableRelation Table 340 “Customer Discount Group” (Customer Discount Group) |
| 32 | Customer Price Group | Code[10] | — | TableRelation Table 6 “Customer Price Group” (Customer Price Group) |
| 35 | Location Code + BC24 Δ BC28 | Code[10] | Specifies the location code of the project. | TableRelation Table 14 “Location” (Location where(“Use As In-Transit” = const(false))) |
| 36 | Bin Code + BC24 Δ BC28 | Code[20] | Specifies a bin code for specific location of the project. | TableRelation Table 7354 “Bin” (Bin.Code where(“Location Code” = field(“Location Code”))) |
| 41 | Language Code Δ BC28 | Code[10] | Specifies the language to be used on printouts for this project. | TableRelation Table 8 “Language” |
| 49 | Scheduled Res. Qty. Δ BC28 | Decimal | — | FlowField: sum(“Job Planning Line”.“Quantity (Base)” where(“Job No.” = field(“No.”), “Schedule Line” = const(true), Type = const(Resource), “No.” = field(“Resource Filter”), “Planning Date” = field(“Planning Date Filter”))); not editable |
| 50 | Resource Filter | Code[20] | — | TableRelation Table 156 “Resource”; FlowFilter |
| 51 | Posting Date Filter | Date | — | FlowFilter |
| 55 | Resource Gr. Filter | Code[20] | — | TableRelation Table 152 “Resource Group” (Resource Group); FlowFilter |
| 56 | Scheduled Res. Gr. Qty. Δ BC28 | Decimal | — | FlowField: sum(“Job Planning Line”.“Quantity (Base)” where(“Job No.” = field(“No.”), “Schedule Line” = const(true), Type = const(Resource), “Resource Group No.” = field(“Resource Gr. Filter”), “Planning Date” = field(“Planning Date Filter”))); not editable |
| 58 | Bill-to Name Δ BC28 | Text[100] | Specifies the name of the customer that you send or sent the invoice or credit memo to. | TableRelation Customer.Name |
| 59 | Bill-to Address Δ BC28 | Text[100] | Specifies the address of the customer to whom you will send the invoice. | |
| 60 | Bill-to Address 2 Δ BC28 | Text[50] | Specifies an additional line of the address. | |
| 61 | Bill-to City Δ BC28 | Text[30] | Specifies the city of the address. | TableRelation Table 225 “Post Code” (if (“Bill-to Country/Region Code” = const(‘’)) “Post Code”.City else if (“Bill-to Country/Region Code” = filter(<> ‘’)) “Post Code”.City where(“Country/Region Code” = field(“Bill-to Country/Region Code”))) |
| 63 | Bill-to County Δ BC28 | Text[30] | Specifies the county code of the customer’s billing address. | |
| 64 | Bill-to Post Code Δ BC28 | Code[20] | Specifies the postal code of the customer who pays for the project. | TableRelation Table 225 “Post Code” (if (“Bill-to Country/Region Code” = const(‘’)) “Post Code” else if (“Bill-to Country/Region Code” = filter(<> ‘’)) “Post Code” where(“Country/Region Code” = field(“Bill-to Country/Region Code”))) |
| 66 | No. Series | Code[20] | — | TableRelation Table 308 “No. Series” (No. Series); not editable |
| 67 | Bill-to Country/Region Code Δ BC28 | Code[10] | Specifies the country/region code of the customer’s billing address. | TableRelation Table 9 “Country/Region” (Country/Region) |
| 68 | Bill-to Name 2 Δ BC27 | Text[50] | Specifies an additional part of the name of the customer who pays for the project. | |
| 80 | Task Billing Method + BC24 Δ BC28 | Enum “Task Billing Method” | Specify whether to use the customer specified for the project for all tasks or allow people to specify different customers. One customer lets you invoice only the customer specified for the project. Multiple customers lets you invoice customers specified on each task, which can be different customer… | enum Enum 1004 “Task Billing Method” |
| 117 | Reserve | Enum “Reserve Method” | — | enum Enum 100 “Reserve Method” |
| 140 | Image | Media | — | |
| 210 | Ship-to Phone No. + BC25 Δ BC28 | Text[30] | Specifies the telephone number of the company’s shipping address. | |
| 1000 | WIP Method Δ BC28 | Code[20] | Specifies the method that is used to calculate the value of work in process for the project. | TableRelation Table 1006 “Job WIP Method” (“Job WIP Method”.Code where(Valid = const(true))) |
| 1001 | Currency Code Δ BC28 | Code[10] | Specifies the currency code for the project. By default, the currency code is empty. If you enter a foreign currency code, it results in the project being planned and invoiced in that currency. | TableRelation Table 4 “Currency” |
| 1002 | Bill-to Contact No. Δ BC25 Δ BC28 | Code[20] | Specifies the number of the contact person at the customer’s billing address. | TableRelation Contact.“No.” |
| 1003 | Bill-to Contact Δ BC28 | Text[100] | Specifies the name of the contact person at the customer who pays for the project. | |
| 1004 | Planning Date Filter | Date | — | FlowFilter |
| 1005 | Total WIP Cost Amount Δ BC28 | Decimal | Specifies the total WIP cost amount that was last calculated for the project. The WIP Cost Amount for the project is the value WIP Cost Project WIP Entries less the value of the Recognized Cost Project WIP Entries. For projects with WIP Methods of Sales Value or Percentage of Completion, the WIP Cos… | FlowField: - sum(“Job WIP Entry”.“WIP Entry Amount” where(“Job No.” = field(“No.”), “Job Complete” = const(false), Type = filter(“Accrued Costs” | “Applied Costs” | “Recognized Costs”))); not editable |
| 1006 | Total WIP Cost G/L Amount Δ BC28 | Decimal | Specifies the total WIP Cost amount that was last posted to the G/L for the project. The WIP Cost Amount for the project is the value WIP Cost Project WIP G/L Entries less the value of the Recognized Cost Project WIP G/L Entries. For projects with WIP Methods of Sales Value or Percentage of Completi… | FlowField: - sum(“Job WIP G/L Entry”.“WIP Entry Amount” where(“Job No.” = field(“No.”), Reversed = const(false), “Job Complete” = const(false), Type = filter(“Accrued Costs” | “Applied Costs” | “Recognized Costs”))); not editable |
| 1007 | WIP Entries Exist Δ BC29 | Boolean | Specifies whether WIP entries exist for the project, indicating that Calculate WIP has been run. | FlowField: exist(“Job WIP Entry” where(“Job No.” = field(“No.”))) |
| 1008 | WIP Posting Date Δ BC28 | Date | Specifies the posting date that was entered when the Project Calculate WIP batch job was last run. | not editable |
| 1009 | WIP G/L Posting Date Δ BC28 | Date | Specifies the posting date that was entered when the Project Post WIP to General Ledger batch job was last run. | FlowField: min(“Job WIP G/L Entry”.“WIP Posting Date” where(Reversed = const(false), “Job No.” = field(“No.”))); not editable |
| 1011 | Invoice Currency Code Δ BC28 | Code[10] | Specifies the currency code you want to apply when creating invoices for a project. By default, the invoice currency code for a project is based on what currency code is defined on the customer card. | TableRelation Table 4 “Currency” |
| 1012 | Exch. Calculation (Cost) | Option | Specifies how project costs are calculated if you change the Currency Date or the Currency Code fields on a project planning Line or run the Change Project Planning Line Dates batch job. Fixed LCY option: The project costs in the local currency are fixed. Any change in the currency exchange rate wil… via Page 88 “Job Card” | OptionCaption: Fixed FCY,Fixed LCY |
| 1013 | Exch. Calculation (Price) | Option | Specifies how project sales prices are calculated if you change the Currency Date or the Currency Code fields on a project planning Line or run the Change Project Planning Line Dates batch job. Fixed LCY option: The project prices in the local currency are fixed. Any change in the currency exchange … via Page 88 “Job Card” | OptionCaption: Fixed FCY,Fixed LCY |
| 1014 | Allow Schedule/Contract Lines Δ BC28 | Boolean | Specifies if you can add planning lines of both type Budget and type Billable to the project. | |
| 1015 | Complete | Boolean | — | |
| 1017 | Recog. Sales Amount Δ BC28 | Decimal | Specifies the recognized sales amount that was last calculated for the project, which is the sum of the Recognized Sales Project WIP Entries. | FlowField: - sum(“Job WIP Entry”.“WIP Entry Amount” where(“Job No.” = field(“No.”), Type = filter(“Recognized Sales”))); not editable |
| 1018 | Recog. Sales G/L Amount Δ BC28 | Decimal | Specifies the total Recognized Sales amount that was last posted to the general ledger for the project. The Recognized Sales G/L amount for the project is the sum of the Recognized Sales Project WIP G/L Entries. | FlowField: - sum(“Job WIP G/L Entry”.“WIP Entry Amount” where(“Job No.” = field(“No.”), Reversed = const(false), Type = filter(“Recognized Sales”))); not editable |
| 1019 | Recog. Costs Amount Δ BC28 | Decimal | Specifies the Recognized Cost amount that was last calculated for the project. The Recognized Cost Amount for the project is the sum of the Recognized Cost Project WIP Entries. | FlowField: sum(“Job WIP Entry”.“WIP Entry Amount” where(“Job No.” = field(“No.”), Type = filter(“Recognized Costs”))); not editable |
| 1020 | Recog. Costs G/L Amount Δ BC28 | Decimal | Specifies the total Recognized Cost amount that was last posted to the general ledger for the project. The Recognized Cost G/L amount for the project is the sum of the Recognized Cost Project WIP G/L Entries. | FlowField: sum(“Job WIP G/L Entry”.“WIP Entry Amount” where(“Job No.” = field(“No.”), Reversed = const(false), Type = filter(“Recognized Costs”))); not editable |
| 1021 | Total WIP Sales Amount Δ BC28 Δ BC29 | Decimal | Specifies the total WIP sales amount that was last calculated for the project. It is calculated as the value in the WIP Sales field minus the value in the Recognized Sales field in the Project WIP Entries page. For projects that use the Cost Value or Cost of Sales WIP methods, the WIP sales amount i… | FlowField: sum(“Job WIP Entry”.“WIP Entry Amount” where(“Job No.” = field(“No.”), “Job Complete” = const(false), Type = filter(“Accrued Sales” | “Applied Sales” | “Recognized Sales”))); not editable |
| 1022 | Total WIP Sales G/L Amount Δ BC28 Δ BC29 | Decimal | Specifies the total WIP sales amount that was last posted to the general ledger for the project. The WIP sales amount is the value in the WIP Sales Project WIP G/L Entries page minus the value in the Recognized Sales Project WIP G/L Entries page. For projects with the Cost Value or Cost of Sales WIP… | FlowField: sum(“Job WIP G/L Entry”.“WIP Entry Amount” where(“Job No.” = field(“No.”), Reversed = const(false), “Job Complete” = const(false), Type = filter(“Accrued Sales” | “Applied Sales” | “Recognized Sales”))); not editable |
| 1023 | WIP Completion Calculated Δ BC29 | Boolean | Specifies whether the final WIP calculation has been performed with the project marked as complete. | FlowField: exist(“Job WIP Entry” where(“Job No.” = field(“No.”), “Job Complete” = const(true))) |
| 1024 | Next Invoice Date Δ BC28 | Date | Specifies the next invoice date for the project. | FlowField: min(“Job Planning Line”.“Planning Date” where(“Job No.” = field(“No.”), “Contract Line” = const(true), “Qty. to Invoice” = filter(<> 0))) |
| 1025 | Apply Usage Link Δ BC28 | Boolean | Specifies whether usage entries, from the project journal or purchase line, for example, are linked to project planning lines. Select this check box if you want to be able to track the quantities and amounts of the remaining work needed to complete a project and to create a relationship between dema… | |
| 1026 | WIP Warnings Δ BC28 | Boolean | Specifies whether or not there are WIP warnings associated with a project. | FlowField: exist(“Job WIP Warning” where(“Job No.” = field(“No.”))); not editable |
| 1027 | WIP Posting Method Δ BC24 Δ BC28 | Option | Specifies how WIP posting is performed. Per Project: The total WIP costs and the sales value is used to calculate WIP. Per Project Ledger Entry: The accumulated values of WIP costs and sales are used to calculate WIP. | OptionCaption: Per Project,Per Project Ledger Entry |
| 1028 | Applied Costs G/L Amount Δ BC28 Δ BC29 | Decimal | Specifies the sum of all applied costs posted to the general ledger that are related to the project. | FlowField: - sum(“Job WIP G/L Entry”.“WIP Entry Amount” where(“Job No.” = field(“No.”), Reversed = const(false), “Job Complete” = const(false), Type = filter(“Applied Costs”))); not editable |
| 1029 | Applied Sales G/L Amount Δ BC28 | Decimal | Specifies the sum of all applied sales in the general ledger that are related to the project. | FlowField: - sum(“Job WIP G/L Entry”.“WIP Entry Amount” where(“Job No.” = field(“No.”), Reversed = const(false), “Job Complete” = const(false), Type = filter(“Applied Sales”))); not editable |
| 1030 | Calc. Recog. Sales Amount Δ BC28 | Decimal | Specifies the sum of the recognized sales amount that is associated with project tasks for the project. | FlowField: sum(“Job Task”.“Recognized Sales Amount” where(“Job No.” = field(“No.”))); not editable |
| 1031 | Calc. Recog. Costs Amount Δ BC28 | Decimal | Specifies the sum of the recognized costs amount that is associated with project tasks for the project. | FlowField: sum(“Job Task”.“Recognized Costs Amount” where(“Job No.” = field(“No.”))); not editable |
| 1032 | Calc. Recog. Sales G/L Amount Δ BC28 | Decimal | Specifies the sum of the recognized sales general ledger amount that is associated with project tasks for the project. | FlowField: sum(“Job Task”.“Recognized Sales G/L Amount” where(“Job No.” = field(“No.”))); not editable |
| 1033 | Calc. Recog. Costs G/L Amount Δ BC28 | Decimal | Specifies the sum of the recognized costs general ledger amount that is associated with project tasks for the project. | FlowField: sum(“Job Task”.“Recognized Costs G/L Amount” where(“Job No.” = field(“No.”))); not editable |
| 1034 | WIP Completion Posted Δ BC29 | Boolean | Specifies whether the final WIP completion entries have been posted to the general ledger. | FlowField: exist(“Job WIP G/L Entry” where(“Job No.” = field(“No.”), “Job Complete” = const(true))) |
| 1035 | Over Budget | Boolean | — | |
| 1036 | Project Manager Δ BC28 | Code[50] | Specifies the person who is assigned to manage the project. | TableRelation Table 91 “User Setup” (User Setup) |
| 2000 | Sell-to Customer No. Δ BC28 | Code[20] | Specifies the number of the customer who will receive the products and be billed by default. | TableRelation Table 18 “Customer” |
| 2001 | Sell-to Customer Name Δ BC28 | Text[100] | Specifies the name of the customer who will receive the products and be billed by default. | TableRelation Customer.Name |
| 2002 | Sell-to Customer Name 2 Δ BC27 | Text[50] | Specifies an additional part of the name of the customer who will receive the products and be billed by default. | |
| 2003 | Sell-to Address Δ BC28 | Text[100] | Specifies the address where the customer is located. | |
| 2004 | Sell-to Address 2 Δ BC28 | Text[50] | Specifies additional address information. | |
| 2005 | Sell-to City Δ BC28 | Text[30] | Specifies the city of the customer on the sales document. | TableRelation Table 225 “Post Code” (if (“Sell-to Country/Region Code” = const(‘’)) “Post Code”.City else if (“Sell-to Country/Region Code” = filter(<> ‘’)) “Post Code”.City where(“Country/Region Code” = field(“Sell-to Country/Region Code”))) |
| 2006 | Sell-to Contact Δ BC28 | Text[100] | Specifies the name of the person to contact at the customer. | |
| 2007 | Sell-to Post Code Δ BC28 | Code[20] | Specifies the postal code. | TableRelation Table 225 “Post Code” (if (“Sell-to Country/Region Code” = const(‘’)) “Post Code” else if (“Sell-to Country/Region Code” = filter(<> ‘’)) “Post Code” where(“Country/Region Code” = field(“Sell-to Country/Region Code”))) |
| 2008 | Sell-to County Δ BC28 | Text[30] | Specifies the state, province or county of the address. | |
| 2009 | Sell-to Country/Region Code Δ BC28 | Code[10] | Specifies the country or region of the address. | TableRelation Table 9 “Country/Region” (Country/Region) |
| 2010 | Sell-to Phone No. | Text[30] | — | |
| 2011 | Sell-to E-Mail | Text[80] | Email caption | |
| 2012 | Sell-to Contact No. Δ BC28 | Code[20] | Specifies the number of the contact person that the sales document will be sent to. | TableRelation Table 5050 “Contact” |
| 3000 | Ship-to Code Δ BC28 | Code[10] | Specifies the code for another shipment address than the customer’s own address, which is entered by default. | TableRelation Table 222 “Ship-to Address” (“Ship-to Address”.Code where(“Customer No.” = field(“Sell-to Customer No.”))) |
| 3001 | Ship-to Name Δ BC28 | Text[100] | Specifies the name that products on the sales document will be shipped to. | |
| 3002 | Ship-to Name 2 Δ BC28 | Text[50] | Specifies an additional part of the name that products on the sales document will be shipped to. | |
| 3003 | Ship-to Address Δ BC28 | Text[100] | Specifies the address that products on the sales document will be shipped to. | |
| 3004 | Ship-to Address 2 Δ BC28 | Text[50] | Specifies additional address information. | |
| 3005 | Ship-to City Δ BC28 | Text[30] | Specifies the city of the customer on the sales document. | TableRelation Table 225 “Post Code” (if (“Ship-to Country/Region Code” = const(‘’)) “Post Code”.City else if (“Ship-to Country/Region Code” = filter(<> ‘’)) “Post Code”.City where(“Country/Region Code” = field(“Ship-to Country/Region Code”))) |
| 3006 | Ship-to Contact Δ BC28 | Text[100] | Specifies the name of the contact person at the address that products on the sales document will be shipped to. | |
| 3007 | Ship-to Post Code Δ BC28 | Code[20] | Specifies the postal code. | TableRelation Table 225 “Post Code” (if (“Ship-to Country/Region Code” = const(‘’)) “Post Code” else if (“Ship-to Country/Region Code” = filter(<> ‘’)) “Post Code” where(“Country/Region Code” = field(“Ship-to Country/Region Code”))) |
| 3008 | Ship-to County Δ BC28 | Text[30] | Specifies the state, province or county of the address. | |
| 3009 | Ship-to Country/Region Code Δ BC28 | Code[10] | Specifies the customer’s country/region. | TableRelation Table 9 “Country/Region” (Country/Region) |
| 3997 | No. of Archived Versions + BC24 Δ BC28 | Integer | Specifies the number of archived versions of this project. | FlowField: max(“Job Archive”.“Version No.” where(“No.” = field(“No.”))); not editable |
| 4000 | External Document No. Δ BC28 | Code[35] | Specifies a document number that refers to the customer’s or vendor’s numbering system. | |
| 4001 | Payment Method Code | Code[10] | Specifies how to make payment, such as with bank transfer, cash, or check. via Page 88 “Job Card” | TableRelation Table 289 “Payment Method” (Payment Method) |
| 4002 | Payment Terms Code | Code[10] | Specifies a formula that calculates the payment due date, payment discount date, and payment discount amount. via Page 88 “Job Card” | TableRelation Table 3 “Payment Terms” (Payment Terms) |
| 4003 | Your Reference Δ BC28 | Text[35] | Specifies the customer’s reference. The content will be printed on sales documents. | |
| 7000 | Price Calculation Method Δ BC28 | Enum “Price Calculation Method” | Specifies the default method of the unit price calculation. | enum Enum 7000 “Price Calculation Method” |
| 7001 | Cost Calculation Method Δ BC28 | Enum “Price Calculation Method” | Specifies the default method of the unit cost calculation. | enum Enum 7000 “Price Calculation Method” |
| 7300 | Completely Picked Δ BC28 | Boolean | Specifies whether all items on the project planning lines have been completely picked. | FlowField: min(“Job Planning Line”.“Completely Picked” where(“Job No.” = field(“No.”))) |
Keys
- Key1: No. (clustered)
- Key2: Search Description
- Key3: Bill-to Customer No.
- Key4: Description
- Key5: Status
Events published
OnBeforeThrowAssociatedEntriesExistError(var Job: Record Job; xJob: Record Job; CallingFieldNo: Integer; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnAfterCalcRecognizedProfitAmount(var Result: Decimal)Δ BC24 (integration)OnAfterCalcJobTaskLinesEditable(var Job: Record Job; var IsEditable: Boolean)(integration)OnBeforeBillToCustomerNoUpdated(var Job: Record Job; var xJob: Record Job; CallingFieldNo: Integer; var IsHandled: Boolean)(integration)OnAfterBillToCustomerNoUpdated(var Job: Record Job; xJob: Record Job; BillToCustomer: Record Customer; CallingFieldNo: Integer)(integration)OnAfterJobLedgEntryExist(var JobLedgerEntry: Record "Job Ledger Entry"; var Result: Boolean)(integration)OnAfterJobPlanningLineExist(var JobPlanningLine: Record "Job Planning Line"; var Result: Boolean)(integration)OnAfterOnInsert(var Job: Record Job; var xJob: Record Job)(integration)OnAfterValidateShortcutDimCode(var Job: Record Job; var xJob: Record Job; FieldNumber: Integer; var ShortcutDimCode: Code[20])(integration)OnAfterChangeJobCompletionStatus(var Job: Record Job; var xJob: Record Job)(integration)OnAfterShipToCodeValidate(var Job: Record Job; ShipToAddress: Record "Ship-to Address")(integration)OnAfterUpdateBillToContact(var Job: Record Job; xJob: Record Job)(integration)OnBeforeChangeJobCompletionStatus(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)(integration)OnBeforeAssistEdit(var Job: Record Job; var OldJob: Record Job; var Result: Boolean; var IsHandled: Boolean)Δ BC24 + BC27 − BC27 (integration)OnBeforeCheckContactBillToCustomerBusRelation(var Job: Record Job; Contact: Record Contact; var IsHandled: Boolean)(integration)OnBeforeShowContactBillToCustomerBusRelationMissingError(var Job: Record Job; Contact: Record Contact; var IsHandled: Boolean)(integration)OnBeforeCheckRemoveFromMyJobsFromModify(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)(integration)OnBeforeCopyDefaultDimensionsFromCustomer(var Job: Record Job; var IsHandled: Boolean; CurrentFieldNo: Integer)(integration)OnBeforePercentCompleted(var Job: Record Job; var Result: Decimal; var IsHandled: Boolean)(integration)OnBeforePercentInvoiced(var Job: Record Job; var Result: Decimal; var IsHandled: Boolean)(integration)OnBeforePercentOverdue(var Job: Record Job; var Result: Decimal; var IsHandled: Boolean)(integration)OnBeforeDeleteRelatedJobTasks(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)(integration)OnBeforeInitJobNo(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)(integration)OnBeforeInitGlobalDimFromDefalutDim(var Job: Record Job; var IsHandled: Boolean)(integration)OnBeforeInitBillToCustomerNo(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)(integration)OnBeforeRecalculateJobWIP(var Job: Record Job; var IsHandled: Boolean)(integration)OnBeforeTestBlocked(var Job: Record Job; var IsHandled: Boolean)(integration)OnBeforeUpdateJobTaskDimension(var Job: Record Job; FieldNumber: Integer; ShortcutDimCode: Code[20]; var IsHandled: Boolean)(integration)OnAfterUpdateJobTaskDimension(var Job: Record Job; FieldNumber: Integer; ShortcutDimCode: Code[20])+ BC27 (integration)OnBeforeValidateBillToCustomerNo(var Job: Record Job; var IsHandled: Boolean; xJob: Record Job; CallingFieldNo: Integer)(integration)OnBeforeValidateCurrencyCode(var Job: Record Job; xJob: Record Job; CallingFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeValidateBillToContactNo(var Job: Record Job; xJob: Record Job; CallingFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeValidateNo(var Job: Record Job; var IsHandled: Boolean)(integration)OnBeforeValidateShortcutDimCode(var Job: Record Job; var xJob: Record Job; FieldNumber: Integer; var ShortcutDimCode: Code[20]; var IsHandled: Boolean)(integration)OnBeforeValidateStatus(var Job: Record Job; xJob: Record Job; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeUpdateOverBudgetValue(var Job: Record Job; JobNo: Code[20]; Usage: Boolean; Cost: Decimal; var IsHandled: Boolean)(integration)OnBeforeSellToCustomerNoUpdated(var Job: Record Job; var xJob: Record Job; CallingFieldNo: Integer; var IsHandled: Boolean; var SkipSellToContact: Boolean)+ BC24 − BC24 (integration)OnAfterSellToCustomerNoUpdated(var Job: Record Job; xJob: Record Job; SellToCustomer: Record Customer)(integration)OnSellToCustomerNoUpdatedOnAfterTransferFieldsFromCust(var Job: Record Job; xJob: Record Job; SellToCustomer: Record Customer)(integration)OnGetQuantityAvailableOnAfterSetFiltersOnJobLedgerEntry(ItemNo: Code[20]; LocationCode: Code[10]; VariantCode: Code[10]; InEntryType: Option; Direction: Option; var JobLedgerEntry: Record "Job Ledger Entry")(integration)OnUpdateBillToCustOnAfterAssignBillToContact(var Job: Record Job; Contact: Record Contact)(integration)OnUpdateCustOnBeforeAssignIncoiceCurrencyCode(var Job: Record Job; xJob: Record Job; Customer: Record Customer; var IsHandled: Boolean)(integration)OnBeforeValidateBillToCity(var Job: Record Job; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeValidateBillToPostCode(var Job: Record Job; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeValidateSellToCity(var Job: Record Job; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeValidateShipToCity(var Job: Record Job; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeCheckSellToCustomerAssosEntriesExist(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)(integration)OnBeforeCheckBillToCustomerAssosEntriesExist(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)(integration)OnBeforeTestStatusCompleted(var Job: Record Job; var IsHandled: Boolean)(integration)OnCopyDefaultDimensionsFromCustomerOnBeforeUpdateDefaultDim(var Job: Record Job; CallingFieldNo: Integer)(integration)OnValidateSellToCustomerNoOnBeforeCheckBlockedCustOnDocs(var Job: Record Job; var Cust: Record Customer; var IsHandled: Boolean)(integration)OnBeforeInitDefaultJobPostingGroup(var Job: Record Job; var IsHandled: Boolean)(integration)OnValidateStatusOnBeforeConfirm(var Job: Record "Job"; xJob: Record "Job"; var UndidCompleteStatus: Boolean; var IsHandled: Boolean)(integration)OnBeforeCurrencyUpdatePlanningLines(var Job: Record Job; var IsHandled: Boolean)(integration)OnBillToCustomerNoUpdatedOnBeforeAssignCurrencyCode(var Job: Record Job; xJob: Record Job; Customer: Record Customer; var IsHandled: Boolean)(integration)OnBillToCustomerNoUpdatedOnBeforeUpdateBillToContact(var Job: Record Job; xJob: Record Job; Customer: Record Customer; var IsHandled: Boolean)(integration)OnCurrencyUpdatePlanningLinesOnBeforeUpdateJobPlanningLine(var Job: Record Job; var JobPlanningLine: Record "Job Planning Line")(integration)OnBeforeValidateSellToCustomerName(var Job: Record "Job"; var Customer: Record Customer; var IsHandled: Boolean)(integration)OnBeforeShowSellToContactBusinessRelationNotFoundError(var Job: Record Job; Contact: Record Contact; var IsHandled: Boolean)+ BC24 (integration)OnAfterSyncShipToWithSellTo(var Job: Record Job)+ BC24 (integration)OnAfterShipToAddressEqualsSellToAddress(var Job: Record Job; var Result: Boolean)+ BC24 (integration)OnAfterUpdateCostPricesOnRelatedJobPlanningLines(var Job: Record Job)+ BC24 (integration)OnBeforeUpdateSellToCust(var Job: Record Job; var ContactNo: Code[20]; var IsHandled: Boolean)+ BC24 (integration)OnUpdateCostPricesOnRelatedJobPlanningLinesOnBeforeConfirmUpdate(var Job: Record Job; var ConfirmResult: Boolean; var IsHandled: Boolean)+ BC24 (integration)OnBeforeCheckIfTimeSheetLineLinkExist(var Job: Record Job; var IsHandled: Boolean)+ BC24 (integration)OnInitJobNoOnAfterAssignNoSeries(var Job: Record Job; var xJob: Record Job; var JobsSetup: Record "Jobs Setup")+ BC25 (integration)OnBeforeAddToMyJobs(var Job: Record Job; var MyJob: Record "My Job"; ProjectManager: Code[50]; var IsHandled: Boolean)+ BC26 (integration)
Trigger event subscribers
- OnAfterDeleteEvent: Codeunit 1173 “Document Attachment Mgmt” DeleteAttachedDocumentsOnAfterDeleteJob, Codeunit 7006 “Price Helper - V16” AfterDeleteJob, Codeunit 7019 “Price Helper - V15” AfterDeleteJob
- OnAfterRenameEvent: Codeunit 1173 “Document Attachment Mgmt” MoveAttachedDocumentsOnAfterRenameJob, Codeunit 7006 “Price Helper - V16” AfterRenameJob
Procedures
AssistEdit(OldJob: Record Job): BooleanGetCostCalculationMethod(): Enum "Price Calculation Method"GetPriceCalculationMethod(): Enum "Price Calculation Method"ShowPriceListLines(PriceType: Enum "Price Type"; AssetType: Enum "Price Asset Type"; AmountType: Enum "Price Amount Type")ValidateShortcutDimCode(FieldNumber: Integer; ShortcutDimCode: Code[20])UpdateBillToContact(CustomerNo: Code[20])UpdateSellToContact(CustomerNo: Code[20])(protected)JobLedgEntryExist(): BooleanSalesJobLedgEntryExist(): Boolean+ BC24SalesLineExist(): Boolean+ BC24JobPlanningLineExist(): BooleanUpdateBillToCust(ContactNo: Code[20])SelltoCustomerNoOnAfterValidate(var JobRec: Record "Job"; var xJobRec: Record "Job")LookupSellToCustomerName(var CustomerName: Text): BooleanInitWIPFields()TestBlocked()CurrencyUpdatePlanningLines()TestStatusCompleted()CreateInvtPutAwayPick()DisplayMap()GetQuantityAvailable(ItemNo: Code[20]; LocationCode: Code[10]; VariantCode: Code[10]; InEntryType: Option Usage,Sale,Both; Direction: Option Positive,Negative,Both): DecimalCalcAccWIPCostsAmount(): DecimalCalcAccWIPSalesAmount(): DecimalCalcRecognizedProfitAmount(): DecimalCalcRecognizedProfitPercentage(): DecimalCalcRecognizedProfitGLAmount(): DecimalCalcRecognProfitGLPercentage(): DecimalCopyDefaultDimensionsFromCustomer()PercentCompleted(): DecimalPercentInvoiced(): DecimalPercentOverdue(): DecimalCheckReservationEntries(): BooleanPerformAutoReserve(var JobPlanningLine: Record "Job Planning Line")UpdateOverBudgetValue(JobNo: Code[20]; Usage: Boolean; Cost: Decimal)ToPriceSource(var PriceSource: Record "Price Source"; PriceType: Enum "Price Type")SetJobDiffBuff(var TempJobDifferenceBuffer: Record "Job Difference Buffer" temporary; JobNo: Code[20]; JobTaskNo: Code[20]; JobTaskType: Option Posting,Heading,Total,"Begin-Total","End-Total"; Type: Option Resource,Item,"G/L Account",Text; No: Code[20]; LocationCode: Code[10]; VariantCode: Code[10]; UnitofMeasureCode: Code[10]; WorkTypeCode: Code[10])SendRecords()SendProfile(var DocumentSendingProfile: Record "Document Sending Profile")PrintRecords(ShowRequestForm: Boolean)EmailRecords(ShowDialog: Boolean)RecalculateJobWIP()UpdateReferencedIds()BilltoContactLookup(): BooleanSelltoContactLookup(): BooleanCalcJobTaskLinesEditable(): BooleanShipToAddressEqualsSellToAddress(): BooleanBillToAddressEqualsSellToAddress(): BooleanSyncShipToWithSellTo()ShipToNameEqualsSellToName(): BooleanSetHideValidationDialog(NewHideValidationDialog: Boolean)GetHideValidationDialog(): BooleanSellToCustomerNoUpdated(var Job: Record Job; var xJob: Record Job)ShouldSearchForCustomerByName(CustomerNo: Code[20]): BooleanCreateWarehousePick()GetQtyReservedFromStockState(): Enum "Reservation From Stock"(internal)JobTaskExist(): Boolean+ BC24SetPurchLineFilters(var PurchaseLine: Record "Purchase Line")+ BC25
Plus 46 local procedures.
Triggers
OnDelete, OnInsert, OnModify, OnRename
Relations
- drill-down page Page 89 “Job List”
- lookup page Page 89 “Job List”
- Calc. Recog. Costs Amount: CalcFormula Table 1001 “Job Task”
- Calc. Recog. Costs G/L Amount: CalcFormula Table 1001 “Job Task”
- Calc. Recog. Sales Amount: CalcFormula Table 1001 “Job Task”
- Calc. Recog. Sales G/L Amount: CalcFormula Table 1001 “Job Task”
- Completely Picked: CalcFormula Table 1003 “Job Planning Line”
- Next Invoice Date: CalcFormula Table 1003 “Job Planning Line”
- Scheduled Res. Gr. Qty.: CalcFormula Table 1003 “Job Planning Line”
- Scheduled Res. Qty.: CalcFormula Table 1003 “Job Planning Line”
- Recog. Costs Amount: CalcFormula Table 1004 “Job WIP Entry”
- Recog. Sales Amount: CalcFormula Table 1004 “Job WIP Entry”
- Total WIP Cost Amount: CalcFormula Table 1004 “Job WIP Entry”
- Total WIP Sales Amount: CalcFormula Table 1004 “Job WIP Entry”
- WIP Completion Calculated: CalcFormula Table 1004 “Job WIP Entry”
- WIP Entries Exist: CalcFormula Table 1004 “Job WIP Entry”
- Applied Costs G/L Amount: CalcFormula Table 1005 “Job WIP G/L Entry”
- Applied Sales G/L Amount: CalcFormula Table 1005 “Job WIP G/L Entry”
- Recog. Costs G/L Amount: CalcFormula Table 1005 “Job WIP G/L Entry”
- Recog. Sales G/L Amount: CalcFormula Table 1005 “Job WIP G/L Entry”
- Total WIP Cost G/L Amount: CalcFormula Table 1005 “Job WIP G/L Entry”
- Total WIP Sales G/L Amount: CalcFormula Table 1005 “Job WIP G/L Entry”
- WIP Completion Posted: CalcFormula Table 1005 “Job WIP G/L Entry”
- WIP G/L Posting Date: CalcFormula Table 1005 “Job WIP G/L Entry”
- WIP Method: TableRelation Table 1006 “Job WIP Method”
- WIP Warnings: CalcFormula Table 1007 “Job WIP Warning”
- Location Code: TableRelation Table 14 “Location”
- Resource Gr. Filter: TableRelation Table 152 “Resource Group”
- Person Responsible: TableRelation Table 156 “Resource”
- Resource Filter: TableRelation Table 156 “Resource”
- Bill-to Customer No.: TableRelation Table 18 “Customer”
- Sell-to Customer No.: TableRelation Table 18 “Customer”
- Job Posting Group: TableRelation Table 208 “Job Posting Group”
- Ship-to Code: TableRelation Table 222 “Ship-to Address”
- Bill-to City: TableRelation Table 225 “Post Code” (conditional)
- Bill-to Post Code: TableRelation Table 225 “Post Code” (conditional)
- Sell-to City: TableRelation Table 225 “Post Code” (conditional)
- Sell-to Post Code: TableRelation Table 225 “Post Code” (conditional)
- Ship-to City: TableRelation Table 225 “Post Code” (conditional)
- Ship-to Post Code: TableRelation Table 225 “Post Code” (conditional)
- Payment Method Code: TableRelation Table 289 “Payment Method”
- Payment Terms Code: TableRelation Table 3 “Payment Terms”
- No. Series: TableRelation Table 308 “No. Series”
- Customer Disc. Group: TableRelation Table 340 “Customer Discount Group”
- Global Dimension 1 Code: TableRelation Table 349 “Dimension Value”
- Global Dimension 2 Code: TableRelation Table 349 “Dimension Value”
- Currency Code: TableRelation Table 4 “Currency”
- Invoice Currency Code: TableRelation Table 4 “Currency”
- Sell-to Contact No.: TableRelation Table 5050 “Contact”
- No. of Archived Versions: CalcFormula Table 5135 “Job Archive”
- Customer Price Group: TableRelation Table 6 “Customer Price Group”
- Bin Code: TableRelation Table 7354 “Bin”
- Language Code: TableRelation Table 8 “Language”
- Bill-to Country/Region Code: TableRelation Table 9 “Country/Region”
- Sell-to Country/Region Code: TableRelation Table 9 “Country/Region”
- Ship-to Country/Region Code: TableRelation Table 9 “Country/Region”
- Project Manager: TableRelation Table 91 “User Setup”
- Comment: CalcFormula Table 97 “Comment Line”
Referenced by
63 fields in 58 objects relate to this table (TableRelation or CalcFormula).
- Table 9057 “Job Cue”: Completed - WIP Not Calculated, Invoices Due - Not Created, Jobs Over Budget, Jobs w/o Resource, Upcoming Invoices, WIP Not Posted
- Table 1001 “Job Task”: Job No.
- Table 1003 “Job Planning Line”: Job No.
- Table 1004 “Job WIP Entry”: Job No.
- Table 1005 “Job WIP G/L Entry”: Job No.
- Table 1007 “Job WIP Warning”: Job No.
- Table 1008 “Job Assigned Resource”: Job No.
- Table 1012 “Job Resource Price”: Job No.
- Table 1013 “Job Item Price”: Job No.
- Table 1014 “Job G/L Account Price”: Job No.
- Table 1018 “Job WIP Buffer”: Job No.
- Table 1020 “Job Usage Link”: Job No.
- Table 1021 “Job WIP Total”: Job No.
- Table 1022 “Job Planning Line Invoice”: Job No.
- Table 111 “Sales Shipment Line”: Job No.
- Table 113 “Sales Invoice Line”: Job No.
- Table 115 “Sales Cr.Memo Line”: Job No.
- Table 121 “Purch. Rcpt. Line”: Job No.
- Table 123 “Purch. Inv. Line”: Job No.
- Table 125 “Purch. Cr. Memo Line”: Job No.
- Table 1570 “G/L Entry Posting Preview”: Job No.
- Table 169 “Job Ledger Entry”: Job No.
- Table 17 “G/L Entry”: Job No.
- Table 1706 “Deferral Posting Buffer”: Job No.
- Table 181 “Posted Gen. Journal Line”: Job No.
- Table 203 “Res. Ledger Entry”: Job No.
- Table 207 “Res. Journal Line”: Job No.
- Table 210 “Job Journal Line”: Job No.
- Table 212 “Job Posting Buffer”: Job No.
- Table 37 “Sales Line”: Job No.
- Table 39 “Purchase Line”: Job No.
- Table 461 “Prepayment Inv. Line Buffer”: Job No.
- Table 49 “Invoice Post. Buffer”: Job No.
- Table 5108 “Sales Line Archive”: Job No.
- Table 5110 “Purchase Line Archive”: Job No.
- Table 5135 “Job Archive”: Source Doc. Exists
- Table 55 “Invoice Posting Buffer”: Job No.
- Table 5510 “Employee Time Reg Buffer”: Job No.
- Table 5771 “Warehouse Source Filter”: Job No.
- Table 5991 “Service Shipment Line”: Job No.
- Table 5993 “Service Invoice Line”: Job No.
- Table 5995 “Service Cr.Memo Line”: Job No.
- Table 6651 “Return Shipment Line”: Job No.
- Table 6661 “Return Receipt Line”: Job No.
- Table 7000 “Price List Header”: Assign-to Parent No.
- Table 7001 “Price List Line”: Assign-to Parent No.
- Table 7008 “Dtld. Price Calculation Setup”: Assign-to No.
- Table 7022 “Price Worksheet Line”: Assign-to Parent No.
- Table 751 “Standard General Journal Line”: Job No.
- Table 8070 “Subscription Billing Cue”: Jobs Over Budget
- and 8 more objects (8 fields): data/code/relations/29.json
Pages and codeunits on this table
- Page 1025 “Job Statistics” (source table)
- Page 1027 “Job WIP Cockpit” (source table)
- Page 1030 “Job Cost Factbox” (source table)
- Page 1816 “Job Creation Wizard” (source table)
- Page 20050 “APIV1 - Jobs” (source table)
- Page 221 “Resource Allocated per Job” (source table)
- Page 228 “Res. Gr. Allocated per Job” (source table)
- Page 30050 “APIV2 - Jobs” (source table)
- Page 730 “Job Act to Bud Cost Chart” (source table)
- Page 731 “Job Act to Bud Price Chart” (source table)
- Page 759 “Job Profitability Chart” (source table)
- Page 88 “Job Card” (source table)
- Page 89 “Job List” (source table)
- Page 9098 “Job No. of Prices FactBox” (source table)
- Page 9099 “Job WIP/Recognition FactBox” (source table)
- Page 9211 “Resource Alloc. per Job Matrix” (source table)
- Page 9213 “ResGrp. Alloc. per Job Matrix” (source table)
- Codeunit 1016 “Jobs-Send” (codeunit runs on it)
Extended by
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 408 “DimensionManagement” (10 calls:
CopyDefaultDimensionsFromCustomer → DefaultDimOnDelete,CopyDefaultDimensionsFromCustomer → DefaultDimOnInsert,CopyDefaultDimensionsFromCustomer → SetSkipChangeDimensionsQst, …) - Codeunit 1008 “Job Calculate Statistics” (6 calls:
PercentCompleted → CalculateAmounts,PercentCompleted → GetLCYCostAmounts,PercentCompleted → JobCalculateCommonFilters, …) - Codeunit 27 “Confirm Management” (3 calls:
CheckReservationEntries → GetResponseOrDefault,RecalculateJobWIP → GetResponseOrDefault,UpdateCostPricesOnRelatedJobPlanningLines → GetResponseOrDefault) - Codeunit 452 “Report Distribution Management” (3 calls:
EmailRecords → GetFullDocumentTypeText,SendProfile → GetFullDocumentTypeText,SendRecords → GetFullDocumentTypeText) - Codeunit 1032 “Job Planning Line-Reserve” (2 calls:
GetQtyReservedFromStockState → GetReservedQtyFromInventory,PerformAutoReserve → ReservQuantity) - Codeunit 5139 “Job Archive Management” (2 calls:
OnDelete → AutoArchiveJob,OnRename → RenameJobArchieve) - Codeunit 6500 “Item Tracking Management” (2 calls:
CreateWarehousePick → InitItemTrackingForTempWhseWorksheetLine,DeleteWhsePickRelation → DeleteWhseItemTrkgLines) - Codeunit 99000845 “Reservation Management” (2 calls:
PerformAutoReserve → AutoReserve,PerformAutoReserve → SetReservSource) - Page 456 “No. Series” (2 calls:
AssistEdit → (object),InitJobNo → (object)) - Codeunit 1000 “Job Calculate WIP” (1 call:
ChangeJobCompletionStatus → ReOpenJob) - Codeunit 109 “Lookup State Manager” (1 call:
LookupSellToCustomerName → SaveRecord) - Codeunit 361 “MoveEntries” (1 call:
OnDelete → MoveJobEntries) - Codeunit 5465 “Graph Mgt - General Tools” (1 call:
UpdateReferencedIds → IsApiEnabled) - Codeunit 7018 “Price UX Management” (1 call:
ShowPriceListLines → ShowPriceListLines) - Codeunit 802 “Online Map Management” (1 call:
DisplayMap → MakeSelectionIfMapEnabled) - Report 7323 “Create Invt Put-away/Pick/Mvmt” (1 call:
CreateInvtPutAwayPick → (object))
Recent changes
- 2026-08-13 #10211 [master] Projects WIP related field tooltips missing broken grammar outdated terminology (main, BC30, fix)
- 2026-07-17 #8905 [Master] Different source reference on reservation entries created directly from Job Planning Line and via a warehouse pick. (main, BC30, fix)
- 2026-07-14 #9315 [Projects] Add Assigned Resources to projects and project tasks (main, BC30, feature)
- 2026-07-14 #9280 Project Task Billing Method reverts to original value in project card without validation or error (main, BC30, fix)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "table", object_name: "Job"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.