Injecting Conditions into SLX Lookup Controls
Posted By: Alex.Cottner on September 24th, 2013 in General, Saleslogix
No Gravatar

I ran into a problem today where I needed to inject a custom where query into a lookup control. The customer needed to have an owner lookup control pre-filtered to only show users in a specific department and “Everyone”. Using the standard lookup prefilters, it isn’t possible to create an or statement. I didn’t want to convert this form to a custom smart part just to do this, so I decided to look for an injection point in the lookup prefilters.

My first thought was to inject into the “Filter Value” field. Unfortunately, SLX8′s lookup controls runs a ToUpper against this value before creating the SData query. SData is case sensitive, so this is an immediate failure. After that I trie dto inject into the Property Name field. See screenshot below.

This caused an error complaining about being unable to parse the where clause as HQL (even though we are no longer using HQL for our lookups in SLX 8, pretty weird). After working on this problem for a while and looking for a point of injection I realized I could easily inject into the SeedProperty and SeedValue properties on the lookup control in a quickform load action. This turned out to be the winning combination. See the code snippet below.
AssignedTo.SeedProperty = "User.UserInfo.Department like '%Tech Sup%' and User.Enabled eq true or OwnerDescription";
AssignedTo.SeedValue = "Everyone";

Adding custom properties to Saleslogix activities
Posted By: nicocrm on September 10th, 2013 in General
No Gravatar

When adding a custom property to a Saleslogix activity, it will need to be saved using the system sdata adapter for activities: slx/system/activities.

Unlike the dynamic sdata adapter (slx/dynamic/activities), this one has a hard coded list of properties. For a custom property to be included on this adapter it needs to satisfy one of 2 conditions:

  • Be a SLX standard id property
  • Be of type text, have a name ending with “Name”, AND have a corresponding “Id” property

Otherwise, the property just won’t be available to interact with. I am not sure why the conditions to include custom properties are so stringent but that is something we needed to know.