View more results: All Community | Partner Community
  • Blog Post: Working with 'Create Follow-Up Task' and 'Create Follow-Up Appointments' using Server Side code

    The image above shows the New Task screen. Both the New Task and New Appointment screens allow a user to Create Follow-up Communications. A customer might have a business requirement to know whether the communication a user is currently entering is actually a followup of another communication. That...
  • Blog Post: Workflow and Web Services

    The CRM Webservices API allows the change of the data in the record or set of records being manipulated but it can't invoke the workflow behaviour to change the workflow state. You can have a Web Services call change the stage and the status fields and any other data field you want but the workflowstate...
  • Blog Post: The Values() collection

    This article has been edited and corrected. The code in this article has been changed to follow the coding convention that was introduced in Sage CRM 6.2 The Values() collection can be used in all serverside scripts to examine the passed in Values from a form. Create Scripts Validate Scripts...
  • Blog Post: Correcting inbound data using Table Level scripts and Values() collection

    Occasionally we need to be able to correct data that has been submitted to bring it within tolerance. An example of this maybe where someone has chosen a customer credit limit level that is too high and we need to change this to the maximum allowed value based on the customer current outstanding orders...
  • Blog Post: Using a Table Level Script to Track Changes to Data Made by Users.

    This article uses an idea first mentioned in " Validation Rules Don't Always Mean Stop! ". The example 'UpdateRecord' event function below will write out into a log file which fields have changed. It won't write every field in the screen so we first need to know what fields...
  • Blog Post: Controlling the Detached TableLevel Script Interval

    This article was updated 31st October 2009 to correct hyperlinks. Detached TableLevel Scripts are created in the same way as TableLevel scripts, except you select Detached Table Level from the Script Type list when completing the Table Script details. Unlike TableLevel scripts, Detached Table Level...
  • Blog Post: TableLevel Scripts and SQL TimeOuts

    Any SQL statement may take time to run and result in a timeout error. In Sage CRM the general timeout period is controlled within the Administration -> System -> Database screen by setting the Query Timeout field value. This is expressed in seconds and represents the maximum amount of time that...
  • Blog Post: Interacting Table Level Scripts: A Chain Reaction

    Consider this scenario. There is an UpdateRecord() event function in a TLS on the Company. When the Company assigned user is changed (comp_primaryuserid) then all the 'In Progress' opportunities belonging to that company are reassigned to the new company account manager (oppo_assigneduserid...
  • Blog Post: Using a TableLevel script to Update Submitted Values

    This article has been updated 22nd May 2009 to ensure the code follows the convention introduced in Sage CRM 6.2. Imagine you have a requirement to a ensure that a particular opportunity field contains certain data as an Opportunity record is inserted. In addition this information should be partially...
  • Blog Post: Write to the CRM logs in a server-side script

    If you are developing a server-side script such as a Create Script, Validate Script or Table Level Script, it is often useful to write debugging information to a log. Jeff has blogged about a technique for doing this using the Scripting.FileSystemObject. I'd like to share with you a very simple...
  • Blog Post: How can I get the SID in Serverside scripting?

    The SID is the session ID value. The SID may be wanted if you are building a string that represents a hyperlink that will be returned to the browser. The SID after all only is needed for a new web request, we do not actually need it within server side scripts normally as there we are already in the context...
  • Blog Post: Sage CRM 6.2 Quick Start Performance Guide

    This document has been made available for development partners. This covers version Sage CRM 6.2. We are pleased to announce the release of the 'Sage CRM Quick Start Performance Guide'. The idea behind this Guide is to provide you with some quick hints and tips to try to optimize CRM performance...
  • Blog Post: How do you know if your Table Level Scripts are being executed?

    Hi all, Something I've come across time and time again is where people are not sure if their Table Level Scripts are being executed. It's difficult to see where you went wrong on your table level script if you're not even sure whether it has been executed or not. Furthermore if you...
  • Blog Post: Getting Information about Web Services in Sage CRM

    There are two relevant items of documentation: The Web Services Guide and the System Administration Guide. You can also find general information about the webservices in a recorded webinar within the training section of the DPP website. And there are articles written about webservices on the blog . When...
  • Blog Post: A Table Level Script to update Opportunities when a Company is Reassigned

    A customer had the requirement that when a company was reassigned to a different account manager, the opportunities that belonged to that company that were still in progress should automatically be reassigned to the new company account manager. This was accomplished using an UpdateRecord event function...
  • Blog Post: Function library for tablescripts

    The code on this page was corrected 31st October 2009. Tablescripts are great, they allow you to add code to Sage CRM which will always fire when a table event happens, for example, the company is updated. Look in the developer/admin guides for more details on them. The problem is that you may...
  • Blog Post: CurrentUser object in Serverside Code

    The CurrentUser object can be used in all serverside code including Create Scripts, Validation scripts, Table Level scripts and Workflow javascript conditions. It provides information about the current user session. You can list the properties of the CurrentUser object by using this snippet of code in...
  • Blog Post: More about the Values and FormValues collections

    This article was updated on 22nd May 2009 to follow the coding convention introduced in Sage CRM 6.2. The Values() and FormValues() collections are serverside objects that are analogous to the ASP Request.Form() and Request.QueryString() collections. In an ASP page we can see the submitted values...
  • Blog Post: Checking for Solo

    How do I tell inside a server side script (or ASP Page) whether or not the script is executing within a SOLO client? This is an important question as if you need to execute SQL against the database e.g using a Query object then the syntax supported by the SOLO database (SQLite) would require different...
  • Blog Post: Handling the Data in Multi Select fields in Validate Rules and Table Level Scripts

    This has been written using Sage CRM 6.2d and will look at the behaviour of the Values collection. For a more complete discussion see the article The Values() Collection . Imagine a new field called pers_type has been added to the person table and included to the screen personboxlong. The field pers_type...
  • Blog Post: Creating Global Code for OnCreate and Validate scripts (Internal COM API)

    There have been several articles written about using the scriptcommonfunction registry key to set a global function library for tablelevel scripts, but this option is not available for the other internal scripts. So if we can't use the function library of the tablelevel scripts to create globally...
  • Blog Post: Taking a Snapshot of Currency Exchange Values

    Sage CRM offers Multi Currency features. This allows, for example, a Sales user in the UK to quote in Sterling for their British Customers and to Quote in Euros for their German customers. The Sales Manager in Ireland can then see both quotes expressed in Euros or a financial controller in the US could...
  • Blog Post: Validation rules don't always mean "Stop!"

    This article has been updated to follow the coding convention that was introduced in Sage CRM 6.2 I was asked recently about how to create a log of when data was changed within a particular screen. Now the requirement was focussed on the screen and not on the the record. If we had been interested...
  • Blog Post: Modify field on another table in a workflow action

    When choosing a field for the Display Field For Amendment action, you can select fields from the view that are not on the table the rule is based on. For example you can select the comp_primaryuserid if you use the vSummaryOpportunity view to base your rule on. However this will not work by design: You...
  • Blog Post: Create a reminder task for a user when an opportunity is inserted.

    Workflow is very powerful but one of the limitations is that Follow Up Actions, such as 'Create Task' or 'Create Appointment' can not be invoked on Primary Rules. Note : The action 'Create Appointment' is new for Sage CRM 7.3 sp3. This means that if a business rule states...