Page 209 Units of Measure
- App
- Base Application
- Namespace
- Microsoft.Foundation.UOM
- Versions
- 17-28
- Source table
- 204
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Foundation/UOM/UnitsofMeasure.Page.al253 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.Foundation.UOM;
using Microsoft.Integration.Dataverse;
page 209 "Units of Measure"
{
AdditionalSearchTerms = 'uom';
ApplicationArea = Basic, Suite;
Caption = 'Units of Measure';
PageType = List;
SourceTable = "Unit of Measure";
UsageCategory = Administration;
layout
{
area(content)
{
repeater(Control1)
{
ShowCaption = false;
field("Code"; Rec.Code)
{
ApplicationArea = Basic, Suite;
}
field(Description; Rec.Description)
{
ApplicationArea = Basic, Suite;
}
field("International Standard Code"; Rec."International Standard Code")
{
ApplicationArea = Basic, Suite;
}
field("Coupled to Dataverse"; Rec."Coupled to Dataverse")
{
ApplicationArea = All;
Visible = CRMIntegrationEnabled;
}
}
}
area(factboxes)
{
systempart(Control1900383207; Links)
{
ApplicationArea = RecordLinks;
Visible = false;
}
systempart(Control1905767507; Notes)
{
ApplicationArea = Notes;
Visible = false;
}
}
}
actions
{
area(navigation)
{
group("&Unit")
{
Caption = '&Unit';
Image = UnitOfMeasure;
action(Translations)
{
ApplicationArea = Basic, Suite;
Caption = 'Translations';
Image = Translations;
RunObject = Page "Unit of Measure Translation";
RunPageLink = Code = field(Code);
ToolTip = 'View or edit descriptions for each unit of measure in different languages.';
}
}
group(ActionGroupCRM)
{
Caption = 'Dynamics 365 Sales';
Image = Administration;
Visible = CRMIntegrationEnabled;
action(CRMGotoUnitsOfMeasure)
{
ApplicationArea = Suite;
Caption = 'Unit Group';
Image = CoupledUnitOfMeasure;
ToolTip = 'Open the coupled Dynamics 365 Sales unit group.';
trigger OnAction()
var
CRMIntegrationManagement: Codeunit "CRM Integration Management";
begin
CRMIntegrationManagement.ShowCRMEntityFromRecordID(Rec.RecordId);
end;
}
action(CRMSynchronizeNow)
{
AccessByPermission = TableData "CRM Integration Record" = IM;
ApplicationArea = Suite;
Caption = 'Synchronize';
Image = Refresh;
ToolTip = 'Send updated data to Dynamics 365 Sales.';
trigger OnAction()
var
UnitOfMeasure: Record "Unit of Measure";
CRMIntegrationManagement: Codeunit "CRM Integration Management";
UnitOfMeasureRecordRef: RecordRef;
begin
CurrPage.SetSelectionFilter(UnitOfMeasure);
UnitOfMeasure.Next();
if UnitOfMeasure.Count = 1 then
CRMIntegrationManagement.UpdateOneNow(UnitOfMeasure.RecordId)
else begin
UnitOfMeasureRecordRef.GetTable(UnitOfMeasure);
CRMIntegrationManagement.UpdateMultipleNow(UnitOfMeasureRecordRef);
end
end;
}
group(Coupling)
{
Caption = 'Coupling', Comment = 'Coupling is a noun';
Image = LinkAccount;
ToolTip = 'Create, change, or delete a coupling between the Business Central record and a Dynamics 365 Sales record.';
action(ManageCRMCoupling)
{
AccessByPermission = TableData "CRM Integration Record" = IM;
ApplicationArea = Suite;
Caption = 'Set Up Coupling';
Image = LinkAccount;
ToolTip = 'Create or modify the coupling to a Dynamics 365 Sales unit group.';
trigger OnAction()
var
CRMIntegrationManagement: Codeunit "CRM Integration Management";
begin
CRMIntegrationManagement.DefineCoupling(Rec.RecordId);
end;
}
action(MatchBasedCoupling)
{
AccessByPermission = TableData "CRM Integration Record" = IM;
ApplicationArea = Suite;
Caption = 'Match-Based Coupling';
Image = CoupledUnitOfMeasure;
ToolTip = 'Couple units of measure to unit groups in Dynamics 365 Sales based on criteria.';
trigger OnAction()
var
UnitOfMeasure: Record "Unit of Measure";
CRMIntegrationManagement: Codeunit "CRM Integration Management";
RecRef: RecordRef;
begin
CurrPage.SetSelectionFilter(UnitOfMeasure);
RecRef.GetTable(UnitOfMeasure);
CRMIntegrationManagement.MatchBasedCoupling(RecRef);
end;
}
action(DeleteCRMCoupling)
{
AccessByPermission = TableData "CRM Integration Record" = D;
ApplicationArea = Suite;
Caption = 'Delete Coupling';
Enabled = CRMIsCoupledToRecord;
Image = UnLinkAccount;
ToolTip = 'Delete the coupling to a Dynamics 365 Sales unit group.';
trigger OnAction()
var
UnitofMeasure: Record "Unit of Measure";
CRMCouplingManagement: Codeunit "CRM Coupling Management";
RecRef: RecordRef;
begin
CurrPage.SetSelectionFilter(UnitofMeasure);
RecRef.GetTable(UnitofMeasure);
CRMCouplingManagement.RemoveCoupling(RecRef);
end;
}
}
action(ShowLog)
{
ApplicationArea = Suite;
Caption = 'Synchronization Log';
Image = Log;
ToolTip = 'View integration synchronization jobs for the unit of measure table.';
trigger OnAction()
var
CRMIntegrationManagement: Codeunit "CRM Integration Management";
begin
CRMIntegrationManagement.ShowLog(Rec.RecordId);
end;
}
}
}
area(Promoted)
{
group(Category_Synchronize)
{
Caption = 'Synchronize';
group(Category_Coupling)
{
Caption = 'Coupling';
ShowAs = SplitButton;
actionref(ManageCRMCoupling_Promoted; ManageCRMCoupling)
{
}
actionref(DeleteCRMCoupling_Promoted; DeleteCRMCoupling)
{
}
actionref(MatchBasedCoupling_Promoted; MatchBasedCoupling)
{
}
}
actionref(CRMGotoUnitsOfMeasure_Promoted; CRMGotoUnitsOfMeasure)
{
}
actionref(CRMSynchronizeNow_Promoted; CRMSynchronizeNow)
{
}
actionref(ShowLog_Promoted; ShowLog)
{
}
}
}
}
trigger OnAfterGetCurrRecord()
var
CRMCouplingManagement: Codeunit "CRM Coupling Management";
begin
CRMIsCoupledToRecord := CRMIntegrationEnabled;
if CRMIsCoupledToRecord then
CRMIsCoupledToRecord := CRMCouplingManagement.IsRecordCoupledToCRM(Rec.RecordId);
end;
trigger OnOpenPage()
var
CRMIntegrationManagement: Codeunit "CRM Integration Management";
begin
CRMIntegrationEnabled := CRMIntegrationManagement.IsCRMIntegrationEnabled() and not CRMIntegrationManagement.IsUnitGroupMappingEnabled();
end;
var
CRMIsCoupledToRecord: Boolean;
protected var
CRMIntegrationEnabled: Boolean;
}