I recently ran into an issue creating a job in the Infor CRM Job Service portal that had a step to create an activity. When I ran the job I was receiving event log errors similar to the following: Sage.Platform.DynamicMethod.DynamicMethodException: An exception occurred executing the dynamic method Activity.OnCreate. —> Sage.Platform.Application.ServiceMissingException: Service Sage.SalesLogix.PickLists.IPickListService is not available ...
In a previous post I discussed how to extend the Email control in the Infor CRM web client to change the validation regex string that is used. In 8.4 this functionality changed and now no longer uses the same approach as before. Instead the email validation has changed to being contained within the Sage.Utility library. […]
When setting up a new dojo widget that utilizes the Lookup control (Sage.UI.Controls.Lookup) you are able to pass in the configuration options for the lookup. This includes things like the store, or sdata feed that the lookup will use, what columns show in the lookup, and also filters on the lookup. These options are passed […]
In the Infor CRM 8.3.09 web client timeless activities in the sdata grid display their dates as one day off due to UTC offset incorrectly being applied to these records. The sdata grids all inherit from the Sage.UI.Controls.GridParts.Columns.DateTime widget. Because of this we can fix the base widget function returning the incorrect date value and […]
Breaking Campaign Target Logic In older version of the custom smart part LeadSearchAndConvert, there is code in the ConvertLeadToNewAccountAndContact method that converts lead campaign target data into the newly created contact record. In older version this code look like: In 8.3 that Lead business rule no longer exists. Instead there is a new method in […]
How to extend the Infor CRM (formerly Saleslogix) email control in the web client.
In today's post, I'll be outlining a procedure to add an Address field to Account Asset (Product) record. To add an address field to Account assets (products) that allows a user to define an existing Account Address for an Asset (AccountProduct) record. The addressed will be stored in the AccountProduct.Userfield1 field.
When customizing the Infor CRM (Saleslogix) Mobile client, it's common for the ApplicationModule to grow very large as more and more customizations get added into it. This makes the code difficult to work with and very poorly organized. There are some better solutions to keep your code nicely organized and easy to maintain.
The blogs on customerfx.com go all the way back to 2003. There's years and years worth of information that we've accumulated and shared. Since the beginning of the Infor CRM (Saleslogix) web client, we've been posting and sharing what we've learned ever since. However, if you're just starting with developing & customizing the web client, it might be hard to know what to start reading. This post will contain an index of pos...
I'm not a huge fan of bugging end users. I figure, if an end user clicked something, he or she meant to click it. However, that's not always the case. It's especially a good idea for destructive actions or for things that will make a lot of changes and you want to make sure before you pass the point of no return. If a user clicks something and you need to confirm the action with some sort of "Are you sure?" prompt, then it m...
So you have approved the Statement of Work (SOW) for some modifications and are awaiting the delivery of the bundles from Customer FX. The next item you should be working on is a solid test plan. There are several ways to create a test plan and my intent is not to guide you onto any […]
Some entities in SalesLogix, such as Tickets, use a "pretty key" as an easier to use value to reference the record. These pretty keys take a SalesLogix table ID value and then create a value like 000-00-1234. If you are creating an external application with this functionality, you'll need to be able to create these pretty keys there as well.
When checking for two (or more) different values for a property in a code snippet, you can't simply look at the string values without an error being thrown. For example: Sage.Entity.Interfaces.IAccount acc this.BindingSource.Current as Sage.Entity.Interfaces.IAccount; if (acc.type != "Customer" || acc.type != "Prospect")
I am very pleased to announce a new & free open source tool from Customer FX named the SalesLogix Mobile Developer Toolkit. This toolkit will make your life easier when working with the SalesLogix Mobile product and provide automation to some of the tedious tasks you have to complete before you actually get to start writing code. Let's take a look.
When integrating another system, application, or website with SalesLogix there are many options. If you're need to make connections to the SalesLogix database via the provider using user credentials you either need to prompt the user for login (again) or you can pass the connection information along to the other system.
If you've followed my posts on Sublogix, or even better, given Sublogix a spin, you'll know that if you're doing SalesLogix development Sublogix can save you a ton of time and give you a much easier to use data access and entity model. This post will show you how to extend the Sublogix entities to give you even easier access and save even more time.
The Quick Find functionality in the SalesLogix web client is a fast and easy way to look up information from many different areas in SalesLogix, but did you know you could modify the layout of the various lookups displayed in that interface? The functionality is a little hard to find if you don't know where to look, but this post will explain how you can modify the Quick Find lookups.
A couple of weeks ago I announced the .NET Extensions Helper open source library. I figured it was time for a more complete walkthrough so this post will show a video of how to get the library and use it to embed a .NET UserControl on a SalesLogix account tab. Let's take a look.
On a recent project, I worked on emulating functionality similar to what is found in the LAN client where a user is presented a dialog asking them to choose between different activity types then launching into the Schedule Activity functionality. I found this was fairly easy to duplicate in the web client, and in this post, I'll quickly go through the steps for creating that type of functionality.
If you're working in the SalesLogix Windows (LAN) client, why not make as most use as possible of a modern development environment, language, and tools? The SalesLogix .NET Extensions feature in the SalesLogix Windows client is one of the best, and likely least used, features in the SalesLogix Windows client development story. A choice bewteen using an out-dated development environment and VBScript, with no possibility of using source control...