We recently had a client who had requested the add product dialog in the SalesLogix web client have specific values defaulted when the screen first opened. The add product screen is not a Quick From but is a custom smart part with a separate code file. The place to modify the logic of defaulting values on the form opening needs to take place in this code file.
Looking at the standard code file, you can see there are very few ASP.Net or SalesLogix form events defined. I decided to add my action to the OnFormBound event which runs during the initial load and each post back. This could be problematic as I only wanted to default the value when the form first opened, and not when the user causes post back events to occur. To handle this I added a check to ensure the web control txtSKU does not already have data set in it. If it does not then I go ahead and default the value.
Now the client wanted to have the SKU field default to the current user’s name. So I added code to retrieve that using the SLXUserService class in the Sage.SalesLogix.Security assembly.
Here is the completed code:
protected override void OnFormBound()
if (txtSKU.Text.Trim() == “” )
Sage.SalesLogix.Security.SLXUserService usersvc = ApplicationContext.Current.Services.Get<Sage.Platform.Security.IUserService>() as Sage.SalesLogix.Security.SLXUserService;
if (usersvc != null && usersvc.UserId != null) txtSKU.Text = usersvc.UserName;
Pretty easy. Once the code file was modified, and the web site was re-built and deployed, the add product screen defaulted the SKU value as desired.