• Blog Post: Including a JavaScript file in CRM screens

    OK, so lets say you have a bunch of javascript functions that you have put into a js file to use on multiple screens, or you want to use a 3rd party javascript library such as jQuery , prototype or scriptaculous with Sage CRM. How do you get the library/libraries loaded? Here are a couple of snippets...
  • Blog Post: Intelligent Selects

    Fields such as the user selection list (oppo_assigneduserid) are examples of a type of field known as an Intelligent Select The intelligent select in edit mode displays additional structures, a search box and a magnifying glass image. The search box associated with the intelligent select or user select...
  • Blog Post: How can I redirect to another screen immediately after entering a record? (for Sage CRM v7.1sp2 and earlier)

    Note: This article discusses techniques relevant for Sage CRM v7.1sp2 and earlier. If you are using Sage CRM 7.2 please refer to the articles that discuss the new Client Side API. This article has been prompted by the following business requirement. A customer needed to immediately redirect to the...
  • Blog Post: Using Custom Content Script to Change the Properties of a Field based on Displayed Value (before Sage CRM v7.2)

    Note: This type of customization has become easier in Sage CRM v7.2 using the new Client Side API). The fields in screens are output with clear 'IDs' that allow the control of the field caption and data to be very easy. The HTML that makes up the display of a field like the comp_name...
  • Blog Post: Hiding the Advanced Search Select field including the gif image

    Purpose : Hide the Search Select Advanced Field. It is easy to hide the text fields(using Capt_/Data_), but to hide the gif image / underlying URL the following script can be used. This script is tested on crm57 version for the new case webpicker window. may be you try the script similar to the one below...
  • Blog Post: Working Client Side with User Select Lists

    A customer had the need for a field on their company screen that works superficially like the highlighted section in this picture of the new communication screen. Really what the customer wanted was to have a field that contains a list of user names. The user names need to get added to the list by the...
  • Blog Post: Changing Search Select Advanced display fields

    CRM allows you to change the display fields used in an Search Select Advanced (SSA) field but it does not give you control over the order of the fields displayed. The following function, placed in the custom content of the screen, will allow you to change the order of the display fields: <script>...
  • Blog Post: Refreshing the Screen

    There are 3 ways of refreshing a screen in CRM. 1. The best way for a user to refresh a screen, for example a listing of Communications under the My CRM area, is to click the tab in the menu. This recalls the URL and refreshes the page safely. This is the way of refreshing a screen that should be taught...
  • Blog Post: Dynamic Selection Lists

    Below was tested on Sage CRM v6.0d Wouldn't it be nice to be able to have one selection list's options filtered by the current value of another selection list. For example, Software Vendor and Software Product, when I select a vendor from one list I only want to see the products in another...
  • Blog Post: Quotations in onChange Scripts

    Sage CRM uses JScript as its internal scripting language. And within JScript string literals can be included in your scripts by enclosing them in matching pairs of single or double quotation marks. Double quotation marks can be contained within strings surrounded by single quotation marks, and single...
  • Blog Post: Getting scripts into hard-to-reach places (for Sage CRM v7.1sp2 and earlier)

    Note: This article discusses techniques relevant for Sage CRM v7.1sp2 and earlier. If you are using Sage CRM 7.2 please refer to the articles that discuss the new Client Side API. *** Please note that this article describes a technique that exploits undocumented workings of the product. Please read...
  • Blog Post: Reporting on Customizations

    One of the chief advantages of Sage CRM is that it is meta data based. The definitions of screens, lists and business rules like workflow are all stored in the database. If you change the definition in the database then it immediately changes the system with out need to recompile or otherwise 'deploy'...
  • Blog Post: The Sage CRM Frame Structure in Sage CRM v7.1sp2 and earlier

    The reference HTML and code in this article has been corrected (20th April 2009). In life, just because you can do something does not mean you should do something. Or as Spiderman said, "with great power comes great responsibility". When we code in the browser we have access to the full...
  • Blog Post: How would you go about changing the font color of a caption in CRM?

    How would you go about changing the font color of a caption or field in Sage CRM? Below is a screen shot from my own system. This is the system that I use for testing ideas and proving concepts. The system has been integrated with a Sage BMS and the image below shows a customised opportunity summary...
  • Blog Post: Grabbing Key Values client side (for Sage CRM v7.1sp2 and earlier)

    Note: This article discusses techniques relevant for Sage CRM v7.1sp2 and earlier. If you are using Sage CRM 7.2 please refer to the articles that discuss the new Client Side API. This article has been updated and corrected. This is a little trick that has to fall into the category "...
  • Blog Post: Injecting javascript into system action screens with no Custom Content field

    ** Note a better technique is described in this blog post ** One of the very nice features of CRM is the Custom Content field on screens. They allow you to enhance the functionality of screens and add business logic to be processed client-side, making for a smoother user experience. But there are...
  • Blog Post: Adding Dedupe Behaviour to the Lead Entity

    This article has been updated to ensure the variables that are passed can take into account a wider range of characters in passed names including umlauts, accents and cedillas. Although this article describes a technique for adding dedupe behaviour to the Lead table it may be adapted for other entities...
  • Blog Post: Adding a Report Button to an Existing System Screen, e.g. OpportunitiesList (for Sage CRM v7.1sp2 and earlier)

    Note: This article discusses techniques relevant for Sage CRM v7.1sp2 and earlier. If you are using Sage CRM 7.2 please refer to the articles that discuss the new Client Side API. This article shows how to add a button to an existing system screen that will call a report. For example if you look...
  • Blog Post: The Client Side CurrentUser object

    In every screen (entrygroup) where you can add javascript (<script>) into the custom content box you can reference the clientside CurrentUser object. You can see that this has been used in several articles in the blogs such as " Controlling Buttons using Client Side code " And other...
  • Blog Post: The Clientside Control of Lists and Columns (for Sage CRM v7.1 and earlier)

    Note : This article discusses techniques relevant for Sage CRM v7.1 and earlier. If you are using Sage CRM 7.2 please refer to the articles that discuss the new Client Side API. I have previously provided an example of a function that may be used in a search screen to test whether the page contained...
  • Blog Post: Stopping Double Clicks in Workflow Screens (for Sage CRM v7.1sp2 and earlier)

    Note: This article discusses techniques relevant for Sage CRM v7.1sp2 and earlier. If you are using Sage CRM 7.2 please refer to the articles that discuss the new Client Side API. This article was prompted by a customer requirement to prevent over-zealous users repeatedly clicking on the save button...
  • Blog Post: Adding extra behaviour to Client Side code

    This article has been updated to correct links . If you have been creating onChange scripts then you will possibly about know the quirk which requires you to use single quote marks (') rather than double (") quote marks when outputting strings. e.g. window.alert('this field has changed'...
  • Blog Post: Another Trick for Grabbing Key Values in Client Side code

    The code in article has been corrected, 7th May 2009. An individual screen within CRM will be produced as a result of a hyperlink that looks like this: http://servername/crm/eware.dll/Do?SID=5351668533575&Act=166&Mode=1&CLk=T&Key0=4&Key4=4&Key27=80&T=New I wrote a little...
  • Blog Post: Making tooltips work in Firefox, Chrome, Safari, Opera et al... in Sage CRM v7.1 SP1 and earlier

    Note: This article refers to versions of Sage CRM earlier than Sage CRM v7.1 SP2. Sage CRM v7.1 SP2 adds support for Firefox, Chrome and Safari browsers and tooltips appear automatically in the screens. Throughout the system, in different screens, Sage CRM uses tooltips on hyperlinks. For example...
  • Blog Post: Managing Client Side Code in Sage CRM (for Sage CRM v7.1sp2 and earlier)

    Note: This article discusses techniques relevant for Sage CRM v7.1 and earlier. If you are using Sage CRM 7.2sp2 please refer to the articles that discuss the new Client Side API. How do we manage our client side script in Sage CRM to maximise our ability to maintain the code ? For those new to...