Page 5116 Salesperson/Purchaser Card, source in 29
Source29
src/Layers/W1/BaseApp/CRM/Team/SalespersonPurchaserCard.Page.al468 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.CRM.Team;
using Microsoft.CRM.Campaign;
using Microsoft.CRM.Contact;
using Microsoft.CRM.Interaction;
using Microsoft.CRM.Opportunity;
using Microsoft.CRM.Segment;
using Microsoft.CRM.Task;
using Microsoft.Finance.Dimension;
using Microsoft.Integration.Dataverse;
using System.Email;
page 5116 "Salesperson/Purchaser Card"
{
Caption = 'Salesperson/Purchaser Card';
PageType = Card;
SourceTable = "Salesperson/Purchaser";
layout
{
area(content)
{
group(General)
{
Caption = 'General';
field("Code"; Rec.Code)
{
ApplicationArea = All;
}
field(Name; Rec.Name)
{
ApplicationArea = All;
}
field("Job Title"; Rec."Job Title")
{
ApplicationArea = RelationshipMgmt;
}
field("Commission %"; Rec."Commission %")
{
ApplicationArea = RelationshipMgmt;
}
field("Phone No."; Rec."Phone No.")
{
ApplicationArea = RelationshipMgmt;
}
field("E-Mail"; Rec."E-Mail")
{
ApplicationArea = RelationshipMgmt;
ExtendedDatatype = EMail;
}
field("Next Task Date"; Rec."Next Task Date")
{
ApplicationArea = RelationshipMgmt;
}
field("Privacy Blocked"; Rec."Privacy Blocked")
{
ApplicationArea = RelationshipMgmt;
Importance = Additional;
}
field("Blocked"; Rec.Blocked)
{
ApplicationArea = All;
}
}
group(Invoicing)
{
Caption = 'Invoicing';
field("Global Dimension 1 Code"; Rec."Global Dimension 1 Code")
{
ApplicationArea = Dimensions;
}
field("Global Dimension 2 Code"; Rec."Global Dimension 2 Code")
{
ApplicationArea = Dimensions;
}
}
}
area(factboxes)
{
part(Control3; "Salesperson/Purchaser Picture")
{
ApplicationArea = Basic, Suite;
SubPageLink = Code = field(Code);
}
systempart(Control1900383207; Links)
{
ApplicationArea = RecordLinks;
Visible = false;
}
systempart(Control1905767507; Notes)
{
ApplicationArea = Notes;
Visible = false;
}
}
}
actions
{
area(navigation)
{
group("&Salesperson")
{
Caption = '&Salesperson';
Image = SalesPerson;
action("Tea&ms")
{
ApplicationArea = RelationshipMgmt;
Caption = 'Tea&ms';
Image = TeamSales;
RunObject = Page "Salesperson Teams";
RunPageLink = "Salesperson Code" = field(Code);
RunPageView = sorting("Salesperson Code");
ToolTip = 'View or edit any teams that the salesperson/purchaser is a member of.';
}
action("Con&tacts")
{
ApplicationArea = RelationshipMgmt;
Caption = 'Con&tacts';
Image = CustomerContact;
RunObject = Page "Contact List";
RunPageLink = "Salesperson Code" = field(Code);
RunPageView = sorting("Salesperson Code");
ToolTip = 'View a list of contacts that are associated with the salesperson/purchaser.';
}
action(Dimensions)
{
ApplicationArea = Dimensions;
Caption = 'Dimensions';
Image = Dimensions;
RunObject = Page "Default Dimensions";
RunPageLink = "Table ID" = const(13),
"No." = field(Code);
ShortCutKey = 'Alt+D';
ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.';
}
action(Statistics)
{
ApplicationArea = RelationshipMgmt;
Caption = 'Statistics';
Image = Statistics;
RunObject = Page "Salesperson Statistics";
RunPageLink = Code = field(Code);
ShortCutKey = 'F7';
ToolTip = 'View statistical information, such as the value of posted entries, for the record.';
}
action("C&aigns")
{
ApplicationArea = RelationshipMgmt;
Caption = 'C&aigns';
Image = Campaign;
RunObject = Page "Campaign List";
RunPageLink = "Salesperson Code" = field(Code);
RunPageView = sorting("Salesperson Code");
ToolTip = 'View or edit any campaigns that the salesperson/purchaser is assigned to.';
}
action("S&egments")
{
ApplicationArea = RelationshipMgmt;
Caption = 'S&egments';
Image = Segment;
RunObject = Page "Segment List";
RunPageLink = "Salesperson Code" = field(Code);
RunPageView = sorting("Salesperson Code");
ToolTip = 'View a list of all segments.';
}
separator(Action33)
{
Caption = '';
}
action("Interaction Log E&ntries")
{
ApplicationArea = RelationshipMgmt;
Caption = 'Interaction Log E&ntries';
Image = InteractionLog;
RunObject = Page "Interaction Log Entries";
RunPageLink = "Salesperson Code" = field(Code);
RunPageView = sorting("Salesperson Code");
ShortCutKey = 'Ctrl+F7';
ToolTip = 'View interaction log entries for the salesperson/purchaser.';
}
action("Postponed &Interactions")
{
ApplicationArea = RelationshipMgmt;
Caption = 'Postponed &Interactions';
Image = PostponedInteractions;
RunObject = Page "Postponed Interactions";
RunPageLink = "Salesperson Code" = field(Code);
RunPageView = sorting("Salesperson Code");
ToolTip = 'View postponed interactions for the salesperson/purchaser.';
}
action("T&asks")
{
ApplicationArea = RelationshipMgmt;
Caption = 'T&asks';
Image = TaskList;
RunObject = Page "Task List";
RunPageLink = "Salesperson Code" = field(Code),
"System To-do Type" = filter(Organizer | "Salesperson Attendee");
RunPageView = sorting("Salesperson Code");
ToolTip = 'View tasks for the salesperson/purchaser.';
}
action("Oppo&rtunities")
{
ApplicationArea = RelationshipMgmt;
Caption = 'Oppo&rtunities';
Image = OpportunitiesList;
RunObject = Page "Opportunity List";
RunPageLink = "Salesperson Code" = field(Code);
RunPageView = sorting("Salesperson Code");
ToolTip = 'View opportunities for the salesperson/purchaser.';
}
}
group(ActionGroupCRM)
{
Caption = 'Dataverse';
Visible = CDSIntegrationEnabled or CRMIntegrationEnabled;
action(CRMGotoSystemUser)
{
ApplicationArea = Suite;
Caption = 'User';
Image = CoupledUser;
ToolTip = 'Open the coupled Dataverse system user.';
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 or get updated data to or from Dataverse.';
trigger OnAction()
var
CRMIntegrationManagement: Codeunit "CRM Integration Management";
begin
CRMIntegrationManagement.UpdateOneNow(Rec.RecordId);
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 Dataverse 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 Dataverse user.';
trigger OnAction()
var
CRMIntegrationManagement: Codeunit "CRM Integration Management";
begin
CRMIntegrationManagement.DefineCoupling(Rec.RecordId);
end;
}
action(DeleteCRMCoupling)
{
AccessByPermission = TableData "CRM Integration Record" = D;
ApplicationArea = Suite;
Caption = 'Delete Coupling';
Enabled = CRMIsCoupledToRecord;
Image = UnLinkAccount;
ToolTip = 'Delete the coupling to a Dataverse user.';
trigger OnAction()
var
CRMCouplingManagement: Codeunit "CRM Coupling Management";
begin
CRMCouplingManagement.RemoveCoupling(Rec.RecordId);
end;
}
}
action(ShowLog)
{
ApplicationArea = Suite;
Caption = 'Synchronization Log';
Image = Log;
ToolTip = 'View integration synchronization jobs for the salesperson/purchaser table.';
trigger OnAction()
var
CRMIntegrationManagement: Codeunit "CRM Integration Management";
begin
CRMIntegrationManagement.ShowLog(Rec.RecordId);
end;
}
}
group(History)
{
Caption = 'History';
Image = History;
action("Sent Emails")
{
ApplicationArea = Basic, Suite;
Caption = 'Sent Emails';
Image = ShowList;
ToolTip = 'View a list of emails that you have sent to this salesperson/purchaser.';
trigger OnAction()
var
Email: Codeunit Email;
begin
Email.OpenSentEmails(Database::"Salesperson/Purchaser", Rec.SystemId);
end;
}
}
}
area(processing)
{
action("Create &Interaction")
{
AccessByPermission = TableData Attachment = R;
ApplicationArea = RelationshipMgmt;
Caption = 'Create &Interaction';
Image = CreateInteraction;
ToolTip = 'Create an interaction with a specified contact.';
trigger OnAction()
begin
Rec.CreateInteraction();
end;
}
action(Email)
{
ApplicationArea = All;
Caption = 'Send Email';
Image = Email;
ToolTip = 'Send an email to this person.';
trigger OnAction()
var
TempEmailItem: Record "Email Item" temporary;
EmailScenario: Enum "Email Scenario";
begin
TempEmailItem.AddSourceDocument(Database::"Salesperson/Purchaser", Rec.SystemId);
TempEmailitem."Send to" := Rec."E-Mail";
TempEmailItem.Send(false, EmailScenario::Default);
end;
}
}
area(Promoted)
{
group(Category_Process)
{
Caption = 'Process', Comment = 'Generated from the PromotedActionCategories property index 1.';
actionref("Create &Interaction_Promoted"; "Create &Interaction")
{
}
actionref(Email_Promoted; Email)
{
}
}
group(Category_Category5)
{
Caption = 'Salesperson', Comment = 'Generated from the PromotedActionCategories property index 4.';
actionref(Dimensions_Promoted; Dimensions)
{
}
actionref(Statistics_Promoted; Statistics)
{
}
separator(Navigate_Separator)
{
}
actionref("Sent Emails_Promoted"; "Sent Emails")
{
}
actionref("Tea&ms_Promoted"; "Tea&ms")
{
}
actionref("Con&tacts_Promoted"; "Con&tacts")
{
}
actionref("C&aigns_Promoted"; "C&aigns")
{
}
actionref("S&egments_Promoted"; "S&egments")
{
}
}
group(Category_Category4)
{
Caption = 'Navigate', Comment = 'Generated from the PromotedActionCategories property index 3.';
}
group(Category_Report)
{
Caption = 'Report', Comment = 'Generated from the PromotedActionCategories property index 2.';
}
group(Category_Synchronize)
{
Caption = 'Synchronize';
Visible = CRMIntegrationEnabled or CDSIntegrationEnabled;
group(Category_Coupling)
{
Caption = 'Coupling';
ShowAs = SplitButton;
actionref(ManageCRMCoupling_Promoted; ManageCRMCoupling)
{
}
actionref(DeleteCRMCoupling_Promoted; DeleteCRMCoupling)
{
}
}
actionref(CRMGotoSystemUser_Promoted; CRMGotoSystemUser)
{
}
actionref(CRMSynchronizeNow_Promoted; CRMSynchronizeNow)
{
}
actionref(ShowLog_Promoted; ShowLog)
{
}
}
}
}
trigger OnAfterGetCurrRecord()
var
CRMCouplingManagement: Codeunit "CRM Coupling Management";
begin
if CDSIntegrationEnabled or CRMIntegrationEnabled then begin
CRMIsCoupledToRecord := CRMCouplingManagement.IsRecordCoupledToCRM(Rec.RecordId);
if Rec.Code <> xRec.Code then
CRMIntegrationManagement.SendResultNotification(Rec);
end;
end;
trigger OnInsertRecord(BelowxRec: Boolean): Boolean
begin
if xRec.Code = '' then
Rec.Reset();
end;
trigger OnOpenPage()
begin
CDSIntegrationEnabled := CRMIntegrationManagement.IsCDSIntegrationEnabled();
CRMIntegrationEnabled := CRMIntegrationManagement.IsCRMIntegrationEnabled();
end;
var
CRMIntegrationManagement: Codeunit "CRM Integration Management";
CDSIntegrationEnabled: Boolean;
CRMIntegrationEnabled: Boolean;
CRMIsCoupledToRecord: Boolean;
}