In v7.95 of RE7, there were some new config business rules introduced which prevent duplicate phone or emails being added to a record.
I have not really found this to be consistent though. When I use this inside of a constituent record it does not seem to make the slightest difference which setting. I can have to “Email” phone types but no matter which setting is selected above it saves fine. This does seem to work better with phones (as opposed to emails). Although even when I have the setting as “Do not allow record to be saved” it still prompts to if I want to save it.
When I run this through code however I do get an error… sometimes.
If I have a matching phone type but different phone number it seems to work fine most of the time (although once I got an error message). If I have a matching phone type and phone number I will always get the error as shown below. This does not seem to be affected by the options above though.
I am wondering wondering if there is a way of controlling the error. If this were working as expected then it should be possible to permit the record to be saved if the options is “Display warning”.
Here is my test code:
Public Sub TestSavingDuplicatePhones() Dim constit As New CRecord constit.Init SessionContext constit.LoadByField uf_Record_CONSTITUENT_ID, "3" Dim parent As IBBPhonesParent Set parent = constit Dim phone As CConstitPhone Dim phones As CConstitPhones Dim dataObj As IBBDataObject Dim phone2 As CConstitPhone Dim dataObj2 As IBBDataObject For Each phone In parent.phones Set dataObj = phone If dataObj.Fields(ECONSTITPHONEFIELDS.CONSTIT_PHONES_fld_ PHONETYPE) = "Email" Then Set phones = parent.phones Set phone = phones.Add Set dataObj2 = phone dataObj2.Fields(ECONSTITPHONEF IELDS.CONSTIT_PHONES_fld_NUM) = "1234" dataObj2.Fields(ECONSTITPHONEF IELDS.CONSTIT_PHONES_fld_ PHONETYPE) = "Email" Exit For End If Next constit.Save constit.Closedown Set constit = Nothing End Sub