Codeunit 6512 Item Tracking CaptionClass Mgt, source in 29
Source29
src/Layers/W1/BaseApp/Inventory/Tracking/ItemTrackingCaptionClassMgt.Codeunit.al151 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.Inventory.Setup;
using System.Text;
codeunit 6512 "Item Tracking CaptionClass Mgt"
{
SingleInstance = true;
trigger OnRun()
begin
end;
var
InventorySetup: Record "Inventory Setup";
PackageTxt: Label 'Package';
PackageNoTxt: Label '%1 No.', Comment = '%1 = item tracking dimension name, by default - Package No.';
NewPackageNoTxt: Label 'New %1 No.', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageNoFilterTxt: Label '%1 No. Filter', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageNoRequiredTxt: Label '%1 No. Required', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageNoInfoRequiredTxt: Label '%1 No. Info. Required', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageNoMatchTxt: Label '%1 No. Match', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageSpecificTrackingTxt: Label '%1 Specific Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageWarehouseTrackingTxt: Label '%1 Warehouse Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageInfoInboundMustExistTxt: Label '%1 Info. Inbound Must Exist', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageInfoOutboundMustExistTxt: Label '%1 Info. Outbound Must Exist', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackagePurchaseInboundTrackingTxt: Label '%1 Purchase Inbound Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackagePurchOutboundTrackingTxt: Label '%1 Purchase Outbound Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageSalesInboundTrackingTxt: Label '%1 Sales Inbound Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageSalesOutboundTrackingTxt: Label '%1 Sales Outbound Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackagePosInboundTrackingTxt: Label '%1 Pos. Adj. Inbound Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackagePosOutboundTrackingTxt: Label '%1 Pos. Adj. Outbound Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageNegInboundTrackingTxt: Label '%1 Neg. Adj. Inbound Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageNegOutboundTrackingTxt: Label '%1 Neg. Adj. Outbound Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageTransferTrackingTxt: Label '%1 Transfer Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageManufInboundTrackingTxt: Label '%1 Manuf. Inbound Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageManufOutboundTrackingTxt: Label '%1 Manuf. Outbound Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageAssemblyInboundTrackingTxt: Label '%1 Assembly Inbound Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageAssemblyOutboundTrackingTxt: Label '%1 Assembly Outbound Tracking', Comment = '%1 = item tracking dimension name, by default - Package No.';
PackageAvailabilityTxt: Label 'Availability, %1 No.', Comment = '%1 = item tracking dimension name, by default - Package No.';
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Caption Class", 'OnResolveCaptionClass', '', true, true)]
local procedure ResolveCaptionClass(CaptionArea: Text; CaptionExpr: Text; Language: Integer; var Caption: Text; var Resolved: Boolean)
begin
if CaptionArea = '6' then
Caption := ItemTrackingCaptionClassTranslate(CaptionExpr, Resolved);
end;
local procedure ItemTrackingCaptionClassTranslate(CaptionExpr: Text; var IsResolved: Boolean): Text
var
ResolvedExpr: Text;
begin
// Caption Type = 1 - Package No.
// Caption Type = 2 - New Package No.
// Caption Type = 3 - Package No. Filter
// Caption Type = 4 - Package No. Required
// Caption Type = 5 - Package No. Info. Required
// Caption Type = 6 - Package No. Match
if InventorySetup.Get() then;
IsResolved := true;
case CaptionExpr of
'1':
exit(ResolveCaption(PackageNoTxt));
'2':
exit(ResolveCaption(NewPackageNoTxt));
'3':
exit(ResolveCaption(PackageNoFilterTxt));
'4':
exit(ResolveCaption(PackageNoRequiredTxt));
'5':
exit(ResolveCaption(PackageNoInfoRequiredTxt));
'6':
exit(ResolveCaption(PackageNoMatchTxt));
'70':
exit(ResolveCaption(PackageSpecificTrackingTxt));
'71':
exit(ResolveCaption(PackageWarehouseTrackingTxt));
'73':
exit(ResolveCaption(PackageInfoInboundMustExistTxt));
'74':
exit(ResolveCaption(PackageInfoOutboundMustExistTxt));
'75':
exit(ResolveCaption(PackagePurchaseInboundTrackingTxt));
'76':
exit(ResolveCaption(PackagePurchOutboundTrackingTxt));
'77':
exit(ResolveCaption(PackageSalesInboundTrackingTxt));
'78':
exit(ResolveCaption(PackageSalesOutboundTrackingTxt));
'79':
exit(ResolveCaption(PackagePosInboundTrackingTxt));
'80':
exit(ResolveCaption(PackagePosOutboundTrackingTxt));
'81':
exit(ResolveCaption(PackageNegInboundTrackingTxt));
'82':
exit(ResolveCaption(PackageNegOutboundTrackingTxt));
'83':
exit(ResolveCaption(PackageTransferTrackingTxt));
'84':
exit(ResolveCaption(PackageManufInboundTrackingTxt));
'85':
exit(ResolveCaption(PackageManufOutboundTrackingTxt));
'86':
exit(ResolveCaption(PackageAssemblyInboundTrackingTxt));
'87':
exit(ResolveCaption(PackageAssemblyOutboundTrackingTxt));
'88':
exit(ResolveCaption(PackageAvailabilityTxt));
else begin
IsResolved := false;
OnItemTrackingCaptionClassTranslate(CaptionExpr, ResolvedExpr, IsResolved);
if IsResolved then
exit(ResolvedExpr);
end;
end;
IsResolved := false;
exit(PackageNoTxt);
end;
local procedure ResolveCaption(CaptionString: Text) Result: Text
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeResolveCaption(InventorySetup, CaptionString, Result, IsHandled);
if IsHandled then
exit(Result);
if InventorySetup."Package Caption" <> '' then
exit(StrSubstNo(CaptionString, InventorySetup."Package Caption"));
exit(StrSubstNo(CaptionString, PackageTxt));
end;
[IntegrationEvent(false, false)]
local procedure OnItemTrackingCaptionClassTranslate(CaptionExpr: Text; var ResolvedExpr: Text; var IsResolved: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeResolveCaption(var InventorySetup: Record "Inventory Setup"; CaptionString: Text; var Result: Text; var IsHandled: Boolean)
begin
end;
}