---
id: object/page/7002
type: object
title: Page 7002 "Sales Prices"
summary: Page 7002 "Sales Prices" in Base Application (Microsoft.Sales.Pricing). 3 public procedures, 4 events. Present since at least BC23, still in BC30, changed in BC24-25, BC27-29.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: "29"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 0b17cf7a8017d5c138db064cf26d7481a541d308b2a0cbe078183b2b51a76689
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Sales/Pricing/SalesPrices.Page.al
    title: src/Layers/W1/BaseApp/Sales/Pricing/SalesPrices.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 7002
name: Sales Prices
namespace: Microsoft.Sales.Pricing
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "25"
  - "27"
  - "28"
  - "29"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 21
  events: 4
  subscribers: 0
  controls: 21
  actions: 3
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 2
  called_by: 2
  implements: 0
---

# Page 7002 "Sales Prices"

> Page 7002 "Sales Prices" in Base Application (Microsoft.Sales.Pricing). 3 public procedures, 4 events. Present since at least BC23, still in BC30, changed in BC24-25, BC27-29.

Base Application · Microsoft.Sales.Pricing · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Sales/Pricing/SalesPrices.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Sales Prices |
| SourceTable | Sales Price |
| PageType | List |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| General | Sales Type Filter | `SalesTypeFilter` | Specifies a filter for which sales prices to display. |
|  | Sales Code Filter | `SalesCodeFilter` | Specifies a filter for which sales prices to display. |
|  | Item No. Filter | `ItemNoFilter` | Specifies a filter for which sales prices to display. |
|  | Starting Date Filter | `StartingDateFilter` | Specifies a filter for which sales prices to display. |
|  | Currency Code Filter | `CurrencyCodeFilter` | Specifies a filter for which sales prices to display. |
|  | SystemId | `Rec.SystemId` | Specifies system id to provide OData capabilities. |
| Filters | FilterDescription | `GetFilterDescription()` | Specifies a filter for which sales prices to display. |
| Control1 | Sales Type | [Sales Type](../table/7002.md#fields) | Specifies the sales price type, which defines whether the price is for an individual, group, all customers, or a campaign. <small>from the table field</small> |
|  | Sales Code | [Sales Code](../table/7002.md#fields) | Specifies the code that belongs to the Sales Type. <small>from the table field</small> |
|  | Item No. | [Item No.](../table/7002.md#fields) | Specifies the number of the item for which the sales price is valid. <small>from the table field</small> |
|  | Variant Code | [Variant Code](../table/7002.md#fields) | Specifies the variant of the item on the line. <small>from the table field</small> |
|  | Currency Code | [Currency Code](../table/7002.md#fields) | Specifies the code for the currency of the sales price. <small>from the table field</small> |
|  | Unit of Measure Code | [Unit of Measure Code](../table/7002.md#fields) | Specifies how each unit of the item or resource is measured, such as in pieces or hours. By default, the value in the Base Unit of Measure field on the item or resource card is inserted. <small>from the table field</small> |
|  | Minimum Quantity | [Minimum Quantity](../table/7002.md#fields) | Specifies the minimum sales quantity required to warrant the sales price. <small>from the table field</small> |
|  | Unit Price | [Unit Price](../table/7002.md#fields) | Specifies the price of one unit of the item or resource. You can enter a price manually or have it entered according to the Price/Profit Calculation field on the related card. <small>from the table field</small> |
|  | Starting Date | [Starting Date](../table/7002.md#fields) | Specifies the date from which the sales price is valid. <small>from the table field</small> |
|  | Ending Date | [Ending Date](../table/7002.md#fields) | Specifies the calendar date when the sales price agreement ends. <small>from the table field</small> |
|  | Price Includes VAT | [Price Includes VAT](../table/7002.md#fields) | Specifies if the sales price includes VAT. <small>from the table field</small> |
|  | Allow Line Disc. | [Allow Line Disc.](../table/7002.md#fields) | Specifies if a line discount will be calculated when the sales price is offered. <small>from the table field</small> |
|  | Allow Invoice Disc. | [Allow Invoice Disc.](../table/7002.md#fields) | Specifies if an invoice discount will be calculated when the sales price is offered. <small>from the table field</small> |
|  | VAT Bus. Posting Gr. (Price) | [VAT Bus. Posting Gr. (Price)](../table/7002.md#fields) | Specifies the VAT business posting group for customers for whom you want the sales price (which includes VAT) to apply. |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Processing | Filter | Apply the filter. |  |
|  | Clear Filter | Clear filter. |  |
|  | Copy Prices | Select prices and press OK to copy them to Customer No. |  |

## Events published

- `OnAfterGetCurrRecordOnAfterCalcSalesCodeControlEditable(var SalesPrice: Record "Sales Price"; var SalesCodeControlEditable: Boolean)` (integration): Raises an event after calculating whether the sales code field should be editable.
- `OnOpenPageOnBeforeGetRecFilters(var SalesPrice: Record "Sales Price"; var IsHandled: Boolean)` (integration): Raises an event before retrieving record filters when the page opens.
- `OnSetRecFiltersOnBeforeCheckFilters(var SalesPrice: Record "Sales Price")` (integration)
- `OnBeforeCheckFilters(var SalesPrice: Record "Sales Price"; TableNo: Integer; var FilterTxt: Text; var IsEmptyFilter: Boolean)` (integration): Raises an event before checking if filter values are valid.

## Procedures

- `GetRecFilters()`
- `SetRecFilters()`: Applies filter settings to the sales price records based on current filter values.
- `GetSelectionFilter(var SalesPrice: Record "Sales Price")`: Retrieves the currently selected sales price records as a filter.

Plus 14 local procedures.

## Triggers

OnAfterGetCurrRecord, OnInit, OnOpenPage

## Relations

- source table [Table 7002 "Sales Price"](../table/7002.md)

## 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 4030 "Client Type Management"](../codeunit/4030.md) (1 call: `OnOpenPage → GetCurrentClientType`)
- [Codeunit 7049 "Feature - Price Calculation"](../codeunit/7049.md) (1 call: `OnInit → FailIfFeatureEnabled`)

## Called by

- [Page 22 "Customer List"](../page/22.md) (1 call: `ShowPrices → (object)`)
- [Page 31 "Item List"](../page/31.md) (1 call: `ShowPrices → (object)`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-25, BC27-29

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: "page", object_name: "Sales Prices")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
