Browse By Tags

  • Blog Post: Creating Ajax calls using the Client Side API.

    Below is a screen shot of an Opportunity Summary page. You can see that as the mouse hovered over the Company Name in the 'For' panel of the screen a tool-tip appeared that displayed the company's Status and Type. This is information that is not normally available within the browser when...
  • Blog Post: Controlling Tabs with the Client Side API

    One of the common requirements that I hear during my conversations with partners and customers who are implementing Sage CRM is that at different points within a workflow or business process the organisation may need to make a user concentrate on only certain options that are most relevant at the time...
  • Blog Post: Calling extensions (ASP pages and .NET assemblies) from buttons added using the client side API

    The new Client Side API adds a very easy way of adding new buttons. crm.addButton(imageURL,captionfamily,captioncode,[options]) The new Client Side API allows application extensions to be called. This would typically mean calling either an ASP page or a .NET assembly. In order to do this we need...
  • Blog Post: Controlling the properties of New Buttons adding using the Client Side API

    The previous article " Calling Extensions (ASP pages and .NET assemblies) from Buttons added using the Client Side API " discussed how new buttons can be added to system screens. This article will look at how we can add the button exactly where we need and how we can control the behaviour...
  • Blog Post: Adding a Print Screen button to a system page using the client side API

    In this article I would like to consider 3 examples of adding a custom print button to a system screen. The button to be added will open a new version of the current screen that has minimal formatting which will allow the relevant information on the screen to be printed. The screen that will be used...
  • Blog Post: Adding Protection to Your Code in Script Libraries

    A partner recently asked me "how can I discourage any fiddling with the code I have written for my customer". The person who asked me this was anxious about two things. They wanted to make sure that their code didn't break, and they didn't want unauthorized people to 'borrow'...
  • Blog Post: Controlling FusionChart Widgets with the Client Side API

    The image above shows that the value of the oppo_certainty field has been rendered as a graphic widget. The certainty is shown as a value on a linear gauge using the features of the FusionChart libraries that can be used within Sage CRM. I created the chart above using the following code that was...
  • Blog Post: Adding Additional Information to the TopContent of a System Screen using the Client Side API

    In the image below you can see that I have added some additional HTML to the TopContent of the Person Summary screen. The following code can be added to the custom content box of a system screen like the PersonBoxLong or CompanyBoxLong. [code language="javascript"] <script> crm...
  • Blog Post: Creating a Mashup with a FusionChart and Ajax Data using the Client Side API

    The screen shot above of a Company Summary screen shows a graph displaying the count of opportunities and cases belonging to the company in the TopContent area. This has been created using the following code added to the Custom Content box of the CompanyBoxLong screen. <script> var myResults...
  • Wiki Page: 492-17065 - Setting an onload event may result in a CRM screen not rendering

    Summary: Adding an onload event via a Custom Content script may result in a CRM page remaining blank after loading. This is caused by the script replacing the onload events. Symptoms: A customer added a Custom Content script in the following format: <script> window.onload = function(){ alert("The...
  • Wiki Page: 636-17088 - Document drop icon missing

    Summary: Issue with Document drop not working as it is not loading properly Symptoms: The Document drop icon is missing but the text remains. Dragging a document onto the icon does nothing. Cause: A request to load some Javascript needed by the plugin was resulting in an error 500. This happened because...
  • Wiki Page: 492-17089 - Long loading times on Workflow and Line Item screens

    Summary: Users may experience a delay when attempting to load screens that are launched using the jQuery load() function. This includes the Workflow and New Line Item screens. Symptoms: Poor performance may be seen when loading certain screens, especially when the user is not accessing CRM on a local...
  • Wiki Page: 492-17090 - Comments in an OnChange script may result in errors in the Outlook plugin

    Summary: Commenting out the last line of an OnChange script on the CommWebPicker screen may result in a scripting error in the Outlook plugin. This applies for both the Exchange plugin and the Outlook Lite plugin. Symptoms: Selecting a Company record when filing an email from Outlook may result in the...
  • Wiki Page: 492-17147 - How to: Querying records using a Where clause in the client-side API

    Summary: It is possible to make SDATA requests using the client-side API. Some confusion may exist regarding the querying of records using a Where clause, as this function will always return a set of record objects. More information: In the following examples, we're using a Car entity, which has...
  • Wiki Page: 536-17035 - New Appointment: JavaScript error on selecting a Person

    Symptoms: On the New Appointment screen, selecting the green arrow next to the Person: field (Cmli_Comm_PersonId) may result in the following error being displayed: An error has occurred in the script on this page Object doesn’t support property or method 'NavPopupUrlcmli_comm_personid'...
  • Wiki Page: 536-17173 - Missing vertical scrollbar in custom ASP page

    Summary: On a custom ASP page that contained an iframe there were issues with the scrollbars on the iframe because of the javascript in the asp page was attached to the window.onload event. Cause: For example if you bind to the onLoad event using javascript: window.onload = function() { doLoad(); } It...
  • Blog Post: Hiding Panels in System Screens in Sage CRM

    Screens like the Opportunity Summary, Case Summary and Company Summary page are divided into different panels. Much of the page layout in the current version is controlled by HTML Tables. CSS styles are used to format the display of the tables and their TD tags. In these summary pages the different...
  • Blog Post: The eWareQuery Object: A warning.

    I was going to call this a 'warning from history' but as you read the rest of the article you may realise that the 'updateddate' may never have been filled in. The eWareQuery object is a fantastically useful tool for on-premise developers to use in ASP pages, table level scripts and...
  • Wiki Page: 492-16076 - Exchange, file email when contact not in CRM

    Summary: An issue may occur in versions 7.1 and 7.2 of Sage CRM whereby a JavaScript error appears when attempting to file an email from a contact that does not exist in CRM. This issue will only occur in instances of Sage CRM that are integrated with Sage 200. Symptoms: The issue can be reproduced when...
  • Wiki Page: 536-16782 - Default behaviour of the Email Manager JavaScript files

    Summary: A number of support cases have been raised regarding the expected functionality that is in the default Email Manager scripts. The article will seek to clarify what functions are available in each script, and when they should be used. More information: Two default scripts are available for the...
  • Wiki Page: 492-17471 - Frameset removal: duplicate element IDs in top content and EWARE_MID

    Summary: Fields added to the Top Content area in Sage CRM do not have different HTML IDs to fields added to regular Sage CRM screens. This may cause an issue if attempting to reference a screen element by ID. Symptoms: An example of the issue can be seen where comp_name field is added to both CompanyTopContent...
  • Wiki Page: 492-17512 - How to: Running performance tests on custom client-side scripts

    Summary: Those implementing Sage CRM may encounter issues around the performance of client-side JavaScript. These issues may be difficult to troubleshoot; while all major browsers include JavaScript profiling tools as part of their development tools, these may provide more information than is useful...
  • Blog Post: Creating a compound filter (filterWhere) using the Client Side API

    This article is about the client side API. Specifically this article is concerned with how to write a script to handle the information within a grid and then apply an action to the cells, row or columns of the grid where more than one criteria is needed. Examples of using the client side API with...
  • Wiki Page: 492-17714 - Resizing IE may cause page resubmission

    Summary: Submitting a page when zoomed in greater than 100% may result in the data being sent twice. This can result in duplicate entries being created in Sage CRM. Symptoms: Any action where data is submitted may be affected; the example raised with the case was where new quotes are being created. This...
  • Blog Post: Using an External Script file to add event code to a field.

    A customer had the requirement to place some rules on the company name field to discourage users from entering characters that were not allowed in business names. Which special characters may be used in a business name will differ between countries. I am most familiar with the UK rules having set...