Table 7318 Posted Whse. Receipt Header
- App
- Base Application
- Namespace
- Microsoft.Warehouse.History
- Versions
- 17-28
Fields, 13Keys, 4Procedures, 5Events, 2
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Warehouse/History/PostedWhseReceiptHeader.Table.al292 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.Warehouse.History;
using Microsoft.Foundation.NoSeries;
using Microsoft.Inventory.Location;
using Microsoft.Warehouse.Comment;
using Microsoft.Warehouse.Journal;
using Microsoft.Warehouse.Request;
using Microsoft.Warehouse.Setup;
using Microsoft.Warehouse.Structure;
table 7318 "Posted Whse. Receipt Header"
{
Caption = 'Posted Whse. Receipt Header';
LookupPageID = "Posted Whse. Receipt List";
DataClassification = CustomerContent;
fields
{
field(1; "No."; Code[20])
{
Caption = 'No.';
ToolTip = 'Specifies the number of the involved entry or record, according to the specified number series.';
}
field(2; "Location Code"; Code[10])
{
Caption = 'Location Code';
ToolTip = 'Specifies the code of the location where the items were received.';
TableRelation = Location where("Use As In-Transit" = const(false));
}
field(3; "Assigned User ID"; Code[50])
{
Caption = 'Assigned User ID';
ToolTip = 'Specifies the ID of the user who is responsible for the document.';
DataClassification = EndUserIdentifiableInformation;
Editable = false;
TableRelation = "Warehouse Employee" where("Location Code" = field("Location Code"));
}
field(4; "Assignment Date"; Date)
{
Caption = 'Assignment Date';
ToolTip = 'Specifies the date when the user was assigned the activity.';
Editable = false;
}
field(5; "Assignment Time"; Time)
{
Caption = 'Assignment Time';
ToolTip = 'Specifies the time when the user was assigned the activity.';
Editable = false;
}
field(7; "No. Series"; Code[20])
{
Caption = 'No. Series';
ToolTip = 'Specifies the number series from which entry or record numbers are assigned to new entries or records.';
TableRelation = "No. Series";
}
field(8; "Zone Code"; Code[10])
{
Caption = 'Zone Code';
ToolTip = 'Specifies the code of the zone on this posted receipt header.';
TableRelation = Zone.Code where("Location Code" = field("Location Code"));
}
field(9; "Bin Code"; Code[20])
{
Caption = 'Bin Code';
ToolTip = 'Specifies the bin where the items are picked or put away.';
TableRelation = if ("Zone Code" = filter('')) Bin.Code where("Location Code" = field("Location Code"))
else
if ("Zone Code" = filter(<> '')) Bin.Code where("Location Code" = field("Location Code"),
"Zone Code" = field("Zone Code"));
}
field(11; Comment; Boolean)
{
CalcFormula = exist("Warehouse Comment Line" where("Table Name" = const("Posted Whse. Receipt"),
Type = const(" "),
"No." = field("No.")));
Caption = 'Comment';
Editable = false;
FieldClass = FlowField;
}
field(12; "Posting Date"; Date)
{
Caption = 'Posting Date';
ToolTip = 'Specifies the posting date of the receipt.';
}
field(13; "Vendor Shipment No."; Code[35])
{
Caption = 'Vendor Shipment No.';
ToolTip = 'Specifies the vendor''s shipment number. It is inserted in the corresponding field on the source document during posting.';
}
field(14; "Whse. Receipt No."; Code[20])
{
Caption = 'Whse. Receipt No.';
ToolTip = 'Specifies the number of the warehouse receipt that the posted warehouse receipt concerns.';
}
field(15; "Document Status"; Option)
{
Caption = 'Document Status';
ToolTip = 'Specifies the status of the posted warehouse receipt.';
Editable = false;
OptionCaption = ' ,Partially Put Away,Completely Put Away';
OptionMembers = " ","Partially Put Away","Completely Put Away";
}
}
keys
{
key(Key1; "No.")
{
Clustered = true;
}
key(Key2; "Location Code")
{
}
key(Key3; "Whse. Receipt No.")
{
}
key(Key4; "Posting Date")
{
}
}
fieldgroups
{
fieldgroup(DropDown; "No.", "Location Code", "Posting Date", "Document Status")
{
}
}
trigger OnDelete()
begin
DeleteRelatedLines();
end;
trigger OnInsert()
var
WarehouseSetup: Record "Warehouse Setup";
NoSeries: Codeunit "No. Series";
IsHandled: Boolean;
begin
WarehouseSetup.Get();
if "No." = '' then begin
IsHandled := false;
OnInsertOnBeforeTestWhseReceiptNos(WarehouseSetup, IsHandled);
if not IsHandled then
WarehouseSetup.TestField("Whse. Receipt Nos.");
"No. Series" := WarehouseSetup."Posted Whse. Receipt Nos.";
if NoSeries.AreRelated("No. Series", xRec."No. Series") then
"No. Series" := xRec."No. Series";
"No." := NoSeries.GetNextNo("No. Series", "Posting Date");
end;
end;
procedure GetHeaderStatus(SkipLineNo: Integer): Integer
var
PostedWhseReceiptLine: Record "Posted Whse. Receipt Line";
begin
PostedWhseReceiptLine.SetRange("No.", "No.");
if SkipLineNo <> 0 then
PostedWhseReceiptLine.SetFilter("Line No.", '<>%1', SkipLineNo);
PostedWhseReceiptLine.SetRange(Status, PostedWhseReceiptLine.Status::"Completely Put Away");
if not PostedWhseReceiptLine.IsEmpty() then begin
PostedWhseReceiptLine.SetFilter(Status, '<>%1', PostedWhseReceiptLine.Status::"Completely Put Away");
if not PostedWhseReceiptLine.IsEmpty() then
exit(PostedWhseReceiptLine.Status::"Partially Put Away");
exit(PostedWhseReceiptLine.Status::"Completely Put Away");
end else begin
PostedWhseReceiptLine.SetRange(Status, PostedWhseReceiptLine.Status::"Partially Put Away");
if not PostedWhseReceiptLine.IsEmpty() then
exit(PostedWhseReceiptLine.Status::"Partially Put Away");
end;
exit(PostedWhseReceiptLine.Status::" ");
end;
local procedure DeleteRelatedLines()
var
Location: Record Location;
WhsePutAwayRequest: Record "Whse. Put-away Request";
PostedWhseReceiptLine: Record "Posted Whse. Receipt Line";
WarehouseCommentLine: Record "Warehouse Comment Line";
begin
if Location.RequirePutaway("Location Code") then
TestField("Document Status", "Document Status"::"Completely Put Away");
WhsePutAwayRequest.SetRange("Document Type", WhsePutAwayRequest."Document Type"::Receipt);
WhsePutAwayRequest.SetRange("Document No.", "No.");
WhsePutAwayRequest.DeleteAll();
PostedWhseReceiptLine.SetRange("No.", "No.");
PostedWhseReceiptLine.DeleteAll();
WarehouseCommentLine.SetRange("Table Name", WarehouseCommentLine."Table Name"::"Posted Whse. Receipt");
WarehouseCommentLine.SetRange(Type, WarehouseCommentLine.Type::" ");
WarehouseCommentLine.SetRange("No.", "No.");
WarehouseCommentLine.DeleteAll();
end;
procedure LookupPostedWhseRcptHeader(var PostedWhseReceiptHeader: Record "Posted Whse. Receipt Header")
begin
Commit();
if UserId() <> '' then begin
PostedWhseReceiptHeader.FilterGroup := 2;
PostedWhseReceiptHeader.SetRange("Location Code");
end;
if Page.RunModal(0, PostedWhseReceiptHeader) = Action::LookupOK then;
if UserId() <> '' then begin
PostedWhseReceiptHeader.FilterGroup := 2;
PostedWhseReceiptHeader.SetRange("Location Code", PostedWhseReceiptHeader."Location Code");
PostedWhseReceiptHeader.FilterGroup := 0;
end;
end;
procedure FindFirstAllowedRec(Which: Text[1024]): Boolean
var
PostedWhseReceiptHeader: Record "Posted Whse. Receipt Header";
WMSManagement: Codeunit "WMS Management";
begin
if Find(Which) then begin
PostedWhseReceiptHeader := Rec;
while true do begin
if WMSManagement.LocationIsAllowedToView("Location Code") then
exit(true);
if Next(1) = 0 then begin
Rec := PostedWhseReceiptHeader;
if Find(Which) then
while true do begin
if WMSManagement.LocationIsAllowedToView("Location Code") then
exit(true);
if Next(-1) = 0 then
exit(false);
end;
end;
end;
end;
exit(false);
end;
procedure FindNextAllowedRec(Steps: Integer): Integer
var
PostedWhseReceiptHeader: Record "Posted Whse. Receipt Header";
WMSManagement: Codeunit "WMS Management";
RealSteps: Integer;
NextSteps: Integer;
begin
RealSteps := 0;
if Steps <> 0 then begin
PostedWhseReceiptHeader := Rec;
repeat
NextSteps := Next(Steps / Abs(Steps));
if WMSManagement.LocationIsAllowedToView("Location Code") then begin
RealSteps := RealSteps + NextSteps;
PostedWhseReceiptHeader := Rec;
end;
until (NextSteps = 0) or (RealSteps = Steps);
Rec := PostedWhseReceiptHeader;
if not Find() then;
end;
exit(RealSteps);
end;
procedure ErrorIfUserIsNotWhseEmployee()
var
WMSManagement: Codeunit "WMS Management";
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeErrorIfUserIsNotWhseEmployee("Location Code", IsHandled);
if IsHandled then
exit;
WMSManagement.CheckUserIsWhseEmployee();
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeErrorIfUserIsNotWhseEmployee(LocationCode: Code[10]; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnInsertOnBeforeTestWhseReceiptNos(WarehouseSetup: Record "Warehouse Setup"; var IsHandled: Boolean)
begin
end;
}