Codeunit "CRM Integration Management"
ID 5330
Namespace: Microsoft.Integration.Dataverse
Properties
Name
Value
SingleInstance
True
InherentEntitlements
X
InherentPermissions
X
Permissions
tabledata "Sales Invoice Header" = rm,
tabledata "CDS Connection Setup" = r,
tabledata "CRM Connection Setup" = r
Methods
IsCRMIntegrationEnabled
procedure IsCRMIntegrationEnabled(): Boolean
Returns
IsCDSIntegrationEnabled
procedure IsCDSIntegrationEnabled(): Boolean
Returns
IsCRMSolutionInstalled
procedure IsCRMSolutionInstalled(): Boolean
Returns
SetCRMNAVConnectionUrl
procedure SetCRMNAVConnectionUrl(WebClientUrl: Text[250])
Parameters
Name
Type
Description
WebClientUrl
Text[250]
UpdateMultipleNow
procedure UpdateMultipleNow(RecVariant: Variant)
Parameters
Name
Type
Description
RecVariant
Variant
UpdateMultipleNow
procedure UpdateMultipleNow(RecVariant: Variant, IsOption: Boolean)
Parameters
Name
Type
Description
RecVariant
Variant
IsOption
Boolean
UpdateOneNow
procedure UpdateOneNow(RecordID: RecordId)
Parameters
Name
Type
Description
RecordID
RecordId
UpdateSkippedNow
procedure UpdateSkippedNow(var CRMIntegrationRecord: Record "CRM Integration Record")
Parameters
UpdateSkippedNow
procedure UpdateSkippedNow(var CRMIntegrationRecord: Record "CRM Integration Record", var CRMOptionMapping: Record "CRM Option Mapping")
Parameters
UpdateSkippedNow
procedure UpdateSkippedNow(var CRMIntegrationRecord: Record "CRM Integration Record", SkipNotification: Boolean)
Parameters
UpdateSkippedNow
procedure UpdateSkippedNow(var CRMIntegrationRecord: Record "CRM Integration Record", var CRMOptionMapping: Record "CRM Option Mapping", SkipNotification: Boolean)
Parameters
UpdateAllSkippedNow
procedure UpdateAllSkippedNow()
CheckOrEnableCRMConnection
procedure CheckOrEnableCRMConnection()
CreateNewRecordsInCRM
procedure CreateNewRecordsInCRM(RecVariant: Variant)
Parameters
Name
Type
Description
RecVariant
Variant
CreateNewOptionsInCRM
procedure CreateNewOptionsInCRM(RecVariant: Variant)
Parameters
Name
Type
Description
RecVariant
Variant
CreateNewOptionsInCRM
procedure CreateNewOptionsInCRM(var LocalIdListDictionary: Dictionary of [Code[20], List of [Guid]])
Parameters
Name
Type
Description
LocalIdListDictionary
Dictionary of [Code[20], List of [Guid]]
CreateNewRecordsFromSelectedCRMOptions
[Scope(Cloud)]
procedure CreateNewRecordsFromSelectedCRMOptions(RecVariant: Variant)
Parameters
Name
Type
Description
RecVariant
Variant
EnqueueOptionSyncJobFromIntegrationTable
procedure EnqueueOptionSyncJobFromIntegrationTable(IntegrationTableMapping: Record "Integration Table Mapping", CRMOptionIds: List of [Integer], Direction: Integer, SynchronizeOnlyCoupledRecords: Boolean): Boolean
Parameters
Returns
EnqueueOptionSyncJobToIntegrationTable
procedure EnqueueOptionSyncJobToIntegrationTable(IntegrationTableMapping: Record "Integration Table Mapping", LocalIdList: List of [Guid], Direction: Integer, SynchronizeOnlyCoupledRecords: Boolean): Boolean
Parameters
Returns
CreateNewRecordsFromCRM
procedure CreateNewRecordsFromCRM(RecVariant: Variant)
Parameters
Name
Type
Description
RecVariant
Variant
RepairBrokenCouplings
procedure RepairBrokenCouplings()
RepairBrokenCouplings
procedure RepairBrokenCouplings(UseLocalRecordsOnly: Boolean)
Parameters
Name
Type
Description
UseLocalRecordsOnly
Boolean
RemoveCoupling
procedure RemoveCoupling(TableID: Integer, CRMTableID: Integer)
Parameters
Name
Type
Description
TableID
Integer
CRMTableID
Integer
MatchBasedCoupling
procedure MatchBasedCoupling(TableID: Integer): Boolean
Parameters
Name
Type
Description
TableID
Integer
Returns
MatchBasedCoupling
procedure MatchBasedCoupling(TableID: Integer, SkipSettingCriteria: Boolean, IsFullSync: Boolean, InForeground: Boolean): Boolean
Parameters
Name
Type
Description
TableID
Integer
SkipSettingCriteria
Boolean
IsFullSync
Boolean
InForeground
Boolean
Returns
RemoveCoupling
procedure RemoveCoupling(var LocalRecordRef: RecordRef)
Parameters
Name
Type
Description
LocalRecordRef
RecordRef
MatchBasedCoupling
procedure MatchBasedCoupling(var LocalRecordRef: RecordRef)
Parameters
Name
Type
Description
LocalRecordRef
RecordRef
RemoveCoupling
procedure RemoveCoupling(LocalTableID: Integer, var LocalIdList: List of [Guid])
Parameters
Name
Type
Description
LocalTableID
Integer
LocalIdList
List of [Guid]
RemoveCoupling
procedure RemoveCoupling(LocalTableID: Integer, var LocalIdList: List of [Guid], Schedule: Boolean)
Parameters
Name
Type
Description
LocalTableID
Integer
LocalIdList
List of [Guid]
Schedule
Boolean
RemoveCoupling
procedure RemoveCoupling(LocalTableID: Integer, IntegrationTableID: Integer, var IntegrationIdList: List of [Guid])
Parameters
Name
Type
Description
LocalTableID
Integer
IntegrationTableID
Integer
IntegrationIdList
List of [Guid]
RemoveOptionMapping
procedure RemoveOptionMapping(var RecRef: RecordRef)
Parameters
Name
Type
Description
RecRef
RecordRef
CreateOptionMapping
procedure CreateOptionMapping(RecordID: RecordId, CRMOptionId: Integer, CRMOptionValue: Text[250])
Parameters
Name
Type
Description
RecordID
RecordId
CRMOptionId
Integer
CRMOptionValue
Text[250]
GetMappedCRMOptionId
procedure GetMappedCRMOptionId(RecordID: RecordId, var CRMOptionId: Integer): Boolean
Parameters
Name
Type
Description
RecordID
RecordId
CRMOptionId
Integer
Returns
RemoveCoupling
procedure RemoveCoupling(RecordID: RecordId)
Parameters
Name
Type
Description
RecordID
RecordId
RemoveCoupling
procedure RemoveCoupling(TableID: Integer, CRMTableID: Integer, CRMID: Guid)
Parameters
Name
Type
Description
TableID
Integer
CRMTableID
Integer
CRMID
Guid
GetIntegrationTableMapping
procedure GetIntegrationTableMapping(var IntegrationTableMapping: Record "Integration Table Mapping", RecId: RecordId)
Parameters
GetIntegrationTableMapping
procedure GetIntegrationTableMapping(var IntegrationTableMapping: Record "Integration Table Mapping", TableID: Integer)
Parameters
IsCRMTable
procedure IsCRMTable(TableID: Integer): Boolean
Parameters
Name
Type
Description
TableID
Integer
Returns
EnqueueFullSyncJob
procedure EnqueueFullSyncJob(Name: Code[20]): Guid
Parameters
Name
Type
Description
Name
Code[20]
Returns
EnqueueSyncJob
procedure EnqueueSyncJob(IntegrationTableMapping: Record "Integration Table Mapping", RecordID: RecordId, CRMID: Guid, Direction: Integer): Boolean
Parameters
Returns
EnqueueSyncJob
procedure EnqueueSyncJob(IntegrationTableMapping: Record "Integration Table Mapping", SystemIds: List of [Guid], CRMIDs: List of [Guid], Direction: Integer, SynchronizeOnlyCoupledRecords: Boolean): Boolean
Parameters
Returns
AddIntegrationTableMapping
procedure AddIntegrationTableMapping(var IntegrationTableMapping: Record "Integration Table Mapping")
Parameters
AddIntegrationTableMapping
procedure AddIntegrationTableMapping(var IntegrationTableMapping: Record "Integration Table Mapping", SynchOnlyCoupledRecords: Boolean)
Parameters
CloneIntegrationFieldMapping
procedure CloneIntegrationFieldMapping(SourceMappingName: Code[20], DestinationMappingName: Code[20])
Parameters
Name
Type
Description
SourceMappingName
Code[20]
DestinationMappingName
Code[20]
CreateOrUpdateCRMAccountStatistics
procedure CreateOrUpdateCRMAccountStatistics(Customer: Record Customer)
Parameters
ShowCRMEntityFromRecordID
procedure ShowCRMEntityFromRecordID(RecordID: RecordId)
Parameters
Name
Type
Description
RecordID
RecordId
GetCRMEntityUrlFromRecordID
procedure GetCRMEntityUrlFromRecordID(TargetRecordID: RecordId): Text
Parameters
Name
Type
Description
TargetRecordID
RecordId
Returns
GetCRMEntityUrlFromCRMID
procedure GetCRMEntityUrlFromCRMID(TableId: Integer, CRMId: Guid): Text
Parameters
Name
Type
Description
TableId
Integer
CRMId
Guid
Returns
GetCRMEntityUrlFromCRMID
procedure GetCRMEntityUrlFromCRMID(TableId: Integer, CRMTableId: Integer, CRMId: Guid): Text
Parameters
Name
Type
Description
TableId
Integer
CRMTableId
Integer
CRMId
Guid
Returns
OpenCoupledNavRecordPage
procedure OpenCoupledNavRecordPage(CRMID: Guid, CRMEntityTypeName: Text): Boolean
Parameters
Name
Type
Description
CRMID
Guid
CRMEntityTypeName
Text
Returns
GetCRMEntityTypeName
procedure GetCRMEntityTypeName(TableId: Integer): Text
Parameters
Name
Type
Description
TableId
Integer
Returns
GetCRMEntityTypeName
procedure GetCRMEntityTypeName(TableId: Integer, CRMTableId: Integer): Text
Parameters
Name
Type
Description
TableId
Integer
CRMTableId
Integer
Returns
DefineCoupling
procedure DefineCoupling(RecordID: RecordId): Boolean
Parameters
Name
Type
Description
RecordID
RecordId
Returns
DefineOptionMapping
procedure DefineOptionMapping(RecordID: RecordId): Boolean
Parameters
Name
Type
Description
RecordID
RecordId
Returns
ManageCreateNewRecordFromCRM
procedure ManageCreateNewRecordFromCRM(TableID: Integer)
Parameters
Name
Type
Description
TableID
Integer
procedure CreateNewContactFromCRM()
CreateNewCustomerFromCRM
procedure CreateNewCustomerFromCRM()
CreateNewVendorFromCRM
procedure CreateNewVendorFromCRM()
GetNoOfCRMOpportunities
procedure GetNoOfCRMOpportunities(Customer: Record Customer): Integer
Parameters
Returns
GetNoOfCRMQuotes
procedure GetNoOfCRMQuotes(Customer: Record Customer): Integer
Parameters
Returns
GetNoOfCRMCases
procedure GetNoOfCRMCases(Customer: Record Customer): Integer
Parameters
Returns
HandleCRMRegisterServiceConnection
[EventSubscriber(Table,1400,OnRegisterServiceConnection,,False,False)]
procedure HandleCRMRegisterServiceConnection(var ServiceConnection: Record "Service Connection" temporary)
Parameters
ClearState
ClearFSState
Obsolete
This element will become obsolete from version 25.0. Field Service is moved to Field Service Integration app.
[Obsolete(Field Service is moved to Field Service Integration app.,25.0)]
procedure ClearFSState()
CheckConnectRequiredFields
procedure CheckConnectRequiredFields(ServerAddress: Text, IntegrationUserEmail: Text)
Parameters
Name
Type
Description
ServerAddress
Text
IntegrationUserEmail
Text
CheckModifyCRMConnectionURL
procedure CheckModifyCRMConnectionURL(var ServerAddress: Text[250])
Parameters
Name
Type
Description
ServerAddress
Text[250]
GetOrganizationFromUrl
procedure GetOrganizationFromUrl(ServerAddress: Text[250]): Text
Parameters
Name
Type
Description
ServerAddress
Text[250]
Returns
ConstructConnectionStringForSolutionImport
procedure ConstructConnectionStringForSolutionImport(ServerAddress: Text): Text
Parameters
Name
Type
Description
ServerAddress
Text
Returns
GetCommonNotificationID
procedure GetCommonNotificationID(): Guid
Returns
GetSkippedNotificationID
procedure GetSkippedNotificationID(): Guid
Returns
SendResultNotification
procedure SendResultNotification(RecVariant: Variant): Boolean
Parameters
Name
Type
Description
RecVariant
Variant
Returns
ShowLog
procedure ShowLog(RecId: RecordId)
Parameters
Name
Type
Description
RecId
RecordId
ShowOptionLog
procedure ShowOptionLog(RecId: RecordId)
Parameters
Name
Type
Description
RecId
RecordId
ShowSkippedRecords
procedure ShowSkippedRecords(SkippedSyncNotification: Notification)
Parameters
Name
Type
Description
SkippedSyncNotification
Notification
CoupleCRMEntity
procedure CoupleCRMEntity(RecordID: RecordId, CRMID: Guid, var Synchronize: Boolean, var Direction: Option): Boolean
Parameters
Name
Type
Description
RecordID
RecordId
CRMID
Guid
Synchronize
Boolean
Direction
Option
Returns
ClearConnectionDisableReason
procedure ClearConnectionDisableReason(var CRMConnectionSetup: Record "CRM Connection Setup")
Parameters
GetCRMDisabledErrorReasonNotificationId
procedure GetCRMDisabledErrorReasonNotificationId(): Guid
Returns
IsWorkingConnection
procedure IsWorkingConnection(): Boolean
Returns
SendConnectionDisabledNotification
procedure SendConnectionDisabledNotification(DisableReason: Text[250])
Parameters
Name
Type
Description
DisableReason
Text[250]
InitializeCRMSynchStatus
procedure InitializeCRMSynchStatus()
HasUncoupledSelectedUsers
procedure HasUncoupledSelectedUsers(var SelectedCRMSystemuser: Record "CRM Systemuser"): Boolean
Parameters
Returns
EnableUnitGroupMapping
procedure EnableUnitGroupMapping(): Guid
Returns
DisableUnitGroupMapping
procedure DisableUnitGroupMapping()
AdjustUnitGroupCRMConnectionSetup
procedure AdjustUnitGroupCRMConnectionSetup()
UpdateItemUnitGroup
procedure UpdateItemUnitGroup()
UpdateResourceUnitGroup
procedure UpdateResourceUnitGroup()
IsUnitGroupMappingEnabled
procedure IsUnitGroupMappingEnabled(): Boolean
Returns
MultipleCompanyLearnMore
procedure MultipleCompanyLearnMore(var Notification: Notification)
Parameters
Name
Type
Description
Notification
Notification
IsIntegrationRecordChild
procedure IsIntegrationRecordChild(TableID: Integer): Boolean
Parameters
Name
Type
Description
TableID
Integer
Returns
GetFieldServiceIntegrationAppSourceLink
procedure GetFieldServiceIntegrationAppSourceLink(): Text
Returns
IsFieldServiceIntegrationAppInstalled
procedure IsFieldServiceIntegrationAppInstalled(): Boolean
Returns
Events
OnIsCDSIntegrationEnabled
[IntegrationEvent(False,False)]
local procedure OnIsCDSIntegrationEnabled(var isEnabled: Boolean)
Parameters
Name
Type
Description
isEnabled
Boolean
OnInitCDSConnection
[IntegrationEvent(False,False)]
procedure OnInitCDSConnection(var ConnectionName: Text, var handled: Boolean)
Parameters
Name
Type
Description
ConnectionName
Text
handled
Boolean
OnGetCDSIntegrationUserId
[IntegrationEvent(False,False)]
procedure OnGetCDSIntegrationUserId(var IntegrationUserId: Guid, var handled: Boolean)
Parameters
Name
Type
Description
IntegrationUserId
Guid
handled
Boolean
OnGetCDSServerAddress
[IntegrationEvent(False,False)]
procedure OnGetCDSServerAddress(var CDSServerAddress: Text, var handled: Boolean)
Parameters
Name
Type
Description
CDSServerAddress
Text
handled
Boolean
OnTestCDSConnection
[IntegrationEvent(False,False)]
procedure OnTestCDSConnection(var handled: Boolean)
Parameters
Name
Type
Description
handled
Boolean
OnCloseCDSConnection
[IntegrationEvent(False,False)]
procedure OnCloseCDSConnection(ConnectionName: Text, var handled: Boolean)
Parameters
Name
Type
Description
ConnectionName
Text
handled
Boolean
OnAfterCRMIntegrationEnabled
[IntegrationEvent(False,False)]
local procedure OnAfterCRMIntegrationEnabled()
OnBeforeOpenRecordCardPage
[IntegrationEvent(False,False)]
local procedure OnBeforeOpenRecordCardPage(RecordID: RecordId, var IsHandled: Boolean)
Parameters
Name
Type
Description
RecordID
RecordId
IsHandled
Boolean
OnBeforeGetIntegrationTableMapping
[IntegrationEvent(False,False)]
local procedure OnBeforeGetIntegrationTableMapping(var IntegrationTableMapping: Record "Integration Table Mapping", TableID: Integer)
Parameters
OnBeforeGetIntegrationTableMappingFromCRMRecord
[IntegrationEvent(False,False)]
local procedure OnBeforeGetIntegrationTableMappingFromCRMRecord(var IntegrationTableMapping: Record "Integration Table Mapping", RecRef: RecordRef)
Parameters
OnBeforeHandleCustomIntegrationTableMapping
[IntegrationEvent(False,False)]
local procedure OnBeforeHandleCustomIntegrationTableMapping(var IsHandled: Boolean, IntegrationTableMappingName: Code[20], var IntegrationTableMapping: Record "Integration Table Mapping", EnqueueJobQueEntries: Boolean)
Parameters
OnBeforeSynchronyzeNowQuestion
[IntegrationEvent(False,False)]
local procedure OnBeforeSynchronyzeNowQuestion(var AllowedDirection: Integer, var IsHandled: Boolean)
Parameters
Name
Type
Description
AllowedDirection
Integer
IsHandled
Boolean
OnIsCRMIntegrationRecord
[IntegrationEvent(False,False)]
local procedure OnIsCRMIntegrationRecord(TableID: Integer, var isIntegrationRecord: Boolean)
Parameters
Name
Type
Description
TableID
Integer
isIntegrationRecord
Boolean
[IntegrationEvent(False,False)]
local procedure OnEnabledDatabaseTriggersSetup(TableID: Integer, var Enabled: Boolean)
Parameters
Name
Type
Description
TableID
Integer
Enabled
Boolean
OnGetTableIdFromCRMOption
[IntegrationEvent(False,False)]
local procedure OnGetTableIdFromCRMOption(RecRef: RecordRef, var TableId: Integer)
Parameters
Name
Type
Description
RecRef
RecordRef
TableId
Integer
OnIsCRMTable
[IntegrationEvent(False,False)]
local procedure OnIsCRMTable(TableID: Integer, var IsCRMTable: Boolean, var Handled: Boolean)
Parameters
Name
Type
Description
TableID
Integer
IsCRMTable
Boolean
Handled
Boolean
OnIsIntegrationRecordChild
[IntegrationEvent(False,False)]
local procedure OnIsIntegrationRecordChild(TableID: Integer, var Handled: Boolean, var ReturnValue: Boolean)
Parameters
Name
Type
Description
TableID
Integer
Handled
Boolean
ReturnValue
Boolean
OnBeforeOpenCoupledNavRecordPage
[IntegrationEvent(False,False)]
local procedure OnBeforeOpenCoupledNavRecordPage(CRMID: Guid, CRMEntityTypeName: Text, var Result: Boolean, var IsHandled: Boolean)
Parameters
Name
Type
Description
CRMID
Guid
CRMEntityTypeName
Text
Result
Boolean
IsHandled
Boolean
OnBeforeFindCoupledToCRMField
[IntegrationEvent(False,False)]
local procedure OnBeforeFindCoupledToCRMField(TableNo: Integer, var IsHandled: Boolean)
Parameters
Name
Type
Description
TableNo
Integer
IsHandled
Boolean
OnAfterGetCRMEntityUrlFromCRMID
[IntegrationEvent(False,False)]
local procedure OnAfterGetCRMEntityUrlFromCRMID(CRMEntityUrlTemplateTxt: Text, NewestUIAppIdParameterTxt: Text, TableId: Integer, CRMId: Guid, var CRMEntityUrl: Text, CRMTableId: Integer)
Parameters
Name
Type
Description
CRMEntityUrlTemplateTxt
Text
NewestUIAppIdParameterTxt
Text
TableId
Integer
CRMId
Guid
CRMEntityUrl
Text
CRMTableId
Integer
OnGetIntegrationTableMappingFromCRMIDOnBeforeFindTableID
[IntegrationEvent(False,False)]
local procedure OnGetIntegrationTableMappingFromCRMIDOnBeforeFindTableID(var IntegrationTableMapping: Record "Integration Table Mapping", var TableID: Integer, CRMID: Guid, var IsHandled: Boolean)
Parameters
OnBeforeGetIntegrationTableMappingWithRecordId
[IntegrationEvent(False,False)]
local procedure OnBeforeGetIntegrationTableMappingWithRecordId(var IntegrationTableMapping: Record "Integration Table Mapping", BCRecordId: RecordId, var TableID: Integer)
Parameters
OnAfterGetIntegrationTableMappingFromCRMRecordBeforeFindRecord
[IntegrationEvent(False,False)]
local procedure OnAfterGetIntegrationTableMappingFromCRMRecordBeforeFindRecord(var IntegrationTableMapping: Record "Integration Table Mapping", RecRef: RecordRef)
Parameters
[IntegrationEvent(False,False)]
local procedure OnAfterAddExtraFieldMappings(IntegrationTableMappingName: Code[20])
Parameters
Name
Type
Description
IntegrationTableMappingName
Code[20]
OnBeforeRescheduleJobQueueEntries
[IntegrationEvent(False,False)]
local procedure OnBeforeRescheduleJobQueueEntries(TableNo: Integer, var RescheduleOffSetInMs: Integer)
Parameters
Name
Type
Description
TableNo
Integer
RescheduleOffSetInMs
Integer
See also