• Blog Post: Zip Check

    This is a little mod I came up with after adding in a few addresses in CRM. In this day and age of modern technoligy why in the world would we have to type in the City and the State if we know the Zip? I mean really, think of the time you will save by having a tool that could help with this. OMG think...
  • Blog Post: Adding a new Panel to a Summary screen e.g. Company Summary

    A screen like the company summary screen has a very particular structure because it is partially defined in meta data and partial has its structure hard coded into the system action being called. The detail of this is discussed in the article " Changing a Summary Screen (e.g. Company Summary Screen...
  • Blog Post: Controlling Top Content

    Above is a screen shot that shows a default opportunity summary page. At the top of the page is the frame that contains the TopContent information. Sometimes this is called the context information. In this screen the TopContent brings in data from the Opportunity, the Company and the Person entities...
  • Blog Post: Using an onChange Script on a Selection list to set a value of another field

    This is a simple real world example. There was a customer need to set a field values based on value of another field on the opportunity screen. The screens had been customized. The oppo_forecast and oppo_certainty fields were removed from the opportunitystatusbox and oppo_certainty was added to the...
  • Blog Post: How do I hide the 'Follow-up' check boxes on a New Appointment or New Task Screen Screen?

    Below is a screen shot that shows the New Task Screen. You'll see there are some checkboxes that if selected will launch another new communication screen once the New Communication is saved. The HTML that generates these Checkboxes looks like this: <TABLE CLASS=VIEWBOXCAPTION><TR><TD><TD><input...
  • Blog Post: Adding Clientside Code into Dynamically Built Workflow Action screens

    I had a conversation with a participant at one of the recent Bootcamps regarding the use of clientside code in dynamically built workflow screens. This topic has also appeared in the Forums with the community site. The partner's customer had a requirement that when a user was processing an opportunity...
  • Blog Post: Example Business Rules for Text fields.

    Below are some code examples showing how Business Rules can be implemented on Text fields using the onChange and Validation script options within a screen. The examples shown are: The field may only contain letters and numbers The field may only contain uppercase or lowercase letters...
  • Blog Post: Regular Expressions in Rules

    I was just answering an email about how a consultant could create a business rule that ensures data entered by the user matches a particular pattern. The specific example was needed to confirm that the code entered into a text field was only numeric and didn't include alphabetic characters. I had...
  • 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: 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: Grabbing Serverside Information using a SOAP Webservice call (AJAX)

    Please note that this is only a part worked solution. I have added this to show how an web service request can be made from a client to extract any information (available to web services) that is needed from the server. This example is based on code that is discussed within the Developer training...
  • Blog Post: Manage Escalations

    A new example component has been added to the resources section for development partners to download. The purpose of this component is to make the management of escalation rules easier in implementation of Sage CRM where there are a large number of rules to manage. When working with large number of Escalation...
  • 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: Defining Namespace References

    In a previous article " Script Libraries: Reusing Client Side Code Between Screens " I discussed how Sage CRM 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: Binding Client Side Script to the onLoad event using crm.ready()

    Sage CRM has a Client Side method crm.ready() which is used to execute scripts once the page is loaded. We do not have to worry whether the browser is Chrome or Internet Explorer. The crm.ready() method will take the browser version into account and add the function we pass to it in the correct way...
  • Blog Post: 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 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 then we could...
  • 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: 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: 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: Controlling the RecentList using Client Side Code

    The GoRecent function is held in Sage CRM in an external file which is included in every page. Sage CRM Code Example <script> function doCode() { SageCRM.webMenu.GoRecent('C'); } </script>
  • 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 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. The default display of a field is shown below. The default display shows the data in a comma seperated list. The customer instead need...
  • 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...