Browse By Tags

  • Blog Post: Clientside control of fields in Search screens including detection of grids and lists

    This tip is a modified product of a conversation that took place between a couple of my colleagues in the UK and US. The need was to find a technique that would allow the easy clientside control of fields with the search screens. It had to be clientside because the technique was needed for the hosted...
  • 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: Making the top tabs static

    Here's a little tip that may be handy for those of you who are by necessity or inclination members of the all-on-one-screen school of user interface design. By default, if you have to scroll a screen in Sage CRM the top tabs will move along with it. This can be problematic for two reasons: ...
  • Blog Post: Making ServerSide objects available to ClientSide code (onChange and Custom Content scripts)

    This article has been updated (29th April 2009) to use the coding convention introduced in Sage CRM 6.2 If you have started to code with Sage CRM you will know that the world is seemingly divided into two, ServerSide and ClientSide. The objects and properties that we can use ServerSide can not...
  • Blog Post: Sage CRM 7.2: Script Libraries: Defining Namespace References

    In a previous article " Script Libraries: Reusing Client Side Code Between Screens " I discussed how Sage CRM 7.2 will automatically add any javascript file that you add to the custom folder into the header of every page produced by the system. It is a good idea when adding script libraries...
  • Blog Post: Sage CRM 7.2: Binding Client Side Script to the onLoad event using crm.ready()

    Sage CRM 7.2 has a Client Side method crm.ready() which is used to execute scripts once the page is loaded. In earlier versions of Sage CRM we could use 'Plain Old Javascript' to associate custom code to the moment the page was loaded. In Internet Explorer the way to do this was: window...
  • Blog Post: Sage CRM 7.2: Script Libraries: Reusing Client Side Code Between Screens

    It has always been possible in Sage CRM to share client side code between screens. In Sage CRM v7.1sp2 and earlier we could do this by using a shared external script library. For example if we wanted a set of business rules to be available in both the PersonBoxLong screen and the PersonBoxDedupe screen...
  • 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: Sage CRM v7.1: Using SData in Ajax triggered by an onChange event on a Search Select Advanced field

    Imagine you want to fetch the value of the Company SLAID field as a new case is entered. Of course you may not be in the context of the company when the new case is created and so a create script which fetches data when the screen is drawn would be no help. We would have to use some form of clientside...
  • Blog Post: Company and Person Workflow Progress with Tracking tab in CRM

    Many thanks must go to a colleague in the UK professional services team for this article. Introduction Customers often request the ability to track Company or Person changes in much the same way that CRM offers with Opportunity and Case entities. As standard, CRM does not offer a CompanyProgress...
  • 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: Making E-mail templates Read-Only using Clientside code contained in Translations

    The UK PSG team was recently asked to work out how to lock down the Email editor for certain templates. The company wanted to be sure that when certain templates were selected by a user the merged text of the email could not be altered by the user. Those templates when selected needed to become ReadOnly...
  • Blog Post: Sage CRM 7.2: Controlling the RecentList using Client Side Code

    I have previously written about how the RecentList can be controlled in Client Side script using a technique suitable for Sage CRM v7.1 and earlier. You can find this article here: Clearing the Recent List using Custom Clientside Code (for Sage CRM v7.1 and earlier) The removal of frames in Sage CRM...
  • 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: Gotchya when using AJAX in CRM Customisations (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. Previously I blogged about using AJAX in CRM Customisations. I found a bit of a gotchya that can cause data-loss. Please...
  • Blog Post: Changing the Display of Multi Select fields using the Client Side API

    This article has been prompted by a customer who had a requirement to change the default display of a multiselect field. This article uses the Client Side API introduced in Sage CRM 7.2. The default display of a field is shown below. The default display shows the data in a comma seperated list...
  • 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: Calling ASP Pages from Classic Dashboard Blocks

    In versions earlier than Sage CRM v7.0, the classic dashboard tab of the My CRM area is a customizable page that contains information most relevant to the way a user may work. The classic dashboard can display report graphics, links to reports, and information contained in different types of blocks which...
  • Blog Post: Customizing the Opportunity Pipeline Summary Information

    Can we customise the "Statistics for All stages" that appear next to the pipeline in My CRM / Opportunities? The pipeline graphic and its associated statistics are driven from within the dll and have no definition within meta data. This means that we have no obvious way of changing the data...
  • Blog Post: Using Clientside Code to Change the Property and Behaviour of a Column in a List

    When customizing a List block you have access to two means of controlling the properties of a column. The first is by using the create script for the column. See the article " Using Create Script in GridColumns ". The second technique depends on using clientside code that has been delivered...
  • Blog Post: Clearing the Recent List using Custom Clientside Code (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. A customer had the required to be able to remove items from the Recent List in clientside code. To understand what can...
  • 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: 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...