Table 5847 Average Cost Calc. Overview
- App
- Base Application
- Namespace
- Microsoft.Inventory.Costing
- Versions
- 17-28
Fields, 21Keys, 3Procedures, 4Events, 1
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Inventory/Costing/AverageCostCalcOverview.Table.al208 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.Costing;
using Microsoft.Inventory.Item;
using Microsoft.Inventory.Ledger;
using Microsoft.Inventory.Location;
table 5847 "Average Cost Calc. Overview"
{
Caption = 'Average Cost Calc. Overview';
DataClassification = CustomerContent;
fields
{
field(1; "Entry No."; Integer)
{
Caption = 'Entry No.';
}
field(2; Type; Option)
{
Caption = 'Type';
ToolTip = 'Specifies either that the entry is a summary entry, Closing Entry, or the type that was used in the calculation of the average cost of the item.';
OptionCaption = 'Closing Entry,Increase,Applied Increase,Applied Decrease,Decrease,Revaluation';
OptionMembers = "Closing Entry",Increase,"Applied Increase","Applied Decrease",Decrease,Revaluation;
}
field(3; "Valuation Date"; Date)
{
Caption = 'Valuation Date';
ToolTip = 'Specifies the valuation date associated with the average cost calculation.';
}
field(4; "Item No."; Code[20])
{
Caption = 'Item No.';
ToolTip = 'Specifies the number of the item associated with the entry.';
TableRelation = Item;
}
field(5; "Location Code"; Code[10])
{
Caption = 'Location Code';
ToolTip = 'Specifies the location code associated with the entry.';
TableRelation = Location;
}
field(6; "Variant Code"; Code[10])
{
Caption = 'Variant Code';
ToolTip = 'Specifies the variant of the item on the line.';
TableRelation = "Item Variant".Code where("Item No." = field("Item No."));
}
field(7; "Cost is Adjusted"; Boolean)
{
Caption = 'Cost is Adjusted';
ToolTip = 'Specifies whether the cost is adjusted for the entry.';
}
field(11; "Attached to Entry No."; Integer)
{
Caption = 'Attached to Entry No.';
TableRelation = "Item Ledger Entry";
}
field(12; "Attached to Valuation Date"; Date)
{
Caption = 'Attached to Valuation Date';
}
field(13; Level; Integer)
{
Caption = 'Level';
}
field(21; "Item Ledger Entry No."; Integer)
{
Caption = 'Item Ledger Entry No.';
ToolTip = 'Specifies the number of the item ledger entry that this entry is linked to.';
TableRelation = "Item Ledger Entry";
}
field(22; "Posting Date"; Date)
{
Caption = 'Posting Date';
ToolTip = 'Specifies the posting date for the entry.';
}
field(23; "Entry Type"; Enum "Item Ledger Entry Type")
{
Caption = 'Entry Type';
ToolTip = 'Specifies which type of transaction that the entry is created from.';
}
field(24; "Document Type"; Option)
{
Caption = 'Document Type';
ToolTip = 'Specifies the type of document that the average cost applies to.';
OptionCaption = ' ,Sales Shipment,Sales Invoice,Sales Return Receipt,Sales Credit Memo,Purchase Receipt,Purchase Invoice,Purchase Return Shipment,Purchase Credit Memo,Transfer Shipment,Transfer Receipt,Service Shipment,Service Invoice,Service Credit Memo';
OptionMembers = " ","Sales Shipment","Sales Invoice","Sales Return Receipt","Sales Credit Memo","Purchase Receipt","Purchase Invoice","Purchase Return Shipment","Purchase Credit Memo","Transfer Shipment","Transfer Receipt","Service Shipment","Service Invoice","Service Credit Memo";
}
field(25; "Document No."; Code[20])
{
Caption = 'Document No.';
ToolTip = 'Specifies a document number for the entry.';
}
field(26; "Document Line No."; Integer)
{
Caption = 'Document Line No.';
ToolTip = 'Specifies the document line that the comment applies to.';
}
field(27; Description; Text[100])
{
Caption = 'Description';
}
field(31; Quantity; Decimal)
{
AutoFormatType = 0;
Caption = 'Quantity';
ToolTip = 'Specifies the quantity associated with the entry.';
DecimalPlaces = 0 : 5;
}
field(32; "Applied Quantity"; Integer)
{
Caption = 'Applied Quantity';
}
field(33; "Cost Amount (Expected)"; Decimal)
{
AutoFormatType = 1;
AutoFormatExpression = '';
Caption = 'Cost Amount (Expected)';
}
field(34; "Cost Amount (Actual)"; Decimal)
{
AutoFormatType = 1;
AutoFormatExpression = '';
Caption = 'Cost Amount (Actual)';
}
}
keys
{
key(Key1; "Entry No.")
{
Clustered = true;
}
key(Key2; "Attached to Valuation Date", "Attached to Entry No.", Type)
{
}
key(Key3; "Item Ledger Entry No.")
{
}
}
fieldgroups
{
}
var
ValueEntry: Record "Value Entry";
procedure CalculateAverageCost() AverageCost: Decimal
begin
AverageCost := 0;
if Type = Type::"Closing Entry" then begin
SetItemFilters();
ValueEntry.SumCostsTillValuationDate(ValueEntry);
if ValueEntry."Item Ledger Entry Quantity" = 0 then
exit(AverageCost);
AverageCost :=
(ValueEntry."Cost Amount (Actual)" + ValueEntry."Cost Amount (Expected)") /
ValueEntry."Item Ledger Entry Quantity";
exit(Round(AverageCost));
end;
if Quantity = 0 then
exit(AverageCost);
AverageCost := ("Cost Amount (Actual)" + "Cost Amount (Expected)") / Quantity;
exit(Round(AverageCost));
end;
procedure CalculateRemainingQty(): Decimal
begin
if Type <> Type::"Closing Entry" then
exit(0);
SetItemFilters();
ValueEntry.SumCostsTillValuationDate(ValueEntry);
exit(ValueEntry."Item Ledger Entry Quantity");
end;
procedure CalculateCostAmt(Actual: Boolean): Decimal
begin
if Type <> Type::"Closing Entry" then
exit(0);
SetItemFilters();
ValueEntry.SumCostsTillValuationDate(ValueEntry);
if Actual then
exit(ValueEntry."Cost Amount (Actual)");
exit(ValueEntry."Cost Amount (Expected)");
end;
procedure SetItemFilters()
begin
ValueEntry."Item No." := "Item No.";
ValueEntry."Valuation Date" := "Valuation Date";
ValueEntry."Location Code" := "Location Code";
ValueEntry."Variant Code" := "Variant Code";
OnAfterSetItemFilters(ValueEntry, Rec);
end;
[IntegrationEvent(false, false)]
local procedure OnAfterSetItemFilters(var ValueEntry: Record "Value Entry"; AverageCostCalcOverview: Record "Average Cost Calc. Overview")
begin
end;
}