• Blog Post: Sage CRM and Security Territories

    Sage CRM has a powerful Security mechanism implemented as an 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 user may not...
  • 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: 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: A Trick to expose an External Table through Sage CRM's SOAP Web Services.

    Sage CRM has the ability to link to external databases. Once an external database table is linked to Sage CRM the External Access settings of the linked table can be changed to allow both SData and Web Services access. I have discussed in previous articles how easy it is to provide SData access. ...
  • Blog Post: HTML in the database

    It is a general rule that in CRM data fields are not supposed to hold HTML which can then be passed directly back to the interface. This is by design. So if you store a string in a text field like "<a href=https://community.sagecrm.com>https://community.sagecrm.com</a>" then...
  • Blog Post: Customising Reports

    I have been asked about customising views that are used in Reports and also how to change Summary Reports. I haven't had the time to write this up properly but if you follow the hyperlink here then you will be able to download a presentation that discusses this. https://sagesoftware.thruinc.net/ExDn...
  • Blog Post: Adding Fields, Deleting Fields, Views, vSentinel and SQL Errors

    Sage CRM provides the system administrator with easy ways to add or remove fields from the system. But when you add or remove a field then you will implicity affect views which are based on those tables. And of course views may inturn be based on views. Each of these views in turn are referenced by...
  • Blog Post: Fields Available in Email Templates

    Email templates can be designed for use in different contexts. The creation of Email Templates is covered in the online documentation . In the image above you can see that templates can be designed for usage with certain entities. For example, if you choose to create the template for use in...
  • Blog Post: Using Joins in Web Services

    Imagine you need to retrieve information from CRM via the webservices interface; this query should combine data from multiple tables. In the COM API (ASP pages, self service, table level scripts etc) you could use the QueryObject to build the exact SQL you need. var mySQL = "SELECT Person.*,...
  • Blog Post: Custom_Edits and Derived Fields Created in Views

    In CRM it is quite common to need to create a view that performs a calculation or derives information to be displayed on screen or in a report. An example of this can be found in the Case management area. For example if you logon to a demo system as Kylie Ward (WardK) and navigate to the My CRM menu...
  • Blog Post: Creating Groups on Custom Entities in Sage CRM

    I have created a new custom entity called 'Project' using the Advanced Customization Wizard (aka Entity Wizard, Main Entity Wizard). The requirement: The requirement was to be able to use data from the project table in groups used for outbound emails, and within the Interactive Dashboard...
  • Blog Post: Can you order lists by a field caption order?

    In the demo database the workflow for an opportunity allows an opportunity to have its stage field set to different values. DealLost Demo Lead Negotiating Qualified Quoted Sold Imagine a requirement to sort a list of opportunities by the oppo_stage. That is easy, we can just allow the option 'sort...
  • 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

    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 when there has been a change in the configuration of the system. This...
  • 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...
  • 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: 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/20XX. 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...
  • 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...