Tuesday, April 29, 2014

Crystal Reports : Zooming for Fun and Profit

Within Crystal, you may change your Zoom perspective to easier see all objects on a page. This makes it easier to arrange the report to be aesthetically pleasing.

Within Crystal select View Zoom from the top-level menu.

Then enter in your desired zoom level. Typically, a level of 50% will allow you to see the entire page. I find this invaluable when formatting and polishing an extra dense report.

Crystal Reports : Trapping for Zero Divide

When division occurs within calculated fields, there is always the risk of getting the dreaded "zero divide error". This happens, obviously, when a calculation tries to divide the number zero.

And since we all know that underlying data cannot be trusted 100%, it is necessary to test for these zero divide errors within our Formula Field.

Example: The formula field called {frmSalesPerDay} is a simple division of {NumSales} by {NumDays}.

So our {frmSalesPerDay} code should look like this:

if {NumSales} = 0 then 0 else {NumSales} / {NumDays}

So, if {NumSales} equals zero, then we simply return a zero and exit the formula. Otherwise, we let it perform the division.

This is important any zero divide error will halt the report completely!

Crystal Reports : Report Sections and Suppression

While designing a report, you may find it helpful to Suppress (hide) sections, easily Revealing them later.

Within Crystal;

1. Right-click on the Section name on the left hand section of the designer.

2. Select Hide or Suppress, depending on your need.

Hide will still allow you to "Drill Down" and see the section in question.

Suppress will not allow you to reveal the section at all until you right-click on it and select Show.

3. OK your way out.

And as always, you can drive these values with a Crystal Formula! For instance, you could even provide a parameter for the end user to be able to control Section visibility. 

Crystal Reports : Special Fields

A very typical field to see on a report is the "Page N of M" Special field.
Crystal has a collection of "special" fields that you can insert. You can see these fields by expanding the Special Fields folder underneath your Field Explorer.
By inserting the Page N of M field in the Page Footer, we can now see "Page 1 of 23" (for example) on the bottom of each page.

Crystal Reports : MID() and INSTR()

Okay, so the problem is thus; cut out the lastname of any given Contact Name (i.e. Justin Hill should return "Hill", etc). This is actually very easy to do using both INSTR() and MID()

The INSTR() function searches a string for another string. It takes two parameters, like this:

INSTR(string to search, what to search for)

We are going to use it to search for the space in our {USERS.NAME} field.

So, going back to our "Justin Hill" example,

INSTR({USERS.NAME}, " ") = 7 - finds the space between first and lastname

So going back to our original problem, cutting out the Lastname, we can now substitute the starting position in our MID() function with the INSTR() from above like this:

MID({USERS.NAME}, INSTR({USERS.NAME}, " ")) returns " Hill" (note the leading space).

What you really need to do is increment our starting position by 1, because the Lastname starts one character position after the space. Like this:

MID({USERS.NAME}, INSTR({USERS.NAME}, " ") + 1) returns "Hill"

Because the MID function is always being passed the location of the space by INSTR it should reliably "kick out" the Lastname.

Then it is a simple matter to make this code into a Crystal Formula, then use that as your sort field in your Sort Expert.

GoldMine : Relinking History

Did you know you can actually relink an existing history to a different contact? (Doing this will "move" the History to the new contact)

1. Find the History item you wish to re-link (everything excepting e-mails is allowed).
2. Right click on the History Item and select Properties.
3. Click on the little black arrow button to the right of the Contact Name, near the top of the History dialog window.
4. The Search Center will now prompt you to search for the appropriate Contact, do so normally, then double-click on it.

The History is now linked to the Contact you just searched for, and this change should be reflected in the associated History tab.

GoldMine : Password Policies

Another new security measure in GoldMine is the ability to set a password policy. This is done system-wide and applies to all users.

To do this, go to Tools | Configure | System Settings.
Click on the "Password Policy" tab.
You can set a minimum length, whether or not to block after three unsuccessful attempts, and also save a password history that cannot be repeated.

To set up password expiration, this is done on a per-user basis.

1. Go to Tools | Users Settings
2. Change the "Valid for Days" value.

You'll notice the "Next Change" date becomes activated after you choose x number of days.

Caveat; I once worked in a place that forced password changes every month. And as you walked around the office, on virtually every desk (usually on a stickynote) was each users password. So I guess the moral of the story is to use with care.

GoldMine : Required Fields

When customizing your GoldMine record layout, you can make any field "required". This means that the user will not be able to navigate away from the Contact Record until the field has been filled.

To do this;

1. Enter Customization Mode by right-clicking on the Contact Record and selecting "Screen Design".
2. Find and right-click on the field you'd like to make Required.
3. Select "Properties".
4. Go to the "Security" Tab.
5. Check the box which says "Required Data Entry".

"Ok" your way back out. Users may need to restart their GoldMine to get the new changes.

GoldMine : Default E-mail Templates

Did you know you can specify which e-mail templates should be used for e-mail Replies, New Messages and Forwarded Messages?

Once you have your e-mail templates set up, open your Document Center by selecting Go To | Documents from the top level menu.

On the left hand side, you can set each Default E-mail Template, by right-clicking on the appropriate template, then selecting Set as Default, then selecting either "New Message", "Reply", or "Forwarded Message".

Now, whenever you Reply, Create a New Message or Forward a Message, the appropriate template will be used.

Pro Tip : E-mail templates are a great way to use HTML in your signature.

GoldMine : Using Field Colors

One of the truly unsung features of GoldMine is the ability to conditionally change a data value color based on what the data value is.

Let us take the Source field for example. We'll imagine that if a Contact Records' Source field is set to "Direct Mail", then it should be in red.

We need to first get into the Field Properties:

1. Right-click on the Source field (on the word "Source", not inside the field)
2. Select Field Properties (your GoldMine user must have "master" rights to do this)
3. Go to the Color Tab

Now we need to provide the expression to control the color based on Field Value.

4. Click on the Expression radio button near the bottom, under "Data Color"
5. Paste the following text into the Expression textbox:

iif(CONTACT1->source="Direct Mail", 255, 0)

6. Ok your way out

Now, whenever "Direct Mail" is chosen for Source, the Field Value will be in red.

ProTip: The "255" represents the color red in the above expression. To see the numbers for the other colors, simply use a "Fixed Color". Select the color you want; you'll notice that the corresponding color number is displayed in the Expression textbox.

SalesForce.com: List Views on the Home Page

You can easily add a list view to your Home Page to view accounts, contacts, or leads.  We’ll use the Leads object in this example:

  1. Go to Setup | Develop | Pages | New.
  2. You can name it: LeadsListView.
  3. Clear contents in Visualforce Markup section and Copy and Paste:

<apex:page showHeader="false" tabStyle="Lead">
    <apex:includeScript value="//code.jquery.com/jquery-2.0.3.min.js"/>
    <apex:listViews type="Lead"/>
    <script type="text/javascript">
                if(this.className.indexOf('listItem') == -1)
                    this.target = '_blank';
        navigateToUrl =
                window.top.location.href = a;

*Notice the text written in Blue. If you choose to use another object other than Leads you can replace Lead with the API Name of the Object's List View that you’re interested in.

If that is done then create a Home Page Component:

1.      Go to Setup | Customize | Home | Home Page Components
2.      Click on New
3.      You can name it: Leads
4.      Type: HTML Area
5.      Click Next
6.      Component PositionWide (Right) Column
7.      Next step: From the Formatting Controls bar, check the option - Show HTML.
8.      Now paste this code: <iframe frameborder="0" src="/apex/LeadsListView" style="width:100%; height:300px"></iframe>.
9.      Notice the src attribute in step 8. All the Visualforce Pages can be accessed with the URL: https://ap1.salesforce.com/apex/NameOfTheVisualforcePage and hence the URL of our VF page will be: /apex/LeadsListView.
10.  Save it.

Now, you have to add the same to the Home Page Layout.
  1. Go to Setup | Customize | Home | Home Page Layouts
  2. Click Edit
  3. From the Select Wide Components to Show check the option Leads
  4. Click Next
  5. Decide the sort order for the Wide Area Components
  6. Save

The list view should now be on your Home Page!

(Right-click on the Image, or frame and select Open image, or frame in new tab to view it larger).

SalesForce.com: Combination Charts

Use a combination chart to show multiple values against a single axis range, show two chart types together, or compare two continuous summary values.  A combination chart plots multiple sets of data on a single chart.

Add columns to a column chart to show multiple values against a single axis range.
To create the chart in this example, choose the Vertical Column chart type, set the opportunity sum of amount as the Y-Axis, stage as the X-Axis, and use the Plot additional values option to add the sum of expected revenue as a column.

You can quickly compare the actual values against the expected values for each stage.

Add a line to a column chart to show two chart types together. Using a second axis allows you to add different types of values to the chart.

To create the chart in this example, choose the Vertical Column chart type, set the opportunity sum of amount as the Y-Axis, fiscal year as the X-Axis, and use the Plot additional values option to add the number of deals as a line. Summary values of different types won't be available in the Values drop-down list unless you select Use second axis.

You can see both the total amount and number of deals for each year on a single chart.

SalesForce.com: Validation Rules

Create a Validation Rule if you have more than one picklist field on an object and need at least one of them required before a record can be saved.

Use case: You have three custom picklist fields on a custom object and need at least one of those fields required before a user can save the record.

Solution: Create a formula using ISBLANK to ensure that all three fields are not blank:

ISBLANK (TEXT(Field3))),

The Validation Rule will throw an error if all 3 fields are blank; if 1 or more fields are not blank the record will pass the Rule and be saved.

Friday, April 25, 2014


The Zoho Campaigns App is a robust complement to your CRM system. Unlike the Built-in Campaigns Module within Zoho CRM, which is very manual in nature, the Zoho Campaigns App offers a better HTML editor for creating templates, built-in un-scubscription, automated click and bounce feedback, and full integration with the CRM application.

To use Campaigns, simply access your Zoho Account as described in my last Blog - Zoho - Outside of CRM - and click the Campaigns App Title to open Campaigns.

BEFORE sending out a Campaign, you must Associate your CRM Account. (NOTE:  you must be a paid subscriber to CRM in order to integrate your CRM account with Campaigns)
  • In Campaigns, click Settings (top menu bar) -> Integrations
  • Next to Zoho CRM, Click the Associate Account button and enter the requested data.
When associated, your CRM comes in with a set of default configurations. It is recommended that you update the default to include pushing contacts as Leads to your CRM for opened and clicked mail.  To view and change these defaults:
  • Click Contacts (top menu bar) -> Sync Contacts (Sub Menu bar) -> View Details
Once integrated and synchronized, any campaign you create in Campaigns will automatically be created and updated in your CRM.  Now, in CRM you'll have a summary table of recipient activity as well as individual "Member Status" of each recipient (unread, opened, clicked, etc…) for the Leads/Contacts in your CRM system.


There is so much more to Zoho than CRM!  

When you sign up for Zoho CRM, you have, available to you, a whole suite of Apps designed to help you run your business, and they integrate nicely with the CRM Application. 

To see this list of products, simply login to your CRM account, click the down arrow next to your profile picture (or placeholder) on the right and click the My Account Link.  They will be listed down the right side.  Click on any App Title for additional information. Check them out today!

The Best part…just like Zoho CRM, they all have a free version to experiment with!

Thursday, April 24, 2014

ZOHO CRM - In Place View Filtering

Did you know that you can easily further filter any open view in Zoho CRM with the 'In-place view filtering' tool?  Located at the right of the column headers, this handy tool opens a filter for each column where you can easily enter filtering criteria to further limit the list of records shown.

Monday, April 21, 2014

MSCRM: How to Create Personal Email Templates

A useful, under utilized feature of MSCRM is the Email Template.  In addition to the 23 out of the box email templates, you can create your own email templates.  Here's how:

Go to Personal Options:

Click the Email Templates tab:

Click "New".  Select the related entity for Email Type.  Note: To use an email template to send Direct Mail, there must have an email field on the Entity record.  In this example, I want to send an email to a Contact, which does have an email field.  Change the Template Type from Global to Contract:

Click OK. Next, I want my greeting to be "Hi, Bob" ("Hi" plus the Contact's first name).  To do this, I type "Hi " and leave my cursor where it is.  I click on Insert/Update:

and select Add:

Next, select the Contact's First Name and click OK

The Contacts first name is inserted onto my email template.  Repeat adding fields until you are finished. Click Save and Close.

Click OK to exit Personal Options.

My next blog will review how to use Email Templates for Direct Mail


MSCRM: How to Use an Email Template for Direct Mail

Email templates are a great time saving tool and they're easy to use for sending out Direct Mail.  First, use a View to select the recipient(s) of your email.  In this example, I am in Contacts using Advanced Find to Query "Contacts with Lost Opportunities this month":

Select the Contacts that you wish to email from the Results list, and click Send Direct Email:

A window will open, select the email template to use.  I've selected a personal email template called Service Contract not renewed that was created in a previous blog.  Click Send to send the emails.  Careful!  You will not have a chance to preview the emails.

However, you can look at the email messages using Advanced Find:

Select the Message to see what was sent (pending send in this case, as AAAlice doesn't have a valid email address :)

and that's it!


MSCRM: Admin Tip- Using Email Templates in Workflows

Microsoft Dynamics CRM 2013 provides 23 email templates "out of the box".  These email templates can be view by navigating to Settings ==>Templates==> Email Templates:

The email templates are set to be Viewable By the entire Organization:

Note that each Template has a Type.  The Type is either related to an entity, or it's Global which means this Template is available from anywhere. The out of the box Solution will filter which templates are available to you based on Template Type.  Let's take a closer look.

In this example, I want to use the "Won Opportunity Notification (Internal)" email template in a workflow which will run when an Opportunity is Won.  First, I open the email template and make changes, if needed, by clicking Insert/Update.  Save and Close when finished.

Next I navigate to System ==> Processes to create my workflow.  In this example, my first Step is to change the Relationship Type field from Prospect to Customer.  The next Step is "Send Email". Select "Use Template" from the list:

Type a description (Send Internal Email).  Notice that I have to specify the Template Type.  It defaults to Opportunity in this case because we are in an Opportunity workflow.  Click Set Properties to continue:

Enter the From/To/Cc/Bcc information.  The Template Type is Global, not what I'm looking for:

Change the Template Type to Opportunity Template.  Next, check (select) the Won Opportunity Notification Template from the list.

Save, Close and Activate and you're all set.