Report 6529 Item Tracking Navigate
- App
- Base Application
- Namespace
- Microsoft.Inventory.Reports
- Versions
- 17-28
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Inventory/Reports/ItemTrackingNavigate.Report.al223 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace Microsoft.Inventory.Reports;
using Microsoft.Foundation.Navigate;
using Microsoft.Inventory.Item;
using System.IO;
using System.Utilities;
report 6529 "Item Tracking Navigate"
{
Caption = 'Item Tracking Navigate';
DefaultRenderingLayout = RDLCLayout;
dataset
{
dataitem("Integer"; "Integer")
{
DataItemTableView = sorting(Number) where(Number = filter(1 ..));
column(TodayFormatted; Format(Today, 0, 4))
{
}
column(CompanyName; COMPANYPROPERTY.DisplayName())
{
}
column(Head3View; ItemFilters.GetFilter("Serial No. Filter") <> '')
{
}
column(Head4View; ItemFilters.GetFilter("Lot No. Filter") <> '')
{
}
column(Head5View; ItemFilters.GetFilter("No.") <> '')
{
}
column(Head6View; ItemFilters.GetFilter("Variant Filter") <> '')
{
}
column(FormatedSerialNoFilter; Text001 + Format(ItemFilters.GetFilter("Serial No. Filter")))
{
}
column(FormatedLotNoFilter; Text002 + Format(ItemFilters.GetFilter("Lot No. Filter")))
{
}
column(FormatedtemNoFilter; Text003 + Format(ItemFilters.GetFilter("No.")))
{
}
column(FormatedVariantFilter; Text004 + Format(ItemFilters.GetFilter("Variant Filter")))
{
}
column(ItemTrackingNavigateCaption; ItemTrackingNavigateCaptionLbl)
{
}
column(CurrReportPageNoCaption; CurrReportPageNoCaptionLbl)
{
}
column(NavigateFiltersCaption; NavigateFiltersCaptionLbl)
{
}
dataitem(RecordBuffer; "Integer")
{
DataItemTableView = sorting(Number) where(Number = filter(1 ..));
column(TempDocEntryNoOfRecords; TempDocEntry."No. of Records")
{
}
column(TempDocEntryTableName; TempDocEntry."Table Name")
{
}
column(PrintOnlyOnePerPage; PrintOnlyOnePerPage)
{
}
column(RecordCounter; RecordCounter)
{
}
column(TempRecordBufferPrimaryKey; TempRecordBuffer."Primary Key")
{
}
column(TempRecordBufferSerialNo; TempRecordBuffer."Serial No.")
{
}
column(TempRecordBufferLotNo; TempRecordBuffer."Lot No.")
{
}
column(TempDocEntryNoofRecordsCaption; TempDocEntryNoofRecordsCaptionLbl)
{
}
column(TempDocEntryTableNameCaption; TempDocEntryTableNameCaptionLbl)
{
}
column(TempRecordBufferSerialNoCaption; TempRecordBufferSerialNoCaptionLbl)
{
}
column(TempRecordBufferLotNoCaption; TempRecordBufferLotNoCaptionLbl)
{
}
trigger OnAfterGetRecord()
begin
if Number = 1 then begin
if not TempRecordBuffer.Find('-') then
CurrReport.Break();
end else
if TempRecordBuffer.Next() = 0 then
CurrReport.Break();
end;
trigger OnPreDataItem()
begin
TempRecordBuffer.SetCurrentKey("Table No.", "Search Record ID");
TempRecordBuffer.SetRange("Table No.", TempDocEntry."Table ID");
RecordCounter := RecordCounter + 1;
end;
}
trigger OnAfterGetRecord()
begin
if Number = 1 then begin
if not TempDocEntry.Find('-') then
CurrReport.Break();
end else
if TempDocEntry.Next() = 0 then
CurrReport.Break();
end;
trigger OnPreDataItem()
begin
RecordCounter := 0;
end;
}
}
requestpage
{
layout
{
area(content)
{
group(Options)
{
Caption = 'Options';
field(PrintOnlyOnePerPage; PrintOnlyOnePerPage)
{
ApplicationArea = ItemTracking;
Caption = 'New Page per Table';
ToolTip = 'Specifies if you want each different table where the serial, lot or package number is used to be listed on a different page.';
}
}
}
}
actions
{
}
}
rendering
{
layout(RDLCLayout)
{
Type = RDLC;
LayoutFile = './Inventory/Reports/ItemTrackingNavigate.rdlc';
Summary = 'Report layout made in the legacy RDLC format. Use an RDLC editor to modify the layout.';
}
}
labels
{
}
var
TempDocEntry: Record "Document Entry" temporary;
TempRecordBuffer: Record "Record Buffer" temporary;
ItemFilters: Record Item;
PrintOnlyOnePerPage: Boolean;
RecordCounter: Integer;
#pragma warning disable AA0074
Text001: Label 'Serial No. : ';
Text002: Label 'Lot No. : ';
Text003: Label 'Item No. : ';
Text004: Label 'Variant Code. : ';
#pragma warning restore AA0074
ItemTrackingNavigateCaptionLbl: Label 'Item Tracking Navigate';
CurrReportPageNoCaptionLbl: Label 'Page';
NavigateFiltersCaptionLbl: Label 'Navigate Filters';
TempDocEntryNoofRecordsCaptionLbl: Label 'No. of Records';
TempDocEntryTableNameCaptionLbl: Label 'Table Name';
TempRecordBufferSerialNoCaptionLbl: Label 'Serial No.';
TempRecordBufferLotNoCaptionLbl: Label 'Lot No.';
procedure TransferDocEntries(var NewDocEntry: Record "Document Entry")
var
TempDocumentEntry: Record "Document Entry";
begin
TempDocumentEntry := NewDocEntry;
NewDocEntry.Reset();
if NewDocEntry.Find('-') then
repeat
TempDocEntry := NewDocEntry;
TempDocEntry.Insert();
until NewDocEntry.Next() = 0;
NewDocEntry := TempDocumentEntry;
end;
procedure TransferRecordBuffer(var NewRecordBuffer: Record "Record Buffer")
begin
NewRecordBuffer.Reset();
if NewRecordBuffer.Find('-') then
repeat
TempRecordBuffer := NewRecordBuffer;
TempRecordBuffer.Insert();
until NewRecordBuffer.Next() = 0;
end;
procedure SetTrackingFilters(var NewItemFilters: Record Item)
begin
ItemFilters.CopyFilters(NewItemFilters);
end;
}