Merge duplicate contacts in Freedom UI (Creatio 8.1)

Hi,

 

Has someone figured out how to merge duplicate contacts in the contacts section in freedom UI ? The documentation only shows classic UI contact page https://academy.creatio.com/docs/8.x/creatio-apps/creatio_basics/busine…



Cheers,



Damien

 

Like 8

Like

18 comments

Hello,



Unfortunately, it is not possible to check the deduplication for a contact record while it is being created. You can do it through a mass search for duplicates, which can be launched on the page with rule settings. As a temporary solution, you can display the Contacts section in Classic UI, where you can perform deduplication check on this page.







At the moment this is the only solution. The responsible team is already working on adding this feature in the next releases.



Regards,

Orkhan

Orkhan,



Hope it comes soon, that was a highly appreciated "hygiene" function and highly demanded by our new prospects.



Cheers,



Damien

Hi, Any news about a component to manage duplicate customers or accounts or whatever and be able to merge them into Freedom UI pages?

Thanks, but this didn't solves the problem of existing duplicated contacts/accounts, just to advice when try to add a new one.

 

What I'm asking for is the ability to merge contacts or accounts or whatever like in Classic UI

 

1.- In Classic UI when you list contacts, select some (duplicated) and have an action to merge them

 

2.- Also in Classic UI, when open a contact, for example, if have some duplicated you have the choice to merge them

 

My question is, when this functionality will be enabled in Freedom UI

 

Thanks

 

Julio

Hi,

 

are there any news on this "lost" feature?

 

Thanks,

Robert

Definitely needed in Freedom UI. I hate that I have to add the classic sections to a workplace to have users go there to use the functionality to merge records. 

Ryan

Ditto 1 million times, this is a major missing function from freedom at this point.

Ryan Farley,

Agree

Yes, 

I've only seen information about deduplication on save in recent roadmap update, but not full proper deduplication functionalities, which is one of the crucial functionalities in maintaining a healthy CRM database.

Definitely need this functionality to return. It doesn't make sense how Freedom UI has been out for so long and we're still waiting on such an important feature.

Any updates on this? 

Any updates on this? 

Any update on this?

After more than 2 years wait, you can finally merge records in a list in Freedom UI starting with Creatio 8.3.1. https://academy.creatio.com/docs/8.x/resources/release-notes/8-3-1-twin-release-notes#title-2782-18 

Damien Collot,

Looks like it isn't in a great state from my quick check in a trial environment. It's offering to merge Supervisor and other important system user Contacts with regular Contacts which seems like it could result in big issues (all data shown is trial env default data):

 

Also when trying out merging on 2 of the OOTB trial env Contacts (both called Jane Russel for anyone wanting to reproduce in their own trial env) I get a SQL exception in the BP instance:

System.Exception: Fail merge duplicates: 86c8ba1b-0679-48e3-a388-1baa4fdfcf83, a0756556-8b72-4bd8-89ff-0ab49f5882f4. Operation token: Contact_1_89c0adc0-a7bc-402f-820a-25ceb85e6607. ---> Npgsql.PostgresException: 23503: update or delete on table "SysImage" violates foreign key constraint "FKamtHXQyIMFbLDoNyWpPJjYmE" on table "Contact"

 

And relevant part of the stack trace:

   at Terrasoft.Core.DB.Query.Execute(DBExecutor dbExecutor)
  at Terrasoft.Configuration.DeduplicationMergeHandler.DeleteMasterRecords(String schemaName, List`1 recordIds, DBExecutor dbExecutor)
  at Terrasoft.Configuration.DeduplicationMergeHandler.MergeEntityDublicates(String schemaName, Int32 groupId, List`1 duplicateRecordIds, Dictionary`2 resolvedConflicts)
  --- End of inner exception stack trace ---
  at Terrasoft.Configuration.DeduplicationMergeHandler.MergeEntityDublicates(String schemaName, Int32 groupId, List`1 duplicateRecordIds, Dictionary`2 resolvedConflicts)
  at Terrasoft.Configuration.DeduplicationActionHelper.BeginMerge(Int32 groupId, List`1 duplicateRecordIds, Dictionary`2 resolvedConflicts)
  at Terrasoft.Core.Process.DeduplicationActionProcess.Main()
  at Terrasoft.Core.Process.DeduplicationActionProcess.MainScriptTaskExecute(ProcessExecutingContext context)
  at Terrasoft.Core.Process.ProcessFlowElement.CallInternalExecute(ProcessExecutingContext context)
  at Terrasoft.Core.Process.ProcessFlowElement.ExecuteItem(ProcessExecutingContext context)
  at Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

Hi Harvey, 

indeed there could be some better protection regarding system contacts. Default setup is quite "light" in terms of rights.  However, by default I would suggest blocking your non admin users from being able to edit /delete system users, if not even "read" for some system contacts. 

Also limit merge rights to trained key users only. 

Otherwise works well, already have our environments in 8.3.1, and did normal contacts merges,  didn't get the issues you encountered.

Damien Collot,

For sure, it's just one to be aware of.

 

In terms of the failing merge, as I mention it's happening OOTB with trial env data, so it's not like it's a convoluted setup that causes it - if that data is condition is present in trial env data, it really should be resolved by Creatio. I've seen this error before when trying to modify a record's Id in some obscure use case. It causes a DB trigger that's created automatically on any object with an image field (which is a lookup to SysImage behind the scenes) to run which tries to delete the SysImage record, but that will fail if the record still references that image (or another record references that image). See below for the trigger as it exists OOTB on Contact in a Postgres instance:

 

I can't really work out what this trigger is supposed to do - I don't think it makes sense that changing e.g. Contact's Id would trigger removal of the image from SysImage. Perhaps the final condition is wrong and should be:

(OLD."PhotoId" <> NEW."PhotoId" OR NEW."PhotoId" IS NULL)

So that an update to the image reference would delete the old SysImage to clean it up. It would still fail if another record referenced it, so would really need some kind of check for that as well before trying to delete it, but it would at least start to make sense.

Show all comments