Page 6505 Lot No. Information Card
- App
- Base Application
- Namespace
- Microsoft.Inventory.Tracking
- Versions
- 17-28
- Source table
- 6505
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Inventory/Tracking/LotNoInformationCard.Page.al290 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.Tracking;
using Microsoft.Foundation.Navigate;
using Microsoft.Warehouse.Tracking;
page 6505 "Lot No. Information Card"
{
Caption = 'Lot No. Information Card';
PageType = Card;
PopulateAllFields = true;
SourceTable = "Lot No. Information";
layout
{
area(content)
{
group(General)
{
Caption = 'General';
field("Item No."; Rec."Item No.")
{
ApplicationArea = ItemTracking;
}
field("Variant Code"; Rec."Variant Code")
{
ApplicationArea = Planning;
}
field("Lot No."; Rec."Lot No.")
{
ApplicationArea = ItemTracking;
}
field(Description; Rec.Description)
{
ApplicationArea = ItemTracking;
}
field("Test Quality"; Rec."Test Quality")
{
ApplicationArea = ItemTracking;
Importance = Additional;
}
field("Certificate Number"; Rec."Certificate Number")
{
ApplicationArea = ItemTracking;
}
field(Blocked; Rec.Blocked)
{
ApplicationArea = ItemTracking;
}
}
group(Inventory)
{
Caption = 'Inventory';
field(InventoryField; Rec.Inventory)
{
ApplicationArea = ItemTracking;
}
field("Expired Inventory"; Rec."Expired Inventory")
{
ApplicationArea = ItemTracking;
}
}
}
area(factboxes)
{
systempart(Control1900383207; Links)
{
ApplicationArea = RecordLinks;
Visible = false;
}
systempart(Control1905767507; Notes)
{
ApplicationArea = Notes;
Visible = true;
}
}
}
actions
{
area(navigation)
{
group("&Lot No.")
{
Caption = '&Lot No.';
Image = Lot;
action("Item &Tracking Entries")
{
ApplicationArea = ItemTracking;
Caption = 'Item &Tracking Entries';
Image = ItemTrackingLedger;
ShortCutKey = 'Ctrl+Alt+Q';
ToolTip = 'View serial, lot or package numbers that are assigned to items.';
trigger OnAction()
var
ItemTrackingSetup: Record "Item Tracking Setup";
ItemTrackingDocMgt: Codeunit "Item Tracking Doc. Management";
begin
ItemTrackingSetup."Lot No." := Rec."Lot No.";
ItemTrackingDocMgt.ShowItemTrackingForEntity(0, '', Rec."Item No.", Rec."Variant Code", '', ItemTrackingSetup);
end;
}
action(Comment)
{
ApplicationArea = ItemTracking;
Caption = 'Comment';
Image = ViewComments;
RunObject = Page "Item Tracking Comments";
RunPageLink = Type = const("Lot No."),
"Item No." = field("Item No."),
"Variant Code" = field("Variant Code"),
"Serial/Lot No." = field("Lot No.");
ToolTip = 'View or add comments for the record.';
}
separator(Action28)
{
}
action("&Item Tracing")
{
ApplicationArea = ItemTracking;
Caption = '&Item Tracing';
Image = ItemTracing;
ToolTip = 'Trace where a serial, lot or package number assigned to the item was used, for example, to find which lot a defective component came from or to find all the customers that have received items containing the defective component.';
trigger OnAction()
var
ItemTracingBuffer: Record "Item Tracing Buffer";
ItemTracing: Page "Item Tracing";
begin
Clear(ItemTracing);
ItemTracingBuffer.SetRange("Item No.", Rec."Item No.");
ItemTracingBuffer.SetRange("Variant Code", Rec."Variant Code");
ItemTracingBuffer.SetRange("Lot No.", Rec."Lot No.");
ItemTracing.InitFilters(ItemTracingBuffer);
ItemTracing.FindRecords();
ItemTracing.RunModal();
end;
}
action(PrintLabel)
{
AccessByPermission = TableData "Serial No. Information" = I;
ApplicationArea = ItemTracking;
Image = Print;
Caption = 'Print Label';
ToolTip = 'Print Label';
trigger OnAction()
var
LotNoInfo: Record "Lot No. Information";
LotNoLabel: Report "Lot No Label";
begin
LotNoInfo := Rec;
CurrPage.SetSelectionFilter(LotNoInfo);
LotNoLabel.SetTableView(LotNoInfo);
LotNoLabel.RunModal();
end;
}
}
}
area(processing)
{
group(ButtonFunctions)
{
Caption = 'F&unctions';
Image = "Action";
Visible = ButtonFunctionsVisible;
action(CopyInfo)
{
ApplicationArea = ItemTracking;
Caption = 'Copy &Info';
Ellipsis = true;
Image = CopySerialNo;
ToolTip = 'Copy the information record from the old lot number.';
trigger OnAction()
var
SelectedRecord: Record "Lot No. Information";
ShowRecords: Record "Lot No. Information";
FocusOnRecord: Record "Lot No. Information";
ItemTrackingMgt: Codeunit "Item Tracking Management";
LotNoInfoList: Page "Lot No. Information List";
begin
ShowRecords.SetRange("Item No.", Rec."Item No.");
ShowRecords.SetRange("Variant Code", Rec."Variant Code");
FocusOnRecord.Copy(ShowRecords);
FocusOnRecord.SetRange("Lot No.", TrackingSpecification."Lot No.");
LotNoInfoList.SetTableView(ShowRecords);
if FocusOnRecord.FindFirst() then
LotNoInfoList.SetRecord(FocusOnRecord);
if LotNoInfoList.RunModal() = ACTION::LookupOK then begin
LotNoInfoList.GetRecord(SelectedRecord);
ItemTrackingMgt.CopyLotNoInformation(SelectedRecord, Rec."Lot No.");
end;
end;
}
}
action(Navigate)
{
ApplicationArea = ItemTracking;
Caption = 'Find entries...';
Image = Navigate;
ShortCutKey = 'Ctrl+Alt+Q';
ToolTip = 'Find entries and documents that exist for the document number and posting date on the selected document. (Formerly this action was named Navigate.)';
trigger OnAction()
var
ItemTrackingSetup: Record "Item Tracking Setup";
Navigate: Page Navigate;
begin
ItemTrackingSetup."Lot No." := Rec."Lot No.";
Navigate.SetTracking(ItemTrackingSetup);
Navigate.Run();
end;
}
}
area(Promoted)
{
group(Category_Process)
{
Caption = 'Process';
actionref(Navigate_Promoted; Navigate)
{
}
actionref(CopyInfo_Promoted; CopyInfo)
{
}
actionref(PrintLabel_Promoted; PrintLabel)
{
}
}
group("Category_Lot No.")
{
Caption = 'Lot No.';
actionref("Item &Tracking Entries_Promoted"; "Item &Tracking Entries")
{
}
actionref("&Item Tracing_Promoted"; "&Item Tracing")
{
}
actionref(Comment_Promoted; Comment)
{
}
}
}
}
trigger OnOpenPage()
begin
Rec.SetFilter("Date Filter", '>%1&<=%2', 0D, WorkDate());
if ShowButtonFunctions then
ButtonFunctionsVisible := true;
end;
var
ShowButtonFunctions: Boolean;
ButtonFunctionsVisible: Boolean;
protected var
TrackingSpecification: Record "Tracking Specification";
procedure Init(CurrentTrackingSpecification: Record "Tracking Specification")
begin
TrackingSpecification := CurrentTrackingSpecification;
ShowButtonFunctions := true;
end;
procedure InitWhse(CurrentTrackingSpecification: Record "Whse. Item Tracking Line")
begin
TrackingSpecification."Lot No." := CurrentTrackingSpecification."Lot No.";
ShowButtonFunctions := true;
OnAfterInitWhse(TrackingSpecification, CurrentTrackingSpecification);
end;
[IntegrationEvent(false, false)]
local procedure OnAfterInitWhse(var TrackingSpecification: Record "Tracking Specification"; WhseItemTrackingLine: Record "Whse. Item Tracking Line")
begin
end;
}