New Contact creation produces a bogus address entry in CRM 4.0 database table 'CustomerAddressBase'
-
Friday, July 11, 2008 8:44 PMWhen I create a new CRM contact, 2 address entries are getting created in 'CustomerAddressBase' for the contact. The first entry (with AddressNumber=1) looks exactly as I would expect, based on the data I entered when creating the contact.
A second entry (with AddressNumber=2) is ALSO getting created. Most of the field values get set to 'Null' except for "AddressTypeCode","FreightTermsCode", and "ShippingMethodCode"; all of which are set to a value of 1.
This is a new CRM 4.0 install with a few basic form javascript customizations. I can consistently duplicate the issue. It doesn't appear to negatively effect anything but it sure looks like a bug.
Anyone else seeing the same thing?
-Brandon
All Replies
-
Saturday, July 12, 2008 1:59 PM
Hi
This behavior is completely normal.
On the contact, lead and account form you have address1 and address2 fields, these fields are also stored in the CustomerAddressBase on creation of such a record, even if they don't contain any data. Once you update the contact e.g., it will also update the records in this table.
-
Sunday, July 13, 2008 1:27 AM
Hi, thanks for the info. After doing some more digging, I think I understand what's going on. It is indeed normal behavior for two address entries to get created when you create a contact. The thing that threw me off was the inconsistency between a few fields on address1 and address2. Apparently, the out-of-the-box settings for those addresses are different. For address1, the "AddressTypeCode","FreightTermsCode", and "ShippingMethodCode" default values are all set to "Unassigned Value", which is a null in the DB. However, for address2, those same corresponding fields have a default value set to "Default Value",which is a value of "1" in the DB. It's a simple change to set the default value to "Unassigned Value" on the address2 fields, which is what I've now done on my system.
For anyone who is creating CRM contracts, make sure you specify a value for "Address Name" on the customer entity (Account or Contact). If you don't, you won't be able to link that address to the "Bill To Address" of the contract. And be sure NOT to remove the "Address Name" field from your form before mucking around with contracts. You'll wonder why you can't see the address entered on the contact/account form when setting the contract "Bill To Address"! Then you'll end up doing something crazy like creating a 3rd address via 'More Addresses', because the Address Name field is required when you add an address via this method.
It would be nice to make the "Address Name" a conditionally required field. If there is a value in the street1 field, force the user to name the address before saving. This would be a nice feature for those doing contract management. Now I've just got to figure out how to javascript it!