Page 131 Posted Sales Shpt. Subform
- App
- Base Application
- Namespace
- Microsoft.Sales.History
- Versions
- 17-28
- Source table
- 111
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Sales/History/PostedSalesShptSubform.Page.al479 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.Sales.History;
using Microsoft.Finance.Dimension;
using Microsoft.Foundation.Navigate;
using Microsoft.Inventory.BOM;
using Microsoft.Inventory.Item.Catalog;
using Microsoft.Inventory.Ledger;
using System.Environment.Configuration;
/// <summary>
/// Displays the line items of a posted sales shipment as a subform on the document page.
/// </summary>
page 131 "Posted Sales Shpt. Subform"
{
AutoSplitKey = true;
Caption = 'Lines';
Editable = false;
LinksAllowed = false;
PageType = ListPart;
SourceTable = "Sales Shipment Line";
layout
{
area(content)
{
repeater(Control1)
{
ShowCaption = false;
field(Type; Rec.Type)
{
ApplicationArea = Advanced;
}
field(FilteredTypeField; Rec.FormatType())
{
ApplicationArea = Basic, Suite;
Caption = 'Type';
ToolTip = 'Specifies the type of transaction that was posted with the line.';
Visible = IsFoundation;
}
field("No."; Rec."No.")
{
ApplicationArea = Basic, Suite;
}
field("Item Reference No."; Rec."Item Reference No.")
{
AccessByPermission = tabledata "Item Reference" = R;
ApplicationArea = Suite, ItemReferences;
}
field("Variant Code"; Rec."Variant Code")
{
ApplicationArea = Planning;
Visible = false;
}
field(Description; Rec.Description)
{
ApplicationArea = Basic, Suite;
ToolTip = 'Specifies a description of the record.';
}
field("Description 2"; Rec."Description 2")
{
ApplicationArea = Basic, Suite;
Importance = Additional;
Visible = false;
}
field("Return Reason Code"; Rec."Return Reason Code")
{
ApplicationArea = Suite;
Visible = false;
}
field("Location Code"; Rec."Location Code")
{
ApplicationArea = Location;
ToolTip = 'Specifies the location from where inventory items to the customer on the sales document are to be shipped by default.';
}
field("Bin Code"; Rec."Bin Code")
{
ApplicationArea = Warehouse;
Visible = false;
}
field(Quantity; Rec.Quantity)
{
ApplicationArea = Basic, Suite;
BlankZero = true;
}
field("Unit of Measure Code"; Rec."Unit of Measure Code")
{
ApplicationArea = Basic, Suite;
}
field("Unit of Measure"; Rec."Unit of Measure")
{
ApplicationArea = Suite;
Visible = false;
}
field("Quantity Invoiced"; Rec."Quantity Invoiced")
{
ApplicationArea = Basic, Suite;
BlankZero = true;
}
field("Qty. Shipped Not Invoiced"; Rec."Qty. Shipped Not Invoiced")
{
ApplicationArea = Basic, Suite;
Editable = false;
Visible = false;
}
field("Requested Delivery Date"; Rec."Requested Delivery Date")
{
ApplicationArea = Basic, Suite;
Visible = false;
}
field("Promised Delivery Date"; Rec."Promised Delivery Date")
{
ApplicationArea = OrderPromising;
Visible = false;
}
field("Planned Delivery Date"; Rec."Planned Delivery Date")
{
ApplicationArea = Basic, Suite;
}
field("Planned Shipment Date"; Rec."Planned Shipment Date")
{
ApplicationArea = Basic, Suite;
}
field("Shipment Date"; Rec."Shipment Date")
{
ApplicationArea = Basic, Suite;
Visible = true;
}
field("Shipping Time"; Rec."Shipping Time")
{
ApplicationArea = Basic, Suite;
Visible = false;
}
field("Job No."; Rec."Job No.")
{
ApplicationArea = Jobs;
Visible = false;
}
field("Job Task No."; Rec."Job Task No.")
{
ApplicationArea = Jobs;
Visible = false;
}
field("Outbound Whse. Handling Time"; Rec."Outbound Whse. Handling Time")
{
ApplicationArea = Warehouse;
Visible = false;
}
field("Appl.-to Item Entry"; Rec."Appl.-to Item Entry")
{
ApplicationArea = Basic, Suite;
Visible = false;
}
field(Correction; Rec.Correction)
{
ApplicationArea = Basic, Suite;
Editable = false;
Visible = false;
}
field("Shortcut Dimension 1 Code"; Rec."Shortcut Dimension 1 Code")
{
ApplicationArea = Dimensions;
Visible = DimVisible1;
}
field("Shortcut Dimension 2 Code"; Rec."Shortcut Dimension 2 Code")
{
ApplicationArea = Dimensions;
Visible = DimVisible2;
}
field("ShortcutDimCode[3]"; ShortcutDimCode[3])
{
ApplicationArea = Dimensions;
CaptionClass = '1,2,3';
TableRelation = "Dimension Value".Code where("Global Dimension No." = const(3),
"Dimension Value Type" = const(Standard),
Blocked = const(false));
Visible = DimVisible3;
}
field("ShortcutDimCode[4]"; ShortcutDimCode[4])
{
ApplicationArea = Dimensions;
CaptionClass = '1,2,4';
TableRelation = "Dimension Value".Code where("Global Dimension No." = const(4),
"Dimension Value Type" = const(Standard),
Blocked = const(false));
Visible = DimVisible4;
}
field("ShortcutDimCode[5]"; ShortcutDimCode[5])
{
ApplicationArea = Dimensions;
CaptionClass = '1,2,5';
TableRelation = "Dimension Value".Code where("Global Dimension No." = const(5),
"Dimension Value Type" = const(Standard),
Blocked = const(false));
Visible = DimVisible5;
}
field("ShortcutDimCode[6]"; ShortcutDimCode[6])
{
ApplicationArea = Dimensions;
CaptionClass = '1,2,6';
TableRelation = "Dimension Value".Code where("Global Dimension No." = const(6),
"Dimension Value Type" = const(Standard),
Blocked = const(false));
Visible = DimVisible6;
}
field("ShortcutDimCode[7]"; ShortcutDimCode[7])
{
ApplicationArea = Dimensions;
CaptionClass = '1,2,7';
TableRelation = "Dimension Value".Code where("Global Dimension No." = const(7),
"Dimension Value Type" = const(Standard),
Blocked = const(false));
Visible = DimVisible7;
}
field("ShortcutDimCode[8]"; ShortcutDimCode[8])
{
ApplicationArea = Dimensions;
CaptionClass = '1,2,8';
TableRelation = "Dimension Value".Code where("Global Dimension No." = const(8),
"Dimension Value Type" = const(Standard),
Blocked = const(false));
Visible = DimVisible8;
}
field("Gross Weight"; Rec."Gross Weight")
{
Caption = 'Unit Gross Weight';
ApplicationArea = Basic, Suite;
Visible = false;
}
field("Net Weight"; Rec."Net Weight")
{
Caption = 'Unit Net Weight';
ApplicationArea = Basic, Suite;
Visible = false;
}
field("Unit Volume"; Rec."Unit Volume")
{
ApplicationArea = Basic, Suite;
Visible = false;
}
field("Units per Parcel"; Rec."Units per Parcel")
{
ApplicationArea = Basic, Suite;
Visible = false;
}
}
}
}
actions
{
area(processing)
{
group("F&unctions")
{
Caption = 'F&unctions';
Image = "Action";
action("Order Tra&cking")
{
ApplicationArea = Basic, Suite;
Caption = 'Order Tra&cking';
Image = OrderTracking;
ToolTip = 'Tracks the connection of a supply to its corresponding demand. This can help you find the original demand that created a specific production order or purchase order.';
trigger OnAction()
begin
ShowTracking();
end;
}
action(UndoShipment)
{
ApplicationArea = Basic, Suite;
Caption = '&Undo Shipment';
Image = UndoShipment;
ToolTip = 'Withdraw the line from the shipment. This is useful for making corrections, because the line is not deleted. You can make changes and post it again.';
trigger OnAction()
begin
UndoShipmentPosting();
end;
}
}
group("&Line")
{
Caption = '&Line';
Image = Line;
action(Dimensions)
{
AccessByPermission = TableData Dimension = R;
ApplicationArea = Dimensions;
Caption = 'Dimensions';
Image = Dimensions;
ShortCutKey = 'Alt+D';
ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.';
trigger OnAction()
begin
Rec.ShowDimensions();
end;
}
action(Comments)
{
ApplicationArea = Comments;
Caption = 'Co&mments';
Image = ViewComments;
ToolTip = 'View or add comments for the record.';
trigger OnAction()
begin
Rec.ShowLineComments();
end;
}
action(ItemTrackingEntries)
{
ApplicationArea = ItemTracking;
Caption = 'Item &Tracking Entries';
Image = ItemTrackingLedger;
ToolTip = 'View serial, lot or package numbers that are assigned to items.';
trigger OnAction()
begin
Rec.ShowItemTrackingLines();
end;
}
action("Assemble-to-Order")
{
AccessByPermission = TableData "BOM Component" = R;
ApplicationArea = Assembly;
Caption = 'Assemble-to-Order';
ToolTip = 'View the linked assembly order if the shipment was for an assemble-to-order sale.';
trigger OnAction()
begin
Rec.ShowAsmToOrder();
end;
}
action(ItemInvoiceLines)
{
ApplicationArea = Basic, Suite;
Caption = 'Item Invoice &Lines';
Image = ItemInvoice;
ToolTip = 'View posted sales invoice lines for the item.';
trigger OnAction()
begin
PageShowItemSalesInvLines();
end;
}
action(DocumentLineTracking)
{
ApplicationArea = Basic, Suite;
Caption = 'Document &Line Tracking';
Image = Navigate;
ToolTip = 'View related open, posted, or archived documents or document lines.';
trigger OnAction()
begin
ShowDocumentLineTracking();
end;
}
}
}
}
trigger OnAfterGetRecord()
begin
Rec.ShowShortcutDimCode(ShortcutDimCode);
end;
trigger OnInit()
var
ApplicationAreaMgmtFacade: Codeunit "Application Area Mgmt. Facade";
begin
IsFoundation := ApplicationAreaMgmtFacade.IsFoundationEnabled();
end;
trigger OnOpenPage()
begin
SetDimensionsVisibility();
end;
var
IsFoundation: Boolean;
protected var
ShortcutDimCode: array[8] of Code[20];
DimVisible1: Boolean;
DimVisible2: Boolean;
DimVisible3: Boolean;
DimVisible4: Boolean;
DimVisible5: Boolean;
DimVisible6: Boolean;
DimVisible7: Boolean;
DimVisible8: Boolean;
local procedure ShowTracking()
var
ItemLedgEntry: Record "Item Ledger Entry";
TempItemLedgEntry: Record "Item Ledger Entry" temporary;
TrackingForm: Page "Order Tracking";
begin
Rec.TestField(Type, Rec.Type::Item);
if Rec."Item Shpt. Entry No." <> 0 then begin
ItemLedgEntry.Get(Rec."Item Shpt. Entry No.");
TrackingForm.SetItemLedgEntry(ItemLedgEntry);
end else
TrackingForm.SetMultipleItemLedgEntries(TempItemLedgEntry,
DATABASE::"Sales Shipment Line", 0, Rec."Document No.", '', 0, Rec."Line No.");
TrackingForm.RunModal();
end;
local procedure UndoShipmentPosting()
var
SalesShptLine: Record "Sales Shipment Line";
IsHandled: Boolean;
begin
SalesShptLine.Copy(Rec);
CurrPage.SetSelectionFilter(SalesShptLine);
OnBeforeUndoShipmentPosting(SalesShptLine, IsHandled);
if not IsHandled then
CODEUNIT.Run(CODEUNIT::"Undo Sales Shipment Line", SalesShptLine);
end;
local procedure PageShowItemSalesInvLines()
begin
Rec.TestField(Type, Rec.Type::Item);
Rec.ShowItemSalesInvLines();
end;
/// <summary>
/// Opens the document line tracking page for this shipment line.
/// </summary>
procedure ShowDocumentLineTracking()
var
DocumentLineTrackingPage: Page "Document Line Tracking";
begin
Clear(DocumentLineTrackingPage);
DocumentLineTrackingPage.SetSourceDoc(
Enum::"Document Line Source Type"::"Sales Shipment", Rec."Document No.", Rec."Line No.", Rec."Blanket Order No.", Rec."Blanket Order Line No.", Rec."Order No.", Rec."Order Line No.");
DocumentLineTrackingPage.RunModal();
end;
local procedure SetDimensionsVisibility()
var
DimMgt: Codeunit DimensionManagement;
begin
DimVisible1 := false;
DimVisible2 := false;
DimVisible3 := false;
DimVisible4 := false;
DimVisible5 := false;
DimVisible6 := false;
DimVisible7 := false;
DimVisible8 := false;
DimMgt.UseShortcutDims(
DimVisible1, DimVisible2, DimVisible3, DimVisible4, DimVisible5, DimVisible6, DimVisible7, DimVisible8);
Clear(DimMgt);
OnAfterSetDimensionsVisibility();
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeUndoShipmentPosting(SalesShipmentLine: Record "Sales Shipment Line"; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(true, false)]
local procedure OnAfterSetDimensionsVisibility()
begin
end;
}