View more results: All Community | Partner Community
  • Blog Post: An Example of Codeless Customization: Adding Extra User Record fields to the interface

    This article is based on a requirement that a customer had to store additional information about each user that was also under the control of the user. The original customer requirement was quite simple, they needed to allow each user to maintain their own home address, date of birth and next of kin...
  • Blog Post: Suppressing Tabgroup display

    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 call a "new" or "find" page. If we used Response.Write(CRM.GetPage()); then the existing default menu would display. In my example given...
  • 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: The SQL Tab Clause and the User Admin screens

    Normally when you enter a SQL Tab condition associated with an option in a Tabgroup you can either work with the current entity in context or the current user in context. But what if you want to control the tabs for the Admin Screens in the user area then we will end up in a dilemma because which 'user'...
  • Blog Post: Calling CRM Actions

    The CRM.URL() method is used to allow you to build correctly formatted URLs that reach back into the application. Most commonly this is used to interact with ASP pages and with Sage CRM .NET application extensions. For example to build a button that calls an ASP page the code would look like: var...
  • Blog Post: Adding Buttons and Customizing the Outbound Call Screens

    The following article explains how you can customize the Outbound Call screens with custom content and additional buttons and expands the earlier article: Customizing Outbound Call Tabs . Outbound calls can be created for different groups. I have looked at the context information available when working...
  • Blog Post: Creating a Codeless Simple View/Edit Screen on an External Database using RunBlock

    A previous article " Creating a Codeless Search Screen on an External Database using RunBlock " discussed the simple steps needed to create a search page that retrieved data from an external database table. The screen allowed a user to filter and retrieve data and then page through the...
  • Blog Post: Hiding a tab with an SQL Clause

    So let’s say you want to hide a tab on the screen based on the contents of another field. For this example we will hide the Cases tab if the comp_slaid field is not equal to 1. The number 1 is the id of the Gold selection in the SLA drop down so what we are saying here is this, “If this company...
  • 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: Hiding the Global Library (Shared Documents) by teams

    Every time a user exports a file from the Company Search page or from the Marketing Actions, it automatically saves the spreadsheet into the Global Library (where everybody can view it). There may therefore be a requirements to hide tabs. The Global Library like most tabs can be controlled using the...
  • Blog Post: Current Context and User data used to control a Tab

    This article has been updated (29th April 2009) to correct hyperlink references. In a previous article " Tab SQL Clause " I discussed how it is possible to separate SQL clauses with a " ; " character. So in a Company Tab group the Opportunity tab can be guarded by a SQL clause...
  • Blog Post: How did I get Here?

    In this post I would like to consider how you can establish whether a page has just been called via a hyperlink (from the tab) or it has been called because "Save" action button has been pressed. Pages can be called either by direct hyperlinking to them or by clicking a "button"....
  • Blog Post: Restricting Access to a Report to Specific Times of Day

    This article has been prompted by a question I was asked at a recent Developer training course in Johannesburg, South Africa. During the training course we discussed how when a user runs a large report it can place a load on the customer's server which in turn can create problems for other users...
  • Blog Post: Create a List to Show Products Purchased by Company

    A business had a requirement to easily see what products have been ordered by their customers. Below shows the products that have been purchased by a company. This was created using the List and Runblock technique discussed in the article and video "Using RunBlock and Lists for Codeless...
  • Blog Post: Controlling access to reports

    The security features in Sage CRM extend to cover the internal CRM reporting engine. If a user can not see the data in the screen then they will not be able to see the data in the reports. The main security profile settings apply and so do the field level security settings. But how can we stop people...
  • Blog Post: AddContent() and GetPage() versus GetTabs() and Execute() in COM ASP API

    You can render a page using var myBlock = CRM.GetBlock("opportunitylist"); Response.Write(CRM.GetTabs()); Response.Write(myBlock.Execute()); The important thing here is that the Execute() method of the block generates the HTML that is to be returned to the page. A page generated this way...
  • Blog Post: Customizing Outbound Call Tabs

    In Sage CRM when a user selects "Get a call" from an outbound call list, they will get a few tabs options at the top of the screen. by default these are Company summary, person summary, quick look, new company, new person, new oppo and new communication. These tabs open in new windows, the...
  • Blog Post: Creating a Codeless Search Screen on an External Database using RunBlock

    RunBlock is one of the most useful ways of extending Sage CRM. It is a pure meta data driven approach and can allow us to swiftly create new screens that list and present data from within Sage CRM and from external databases that have been linked in meta data. There have been numerous articles previously...
  • Blog Post: Adding a Clone Campaign button to Sage CRM using ASP COM API

    Here is an example that uses the Button Group feature added in Sage CRM. You can see from the screen shot above that I have added a button to the system generated Campaign Summary Screen. When the button is pressed, the following screen appears that allows me to provide a new name for the campaign and...
  • Blog Post: More about using U:, C: and T: in the Tab SQL Clause

    This article has been updated (29th April 2009) to correct hyperlink references. In the " Hiding the Global Library (Shared Documents) by teams " article we saw that... "The SQL to restrict access to this tab to only people in certain teams can be expressed as user_primarychannelid...
  • Blog Post: Tab SQL clause

    This controls the display of the tab via SQL. We can decide whether a tab should display based on the information of the entity that is in context. If we are looking at a person screen the person entity is in context. If we are looking at the company screen then the company is in context. For example...
  • Blog Post: Creating a Codeless Complex Multipart View/Edit Screen on an External Database using RunBlock

    A previous article discussed creating a simple view screen for data in an external database. " Creating a Codeless Simple View/Edit Screen on an External Database using RunBlock ". This articles provides information assumed in this article. That article provides the general instructions...
  • Blog Post: Sage CRM 2018 R1: Passing an additional parameter to a .NET dll or ASP page from tab and buttons.

    It is possible to pass an additional parameter from a tab or a button. The allows a developer to use a single main entity point within the application extension which can then use the extra parameter as a flag to cause Sage CRM to process the page differently. The image above shows a tab option...
  • Blog Post: Sage CRM 2018 R1: Using additional parameters passed from a tab or button in a .NET application extension.

    It is possible to pass an additional parameter from a tab or a button. Please see the article " Passing an additional parameter to a .NET dll or ASP page from tab and buttons ". This article will consider two different approaches that for using the an extra parameter as a flag to process...