View more results: All Community | Partner Community
  • 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: Discovering Data Relationships in Code

    You may have a business requirement to cascade a change through the child records of a company. I have discussed previously how a table level script can be used to update all opportunities if the company is reassigned to a new account manager. See the article " A Table Level Script to update Opportunities...
  • Blog Post: Where am I?

    When working with CRM you may have a requirement to know the servername and install names with which you are working. System Options There are a few nice techniques that we can use in ASP pages. For example the COM API has a method that allows us to check the contents of the custom_sysparams...
  • Blog Post: Integration with External Systems and the Synchronization of Application Data

    Introduction Sage CRM is integration-ready straight out of the box. It can integrate quickly with Sage BMS products, as well as other external applications through secure, standards-based web services and APIs. In this article I want to discuss the different approaches that can be taken by a developer...
  • Blog Post: Adding a Button that Passes Contextual Information to an External Webpage

    You can add a button In a custom ASP page In a the code of a .NET assembly In a an existing system screen Buttons in an ASP Page If this is in an ASP page then the code for a simple button to call an external ASP page looks like var strCallASPButton = CRM.Button("ASP"...
  • Blog Post: MSSQL Index analysis and creation from Sage CRM (Part 1 of 2)

    This article has come from a very experienced colleague in Australia. Introduction Microsoft SQL Server 2005 added new system tables to assist in the system reporting. Three of these tables in particular are written to every time a query is run. Microsoft SQL Server 2005 processes each query, determines...
  • Blog Post: Building a Simple Quick Search Page

    Entities such as Case and Solution use a reference field as an alternative key. This is the 'ticket' number (case_referenceid, soln_referenceid) that is used as a public and convienent way of identifying each record. In the default demo system the fields case_referenceid and soln_referenceid...
  • Blog Post: Using Create Script in GridColumns

    In the image below we can see the Company Name is displayed in an opportunity list that is in the context of the company and so that column is redundant and does not need to be shown. The list is created by the opportunitylist system action which is used in a number of contexts My CRM...
  • Blog Post: Checking Versions in Sage CRM

    How can we tell what version has been installed? The patch and version of the software is announced on the Logon Screen. Again within the product you can check the version by going to My CRM> Preferences and clicking the About CRM button. The version can be checked programmatically. This becomes very...
  • Blog Post: Class Diagram for the Dot Net API

    This is something for Development Partners and members of the DP program. I have arranged for an early draft of the Sage CRM .NET API reference material to be made available on the DPP site and also class diagram. These files will be posted into the DPP lesson notes pages. https://community.sagecrm.com...
  • Blog Post: The Sage CRM .NET API

    The diagram below shows the general architecture of Sage CRM. Here you can see very clearly that the .NET API is an alternative and NOT a replacement for the COM API which is currently used to build application extensions with ASP pages. Both the .NET API and the COM ASP API use the Meta...
  • Blog Post: Resetting Passwords

    I have had a few emails from different people over the last few weeks asking about code that will allow a system administrator to quickly reset a users password. I created a little ASP page that demonstrates how this can be done. You can develop this idea further by send an email to the user. The...
  • Blog Post: Working with a Stored Procedure that returns a result set.

    I have discussed calling Stored Procedures from within Sage CRM before in the the article " Using the COM CRM.CreateQueryObj() to call a Stored Procedure ". From that article it can be seen that it is possible to call stored procedures where ever a QueryObject can be instantiated. This could...
  • Blog Post: Some thoughts on Importing Data

    I have written several articles in the past about the importation of data into Sage CRM. This article then is a 'header' record that attempts to bring these different thoughts together. It is certainly not unusual for a partner to occasionally need to design a custom import mechanism into...
  • Blog Post: Creating a PipeLineGraphic in an application extension using COM API ASP

    I have discussed in a previous article how customization can be carried out on a PipeLineGraphic chart used in a system built page, for example on the Opportunity List page in the My CRM tab area. The PipeLineGraphic block is available within the COM and .NET APIs but it has not always been straight...
  • Blog Post: Redirecting from a COM ASP page to a .NET assembly

    You may have a need to redirect from a custom page written using the COM ASP API to a .NET assembly. I have written about redirecting from COM ASP page before in the article " Redirecting to an ASPX (ASP .NET) Page from a Classic COM ASP page " The code below shows how a URL for the redirect...
  • Blog Post: Creating a Quick Entry Screen using the DataPageNew class

    Below is some code that was written to allow records to be entered from the Company Summary screen. I have used cases here but this could be for any entity including custom entities. The business scenario is The customer would like to have a simplified way of creating records (e.g. case or project...
  • Blog Post: Automatically Publishing DLLs

    You are probably used to changing the build properties of a project and altering the output path that determines where the DLL gets created, as in the image below But there is another way of handling the distribution of the DLL. Visual Studio has a useful feature called Pre-Build and Post-Build...
  • Blog Post: Creating Appointments and Tasks in the .NET API

    It is very easy to work with communications in the .NET API. Below are the basic code sample to show how to create either an appointment or a new task. Note : The CreateAppointment() and CreateTask() require you to reference both the WebObject and Data namespaces. Create an Appointment ...
  • Blog Post: Building a List with an Editable CheckBox using the .NET API (in Sage CRM v7.1 SP2 and earlier)

    This article has been prompted by a question about what API options exist to allow customization to include an editable CheckBox within a Grid or List. There are a few places in Sage CRM where lists are displayed with an editable CheckBox. One location that has an Editable CheckBox within a List is...
  • Blog Post: Customizing the FilterBox (FilterScreen) and the List (ResultsGrid) in a ListPage Class

    In this article I would like to consider the customization of the both the FilterBox (aka FilterScreen) and the List (aka ResultsGrid) used in a ListPage class. I have written about the use of the ListPage class previously. Creating a ListPage that can be Used in Multiple Contexts Mixing...
  • Blog Post: Using the .NET API to Clone a Record

    One of the Sage 200 development partners had read Jeff Richard's blog post about ‘cloning’ records in the COM API, ( Using the COM API to Clone a Record ) and asked if there was a .NET API version. As far as I could tell there wasn’t so I wrote the method you will find below. ...
  • Blog Post: Sage CRM v7.1: Adding a Button to Generate an SData feed based on Current Context using the .NET API

    For an introduction to this code please see the article " Sage CRM v7.1: Adding a Button to Generate an SData feed based on Current Context using the ASP/COM API " The code listed below is the C# equivalent. using Sage.CRM.WebObject; using Sage.CRM.Utils; namespace SDataFeed ...
  • Blog Post: Starting a C# .NET Project without Using the Project Templates

    You do not need to use the Project Templates to start a new .NET Project. The steps below show how you can start a new Project using Microsoft Visual C# 2010 Express. You will easily be able to adapt this to Visual Studio 2012 or other IDEs able to use .NET. You need to open Visual Studio. ...
  • Blog Post: Querying Data in an external Database using QuerySelect in the .NET API.

    Querying Data in an external Database using QuerySelect in the .NET API. In the COM API you can specify the target database you want to run a query against using CreateQueryObj. For example [code language="javascript"] CRM.CreateQueryObj ("select * from contacts","panoplytech"...