---
id: object/page/354
type: object
title: Page 354 "Item Turnover Lines"
summary: Page 354 "Item Turnover Lines" in Base Application (Microsoft.Inventory.Analysis). 4 public procedures, 1 events. Present since at least BC23, still in BC30, changed in BC24, BC26.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: "26"
  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: 403addb9b3d88a67dc3c38c7abca31742f4ba48e80f887fce382f5d1e7a40f7a
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Inventory/Analysis/ItemTurnoverLines.Page.al
    title: src/Layers/W1/BaseApp/Inventory/Analysis/ItemTurnoverLines.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: 354
name: Item Turnover Lines
caption: Lines
namespace: Microsoft.Inventory.Analysis
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "26"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 6
  events: 1
  subscribers: 0
  controls: 6
  actions: 0
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 0
  implements: 0
---

# Page 354 "Item Turnover Lines"

> Page 354 "Item Turnover Lines" in Base Application (Microsoft.Inventory.Analysis). 4 public procedures, 1 events. Present since at least BC23, still in BC30, changed in BC24, BC26.

Base Application · Microsoft.Inventory.Analysis · captioned "Lines" · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Inventory/Analysis/ItemTurnoverLines.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Lines |
| SourceTable | Item Turnover Buffer |
| PageType | ListPart |

## 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 |
|---|---|---|---|
| Control1 | Period Start | [Period Start](../table/921.md#fields) | Specifies the start date of the period defined on the line, related to year-to-date inventory turnover. <small>from the table field</small> |
|  | Period Name | [Period Name](../table/921.md#fields) | Specifies the name of the period defined on the line, related to year-to-date inventory turnover. <small>from the table field</small> |
|  | Purchases (Qty.) | [Purchases (Qty.)](../table/921.md#fields) | Specifies how many units of the item have been purchased. The program automatically calculates and updates the contents of the field, using the Invoiced Quantity field in the Item Ledger Entry table for those entries of the Purchase type. |
|  | Purchases (LCY) | [Purchases (LCY)](../table/921.md#fields) | Specifies the total purchase amount, in LCY, of the item that has been purchased. The program automatically calculates and updates the contents of the field, using the Sales Amount (Actual) field in the Value Entry table for those entries that have been posted as purchases. |
|  | Sales (Qty.) | [Sales (Qty.)](../table/921.md#fields) | Specifies how many units of the item have been sold. The program automatically calculates and updates the contents of the field, using the Invoiced Quantity field in the Item Ledger Entry table for those entries of the Sales type. |
|  | Sales (LCY) | [Sales (LCY)](../table/921.md#fields) | Specifies the sales amount, in LCY, of the item that has been sold. The program automatically calculates and updates the contents of the field, using the Sales Amount (Actual) field in the Value Entry table for those entries that have been posted as sales. |

## Events published

- `OnAfterCalcLine(var Item: Record Item; var ItemTurnoverBuffer: Record "Item Turnover Buffer")` (integration)

## Procedures

- `SetLines(var NewItem: Record Item; NewPeriodType: Enum "Analysis Period Type"; NewAmountType: Enum "Analysis Amount Type")`
- `ShowItemEntries(ShowSales: Boolean)`
- `ShowValueEntries(ShowSales: Boolean)`
- `SetDateFilter()` (protected)

Plus 1 local procedures.

## Triggers

OnAfterGetRecord, OnFindRecord, OnNextRecord, OnOpenPage

## Relations

- source table [Table 921 "Item Turnover Buffer"](../table/921.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 920 "Period Form Lines Mgt."](../codeunit/920.md) (2 calls: `OnFindRecord → FindDate`, `OnNextRecord → NextDate`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC26

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: "Item Turnover Lines")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
