I have been asked if the customer lookup on the sales order screen can be made to search by address line 1 by default instead of customer name. This is before opening the customer lookup, just typing straight into the Customer field.
There are a couple of reasons for this:
- Our CR team is used to asking for the customer address and looking up the customer from that. It is more efficient to ask for an address and look up 43 Acacia Avenue for example than Kris Kristofferson. First Kris could be Kris or Chris and then there are likely to be more than one Kris, Chris etc whereas the likelihood of multiple 43 Acacia Avenues is much less.
- Asking the customer to spell their name is time consuming and prone to errors and makes for a worse customer experience. Many of our customers have names that are not easy to spell just from hearing the name.
Is this possible with a simple customization or would it be a complicated thing we’d need to approach our partner for?
We have already customized the selector as below:
[PXMergeAttributes(Method = MergeMethod.Merge)]
[PXCustomizeSelectorColumns(
typeof(PX.Objects.AR.Customer.acctCD),
typeof(PX.Objects.AR.Customer.acctName),
typeof(PX.Objects.CR.Contact.displayName),
typeof(PX.Objects.CR.Contact.phone1),
typeof(PX.Objects.CR.Contact.eMail),
typeof(PX.Objects.CR.Address.addressLine1),
typeof(PX.Objects.CR.Address.addressLine2),
typeof(PX.Objects.CR.Address.postalCode),
//typeof(PX.Objects.AR.CustomerAttribute.Contact.phone1),
typeof(PX.Objects.CR.Address.city),
typeof(PX.Objects.CR.Address.state),
typeof(PX.Objects.CR.Address.countryID),
//typeof(PX.Objects.AR.CustomerAttribute.Location.taxRegistrationID),
typeof(PX.Objects.AR.Customer.curyID),
typeof(PX.Objects.AR.Customer.customerClassID),
typeof(PX.Objects.AR.Customer.status)
)]
[PXSelector(typeof(Search2<Customer.bAccountID,
InnerJoin<Contact,
On<Customer.primaryContactID, Equal<Contact.contactID>>,
InnerJoin<Address,
On<Contact.defAddressID, Equal<Address.addressID>>
>
>
>),
typeof(Customer.acctCD), SubstituteKey=typeof(Customer.acctCD), DescriptionField = typeof(Customer.acctName))]
protected virtual void SOOrder_CustomerID_CacheAttached(PXCache cache)
{
}
[PXMergeAttributes(Method = MergeMethod.Merge)]
[PXUIField(DisplayName = "Primary Contact")]
protected virtual void Contact_DisplayName_CacheAttached(PXCache cache)
{
}
Phil