Table 7022 "Price Worksheet Line"
Base Application · Microsoft.Pricing.Worksheet
Across versions
- BC23present
- BC24declaration changed
- BC25-27unchanged
- BC2831 fields changed
- BC29-30unchanged
Neighbourhood 23 connected objects and pages
Base Application · Microsoft.Pricing.Worksheet · BC23-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 7022 “Price Worksheet” (1 Learn page).
Properties
| Property | Value |
|---|---|
| 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 | Price List Code Δ BC28 | Code[20] | Specifies the unique identifier of the price list. | TableRelation Table 7000 “Price List Header” (Price List Header) |
| 2 | Line No. | Integer | — | AutoIncrement |
| 3 | Source Type | Enum “Price Source Type” | Assign-to Type caption | enum Enum 7003 “Price Source Type” |
| 4 | Source No. Δ BC28 | Code[20] | Specifies the entity to which the prices are assigned. The options depend on the selection in the Assign-to Type field. If you choose an entity, the price list will be used only for that entity. | |
| 5 | Parent Source No. Δ BC28 | Code[20] | Specifies the project to which the prices are assigned. If you choose an entity, the price list will be used only for that entity. | |
| 6 | Source ID | Guid | Assign-to ID caption | |
| 7 | Asset Type Δ BC28 | Enum “Price Asset Type” | Specifies the type of the product. | enum Enum 7004 “Price Asset Type” |
| 8 | Asset No. Δ BC28 | Code[20] | Specifies the identifier of the product. If no product is selected, the price and discount values will apply to all products of the selected product type for which those values are not specified. For example, if you choose Item as the product type but do not specify a specific item, the price will a… | |
| 9 | Variant Code Δ BC28 | Code[10] | Specifies the variant of the item on the line. | |
| 10 | Currency Code Δ BC28 | Code[10] | Specifies the currency code of the price list line. | TableRelation Table 4 “Currency” |
| 11 | Work Type Code Δ BC28 | Code[10] | Specifies the work type code for the resource. | TableRelation Table 200 “Work Type” (Work Type) |
| 12 | Starting Date Δ BC28 | Date | Specifies the date from which the price is valid. | |
| 13 | Ending Date Δ BC28 | Date | Specifies the last date that the price is valid. | |
| 14 | Minimum Quantity Δ BC28 | Decimal | Specifies the minimum quantity of the product. | |
| 15 | Unit of Measure Code Δ BC28 | Code[10] | Specifies the unit of measure for the product. | |
| 16 | Amount Type Δ BC28 | Enum “Price Amount Type” | Specifies whether the price list line defines prices, discounts, or both. | enum Enum 7001 “Price Amount Type” |
| 17 | Unit Price Δ BC28 | Decimal | Specifies the new unit price of the product. | |
| 18 | Cost Factor Δ BC28 | Decimal | Specifies the unit cost factor for project-related prices, if you have agreed with your customer that he should pay certain item usage by cost value plus a certain percent value to cover your overhead expenses. | |
| 19 | Unit Cost Δ BC28 | Decimal | Specifies the unit cost of the resource. | |
| 20 | Line Discount % Δ BC28 | Decimal | Specifies the line discount percentage for the product. | |
| 21 | Allow Line Disc. Δ BC28 | Boolean | Specifies if a line discount will be calculated when the price is offered. | |
| 22 | Allow Invoice Disc. Δ BC28 | Boolean | Specifies if an invoice discount will be calculated when the price is offered. | |
| 23 | Price Includes VAT Δ BC28 | Boolean | Specifies if the price includes VAT. | |
| 24 | VAT Bus. Posting Gr. (Price) | Code[20] | Specifies the VAT business posting group for customers for whom you want the price (which includes VAT) to apply. via Page 7022 “Price Worksheet” | TableRelation Table 323 “VAT Business Posting Group” (VAT Business Posting Group) |
| 25 | VAT Prod. Posting Group | Code[20] | — | TableRelation Table 324 “VAT Product Posting Group” (VAT Product Posting Group) |
| 26 | Asset ID | Guid | — | |
| 27 | Line Amount | Decimal | — | not editable |
| 28 | Price Type | Enum “Price Type” | — | enum Enum 7009 “Price Type” |
| 29 | Description | Text[100] | — | |
| 30 | Status Δ BC28 | Enum “Price Status” | Specifies whether the price list line is in Draft status and can be edited, Inactive and cannot be edited or used, or Active and used for price calculations. | enum Enum 7005 “Price Status” |
| 31 | Direct Unit Cost Δ BC28 | Decimal | Specifies the new direct unit cost of the product. | |
| 32 | Source Group | Enum “Price Source Group” | — | enum Enum 7002 “Price Source Group” |
| 33 | Product No. Δ BC28 | Code[20] | Specifies the identifier of the product. If no product is selected, the price and discount values will apply to all products of the selected product type for which those values are not specified. For example, if you choose Item as the product type but do not specify a specific item, the price will a… | TableRelation Table 15 “G/L Account”, Table 152 “Resource Group”, Table 156 “Resource” (if (“Asset Type” = const(Item)) Item where(“No.” = field(“Product No.”)) else if (“Asset Type” = const(“G/L Account”)) “G/L Account” else if (“Asset Type” = const(Resource)) Resource else if (“Asset Type” = const(“Resource Group”)) “Resource Group” else if (“Asset Type” = const(“Item Discount Group”…) |
| 34 | Assign-to No. Δ BC28 | Code[20] | Specifies the entity to which the prices are assigned. The options depend on the selection in the Assign-to Type field. If you choose an entity, the price list will be used only for that entity. | TableRelation Table 18 “Customer”, Table 340 “Customer Discount Group”, Table 5050 “Contact” (if (“Source Type” = const(Campaign)) Campaign else if (“Source Type” = const(Contact)) Contact else if (“Source Type” = const(Customer)) Customer else if (“Source Type” = const(“Customer Disc. Group”)) “Customer Discount Group” else if (“Source Type” = const(“Customer Price Group”)) “Customer Price …) |
| 35 | Assign-to Parent No. Δ BC28 | Code[20] | Specifies the project to which the prices are assigned. If you choose an entity, the price list will be used only for that entity. | TableRelation Table 167 “Job” (if (“Source Type” = const(“Job Task”)) Job) |
| 36 | Variant Code Lookup Δ BC28 | Code[10] | Specifies the variant of the item on the line. | TableRelation Table 5401 “Item Variant” (if (“Asset Type” = const(Item)) “Item Variant”.Code where(“Item No.” = field(“Asset No.”))) |
| 37 | Unit of Measure Code Lookup Δ BC28 | Code[10] | Specifies the unit of measure for the product. | TableRelation Table 204 “Unit of Measure”, Table 205 “Resource Unit of Measure”, Table 5404 “Item Unit of Measure” (if (“Asset Type” = const(Item)) “Item Unit of Measure”.Code where(“Item No.” = field(“Asset No.”)) else if (“Asset Type” = const(Resource)) “Resource Unit of Measure”.Code where(“Resource No.” = field(“Asset No.”)) else if (“Asset Type” = const(“Resource Group”)) “Unit of Measure”) |
| 100 | Existing Line Δ BC28 | Boolean | Specifies if the current line is a copy of the existing price list line. | DataClassification SystemMetadata |
| 101 | Existing Unit Price Δ BC28 | Decimal | Specifies the current unit price of the product. | not editable |
| 102 | Existing Direct Unit Cost Δ BC28 | Decimal | Specifies the current direct unit cost of the product. | not editable |
| 103 | Existing Unit Cost Δ BC28 | Decimal | Specifies the current unit cost of the product. | not editable |
Keys
- PK: Price List Code, Existing Line, Line No. (clustered)
- Key1: Price Type, Source Group
Events published
OnAfterCopyFromPriceAsset(PriceAsset: Record "Price Asset"; var PriceWorksheetLine: Record "Price Worksheet Line")(integration)OnAfterCopyFromPriceListHeader(PriceListHeader: Record "Price List Header")(integration)OnAfterCopyFromPriceSource(PriceSource: Record "Price Source")(integration)OnAfterCopyExistingPrices(var PriceWorksheetLine: Record "Price Worksheet Line"; PriceListLine: Record "Price List Line")(integration)OnAfterCopyToPriceAsset(var PriceAsset: Record "Price Asset")(integration)OnAfterCopyToPriceSource(var PriceSource: Record "Price Source")(integration)OnAfterCopySourceFrom(var PriceWorksheetLine: Record "Price Worksheet Line"; PriceListHeader: Record "Price List Header")(integration)OnAfterInitHeaderDefaults(PriceListHeader: Record "Price List Header")(integration)OnAfterIsUOMSupported(PriceWorksheetLine: Record "Price Worksheet Line"; var Result: Boolean)(integration)
Procedures
IsAssetItem(): BooleanIsAssetResource(): BooleanIsEditable(): BooleanIsHeaderActive(): BooleanIsLineToVerify(): BooleanIsUOMSupported(): BooleanIsAmountMandatory(AmountType: enum "Price Amount Type"): BooleanIsAmountSupported(): BooleanIsRealLine(): BooleanIsSourceNoAllowed(): BooleanCopyExistingPrices(PriceListLine: Record "Price List Line")CopySourceFrom(PriceListHeader: Record "Price List Header")CopyFrom(PriceListHeader: Record "Price List Header")CopyFrom(PriceAsset: Record "Price Asset")SetNewRecord(NewRecord: Boolean)CopyTo(var PriceAsset: Record "Price Asset")CopyTo(var PriceSource: Record "Price Source")SyncDropDownLookupFields()Verify(): BooleanTryVerify()
Plus 16 local procedures.
Triggers
OnInsert
Relations
- Product No.: TableRelation Table 15 “G/L Account” (conditional)
- Product No.: TableRelation Table 152 “Resource Group” (conditional)
- Product No.: TableRelation Table 156 “Resource” (conditional)
- Assign-to Parent No.: TableRelation Table 167 “Job”
- Assign-to No.: TableRelation Table 18 “Customer” (conditional)
- Work Type Code: TableRelation Table 200 “Work Type”
- Unit of Measure Code Lookup: TableRelation Table 204 “Unit of Measure” (conditional)
- Unit of Measure Code Lookup: TableRelation Table 205 “Resource Unit of Measure” (conditional)
- Product No.: TableRelation Table 27 “Item” (conditional)
- VAT Bus. Posting Gr. (Price): TableRelation Table 323 “VAT Business Posting Group”
- VAT Prod. Posting Group: TableRelation Table 324 “VAT Product Posting Group”
- Assign-to No.: TableRelation Table 340 “Customer Discount Group” (conditional)
- Currency Code: TableRelation Table 4 “Currency”
- Assign-to No.: TableRelation Table 5050 “Contact” (conditional)
- Assign-to No.: TableRelation Table 5071 “Campaign” (conditional)
- Variant Code Lookup: TableRelation Table 5401 “Item Variant”
- Unit of Measure Code Lookup: TableRelation Table 5404 “Item Unit of Measure” (conditional)
- Price List Code: TableRelation Table 7000 “Price List Header”
Pages and codeunits on this table
- Page 7022 “Price Worksheet” (source table)
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 7017 “Price List Management” (2 calls:
IsAllowedEditingActivePrice → IsAllowedEditingActivePrice,OnInsert → GetDefaultPriceListCode)
Countries that replace it
Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).
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: "Price Worksheet Line"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.