• Blog Post: Changing a Summary Screen (e.g. Company Summary Screen)

    A summary screen (like the company summary screen) is not easily changed. It is partially constructed from EntryGroupBlocks defined in meta data and other screen components that derive from hard coded elements within the dll. The Company Summary screen calls the CompanyBoxLong, AddressBoxShort, and personBoxShort...
  • Blog Post: Some thoughts on Creating a Workflow on an External Table

    Something I should have written up long ago is a example I did once of creating a workflow on an external entity. In that example I created a connection to the Northwind Database and the orders table. Workflow can only work on tables inside Sage CRM. It requires the table to have a workflowid field that...
  • Blog Post: How can Sage CRM save you money?

    This article was edited on 17th June 2011 to update some of the graphics used. This article has its origin in a recent presentation I gave as part of an eSummit for Australia, New Zealand and the Pacific ( http://www.sagesummit.com.au/ ) that took place in 2009. My focus is usually purely on communicating...
  • Blog Post: Building List screens with FilterBoxes

    The code in this article has been corrected and updated (29th October 2009) to bring it into line with the coding convention introduced in Sage CRM 6.2. Custom Pages that contain Search screens are fussy about block positioning. The search block does not work correctly if it is included into the...
  • Blog Post: Creating an View/Edit Screen based on a View using the COM ASP API

    Below is a screen shot of a compound screen that populates the fields on the screen from data retrieved from a view. This page has been built using an ASP page. It has used the method CRM.FindRecord(). Syntax is CRM.FindRecord('Entity,vViewName',ArgString); This is a good way...
  • Blog Post: Adding Extra Buttons to the Saved Search Screen

    Sage CRM has a feature called Button Groups that allow a system administrator to add buttons to System Screens. I have discussed Button Groups in several articles. Adding Buttons and Customizing the Email Screens Adding Buttons and Customizing the Outbound Call Screens Adding a Print Button...
  • 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: Sage CRM v7.1: Adding a Button to Generate an SData feed based on Current Context using the ASP/COM API

    I have discussed before how useful SData can be. If you know the feed details then you can use SData to extract data from Sage CRM into all sorts of applications. An example of how SData can be used to pull records into Excel is given in the article " Sage CRM v7.1: Using SData to Extract Data into...
  • Blog Post: Adding Workflow Capability to a Secondary or Custom Entity

    It is possible to take an existing entity,either one that you have added to the system or an existing table such as notes, and allow it to be workflowed. The technique below will be effective for both custom tables and existing system tables. Using the Library table as an example Add a libr_workflowid...
  • Blog Post: Sage CRM 7.2: Why Remove the Framesets?

    The structure of the screen created by Sage CRM v7.1 and earlier is frames based. If you have done any exploring of Sage CRM 7.2 you may well have discovered that there are hidden frames in the page. If you right click on a page in Sage CRM v7.1 or earlier and view source you will see the frames...
  • Blog Post: Example Self Service Pages

    This article has be altered to allow download of files from this site. This is a very simple set of pages that can be used to illustrate how the COM API is used to develop self service applications for Sage CRM. There is minimal formatting used. You can drop the pages into an existing self service...
  • 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: Sage CRM 7.2: The Impact of Frameset Removal on Code in Upgraded Systems

    The removal of the framesets in Sage CRM 7.2 has an impact in the follow areas onChange and Custom Content scripts. ASP extensions .NET extensions CTI Note: Depending on how you have coded customizations in Custom Gadgets there may be a potential impact on your Interactive Dashboards...
  • Blog Post: Self Service Workarounds

    This article has been updated to correct links and to correct code. There have now been a few articles posted here that discuss Self Service . So if you have been reading these or have been working with Self Service then you know that certain field entrytypes are not rendered in the same way in...
  • Blog Post: Suppressing Tabgroup display

    This article has been edited 31st October 2009 to correct hyperlink references and to have the code follow the convention introduced in Sage CRM 6.2. If you want to suppress the default tab bar then you can override it. For example when working in the context of the My CRM menu you may wish to...
  • Blog Post: Uploading Documents to the Library with the ASP COM API

    In Sage CRM if you have created a new custom entity using the Advanced Customization Wizard then you would have had the option to create a libary page for the entity. This provides a straight forward way of allowing documents to be uploaded into the library and associated with the custom entity. Below...
  • Blog Post: Sending Emails in ASP COM API

    This article has been updated to take into account changes made to the product after Sage CRM 61.j. It has subsequently been altered to bring it in line with the coding convetions introduced with Sage CRM 6.2 Sage CRM offers a very simple MessageBlock object that you can use for your own pages...
  • Blog Post: How to Add an Extra Tab Option to the User Admin tab menu (AdminSingleUser)

    A Customer had a requirement to store additional data about users that were 'Resources' in Sage CRM. The new fields in the User table should be displayed in a page that should only be available when the user was of type 'Resource'. Additional fields can be added to the User table...
  • Blog Post: Basic Code Structure of an Add or Insert Page

    This article has been edited to bring the code into line with the coding standard introduced in Sage CRM 6.2. Here we can see the basic code structure for an Insert of a new Record expressed in ASP page code. I have used here a new opportunity record but it really could be any record including...
  • Blog Post: Example of a Complex Screen editing multiple records in ASP

    I have written before about the creation of a complex screen where the ASP page offers the user the ability to edit two records at the same time. See: https://community.sagecrm.com/blogs/hints_tips_and_tricks/archive/2007/10/01/creating-complex-screens-using-the-com-based-asp-api.aspx This code...
  • Blog Post: Sage CRM 7.2: Differences in Object References in Client Side Code (onChange & Custom Content)

    Consider the screen shown below This image happens to shown a data from a secondary entity being displayed in a summary screen in Sage CRM v7.1. You can see that in addition to the main entity information being displayed in the main part part of the screen there is also information from the...
  • Blog Post: Adding forecasting quarters

    Updated: A colleague in Frankfurt has thoughtfully provided a German version of this customisation. I've merged it with the English version and packaged it into a custom component for convenience. It's available from the Partner download area . I've left the original instructions and page...
  • Blog Post: Access Team IDs from within ASP pages linked to Team menu

    In an ASP page to get the currentusers team or the selected users team you can access this with the normal GetContextInfo method. var intTeam = eWare.GetContextInfo("user", "user_primarychannelid"); var intSelectedTeam = eWare.GetContextInfo("selecteduser", "user_primarychannelid"...
  • 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: Instantiation of the COM (eWare.CRM) object

    The "eWare" or "CRM" COM Object can be instantiated in variety of ways. 1) ASP main interface application extensions 2) ASP Self Service pages 3) External Applications 1) ASP main interface application extensions For application extensions of the main User Interface using ASP pages...