Page 396 Sales Shipment Statistics, source in 29
Source29
src/Layers/W1/BaseApp/Sales/History/SalesShipmentStatistics.Page.al128 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;
/// <summary>
/// Displays statistical information for a posted sales shipment including line counts, quantities, and weights.
/// </summary>
page 396 "Sales Shipment Statistics"
{
Caption = 'Sales Shipment Statistics';
Editable = false;
LinksAllowed = false;
PageType = Card;
SourceTable = "Sales Shipment Header";
layout
{
area(content)
{
group(General)
{
Caption = 'General';
field(LineQty; LineQty)
{
AutoFormatType = 0;
ApplicationArea = Basic, Suite;
Caption = 'Quantity';
DecimalPlaces = 0 : 5;
ToolTip = 'Specifies the total quantity of G/L account entries, items and/or resources in the sales document that were shipped.';
}
field(TotalParcels; TotalParcels)
{
AutoFormatType = 0;
ApplicationArea = Basic, Suite;
Caption = 'Parcels';
DecimalPlaces = 0 : 5;
ToolTip = 'Specifies the total number of parcels shipped from the sales document.';
}
field(TotalNetWeight; TotalNetWeight)
{
AutoFormatType = 0;
ApplicationArea = Basic, Suite;
Caption = 'Net Weight';
DecimalPlaces = 0 : 5;
ToolTip = 'Specifies the total net weight of the items shipped from the sales document.';
}
field(TotalGrossWeight; TotalGrossWeight)
{
AutoFormatType = 0;
ApplicationArea = Basic, Suite;
Caption = 'Gross Weight';
DecimalPlaces = 0 : 5;
ToolTip = 'Specifies the total gross weight of the items shipped from the sales document.';
}
field(TotalVolume; TotalVolume)
{
AutoFormatType = 0;
ApplicationArea = Basic, Suite;
Caption = 'Volume';
DecimalPlaces = 0 : 5;
ToolTip = 'Specifies the total volume of the items shipped from the sales document.';
}
}
}
}
actions
{
}
trigger OnAfterGetRecord()
begin
ClearAll();
CalculateTotals();
end;
var
LineQty: Decimal;
TotalNetWeight: Decimal;
TotalGrossWeight: Decimal;
TotalVolume: Decimal;
TotalParcels: Decimal;
local procedure CalculateTotals()
var
SalesShptLine: Record "Sales Shipment Line";
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeCalculateTotals(Rec, LineQty, TotalNetWeight, TotalGrossWeight, TotalVolume, TotalParcels, IsHandled);
if IsHandled then
exit;
SalesShptLine.SetRange("Document No.", Rec."No.");
OnCalculateTotalsOnAfterSalesShptLineSetFilters(SalesShptLine, Rec);
if SalesShptLine.Find('-') then
repeat
LineQty += SalesShptLine.Quantity;
TotalNetWeight += SalesShptLine.Quantity * SalesShptLine."Net Weight";
TotalGrossWeight += SalesShptLine.Quantity * SalesShptLine."Gross Weight";
TotalVolume += SalesShptLine.Quantity * SalesShptLine."Unit Volume";
if SalesShptLine."Units per Parcel" > 0 then
TotalParcels += Round(SalesShptLine.Quantity / SalesShptLine."Units per Parcel", 1, '>');
OnCalculateTotalsOnAfterAddLineTotals(
SalesShptLine, LineQty, TotalNetWeight, TotalGrossWeight, TotalVolume, TotalParcels, Rec)
until SalesShptLine.Next() = 0;
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeCalculateTotals(SalesShipmentHeader: Record "Sales Shipment Header"; var LineQty: Decimal; var TotalNetWeight: Decimal; var TotalGrossWeight: Decimal; var TotalVolume: Decimal; var TotalParcels: Decimal; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCalculateTotalsOnAfterSalesShptLineSetFilters(var SalesShipmentLine: Record "Sales Shipment Line"; SalesShipmentHeader: Record "Sales Shipment Header")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCalculateTotalsOnAfterAddLineTotals(var SalesShipmentLine: Record "Sales Shipment Line"; var LineQty: Decimal; var TotalNetWeight: Decimal; var TotalGrossWeight: Decimal; var TotalVolume: Decimal; var TotalParcels: Decimal; SalesShipmentHeader: Record "Sales Shipment Header")
begin
end;
}