• Blog Post: Reports and Graphs using Key Attribute Data

    Reports and Report Charts can only be built from views. So If we want to create a Report Chart that uses Key Attribute Data then we must first create the view. The structure of the tables that holds the key attribute data is complex and trying to work this out on our own to build a view would be a deeply...
  • Blog Post: How to get the indexer service (Keyword Search) running again

    If you find that your Indexing Server (Keyword Search) stops for any reason you may find that you get a message that looks like this: The CRM search index service has not been run since 21/12/2009. Please verify that the index service is configured correctly. If the message persists after an IIS...
  • Blog Post: Fields Available to an E-mail Template for a Custom Entity

    I have written before about E-mail Templates in Sage CRM. See " Fields Available in Email Templates ". In one of the comments added to that article I mentioned that Custom Entities only use the view vSearchListUser. This is not the whole story as that implies that only fields contained in...
  • Blog Post: How to add mobile number to My Contacts List block

    A query was raised recently about how to add fields, such as Mobile Phone Number, to the My Contacts list block. This query can be answered in 2 parts; firstly how to do retrieve the data we want to display and secondly from where, or from what view, does the List block retrieve it's data. We already...
  • Blog Post: How to display an oppo_opportunityid or another primary key in lists and reports.

    Once you have been working with Sage CRM for a little while you will notice that the primary keys (unique ID fields) have been suppressed from the interface. By that, I mean that you can't refer to them directly in Lists and Screens. This is normally fine as the keys job is only to allow Sage...
  • Blog Post: Sage CRM v7.1: If you don't check your views for Custom Entities you may lose functionality

    I have discussed some of the changes to the Data Model in Sage CRM v7.1 previously and I hope you have seen the article " Components that reference views need to be reviewed for Sage CRM v7.1 " that discusses the type of error that you may get when installing components developed in Sage CRM...
  • Blog Post: Discovering which Views are Available for Reports

    A customer wanted to find out which Views were available for use in Reports. When I looked at the list of views for a particular entity (e.g. Company) there was no obvious way of seeing which view could be used to create a new report. To discover that I found I needed to enter each view definition screen...
  • 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: You may need to recreate views manually

    This article has been updated to include new material for Sage CRM 6.2 Please note that this is not an exhaustive discussion and but simply represents the things that come to my mind when seeing this error. Why does it appear? The can be several reasons why this message appears and it usually comes...
  • Blog Post: Allowing Views that Return Duplicate Person records to be used in Group definitions

    Please see the article " Reports, Saved Searches and Groups " for background information on how Groups are defined in Sage CRM. This article is relevent when needing to create Groups that are based on a view that returns multiple instances of the same person record. This maybe because of...
  • Blog Post: Building Cross Database Views for Reporting

    You may need to reference data held outside of Sage CRM and within another application's database for a variety of business requirements including Reporting Graphing Reports within CRM are based on views and so if the SQL within a view can provide a way of accessing data in an external...
  • Blog Post: The Design of Web Service Applications and Performance

    My hope is that if you have attended any of my presentations about the Web Services interface for Sage CRM you will have taken away with you an impression of the importance of the design of the client application and how this would affect performance. The source code for the sample application which...
  • Blog Post: Database Case-Sensitivity and Connecting to an External Case Sensitive Database

    If you are working with SQL Server you may have read in the System Administration guide that when installing Sage CRM the SQL server main install needs to have a case insensitive collation. A binary collation, or a case sensitive collation, is not supported for installation. But the documentation...
  • Blog Post: Adding Advanced Find and Mass Update and Groups for a Custom Entity (Project)

    This article is derived from a tip sent to me by a very experienced North American colleague and expanded as a consequence of a suggestion from a equally expert Singaporean colleague. The article will take you though the steps to add a custom entity to the Advanced Find screen. To do this you will need...
  • Blog Post: Adding Derived Fields in Views into Meta Data

    I originally wrote about creating derived fields in a view in the article " Custom_Edits and Derived Fields Created in Views ". This discussion is a continuation of the ideas expressed in that article and will show how meta data definitions of a calculated field can be easily added into Meta...
  • Blog Post: Some thoughts on Installation Problems

    Occasionally the support team get sent problems which are completely new. I've even heard that some people get a perverse feeling of pride being able to say they have logged a problem that nobody else ever has. I think probably setup and installation issues are the most depressing. When I have failed...
  • Blog Post: Sage CRM and Security Territories

    Sage CRM has a complex and sophisticated Security mechanism implemented as automatic alteration of the SQL used to fetch either the application data to the screen or the meta data that controls the availability of features. A user will be able to access a particular set of data records to which another...
  • Blog Post: Sage CRM v7.1 SP2: Adding Document Filing and Mail Merge functionality to your existing Custom Entities

    If you have been keeping abreast of the postings on the Sage CRM Community you would have seen all the new articles relating to our latest release of Sage CRM 7.1 SP2. Now, one of the new benefits of the SP2 is the new document filing enhancements as well as the ability to create server side mail merges...
  • Blog Post: More Adventures with the Library

    I have been investigating the list of documents that appears under the Company tab group. This is actually part of a set of investigations into the library entity that I am working on. So there will be a few more blogs about documents and the library in the near future. I wanted to find out how to ensure...
  • Blog Post: But I really, really need to search for the actual comp_companyid!

    Once upon a time I wrote an article called " But I really, really need to see the actual oppo_opportunityid displayed! " This article looks at how you could use the column alias idea to allow for records to be searched for by the their unique ids. Note : Generally I think this is not...
  • Blog Post: Sage CRM v7.1: Customizing New Communication Features

    I have added a small component (that can be downloaded by members of the Developer Program) which makes some small changes to the External Attendees feature for Appointments that was introduced in Sage CRM v7.1 Component: Sage CRM v7.1, Add User Interface changes to the External Attendees feature...
  • Blog Post: Controlling the availability of a Company tab based on products purchased

    This article considers how the availability of a tab in the company context maybe controlled so that it is only displayed when the customer has purchased a particular product. The general availability of a Tab for a user is controlled by the tabs SQL Clause in the tab group definition. You can...
  • Blog Post: What Reports have Charts?

    A customer had a requirement to see which reports had charts associated with them so they could consider them as Chart Gadgets in their Interactive Dashboard. It is not immediately clear from the standard report screen which reports might have a Pie chart or HBar associated with them: To allow...
  • Blog Post: Working with Default Company Addresses

    If you need to list company default/main addresses you can link from the Company to the Address table. You don't need to link to the address_link table. The address link table is used to keep details about the alternative addresses that might be stored against a company, e.g. billing and delivery...
  • Blog Post: Sage CRM v7.1: Normalisation makes it more important to use views when using the Record object

    Sage CRM v7.1 has seen a normalisation of the phone, email, company and person tables. I have discusssed this in the article Changing code to cope with the effect of normalisation This means that the when the person or company tables are accessed using the FindRecord() method columns that...