Tuesday, June 30, 2015

SalesForce.com: Which is better – Formula Fields or Triggers?

Many of us are so inclined to use formula fields for data manipulation as it is simpler to build and is an a built-in functionality. But from a performance stand point, because formula fields are evaluated at read time, reading records from database can often be slower. In earlier tips we've given a brief view into triggers, but please watch our next month tips for more details on this topic.

To be continued....

SalesForce.com: How to add custom fields to Tasks or Events?

To insert a custom field on Task object or Event Object, you cannot directly add the fields on to these respective objects. Instead, you will have to define the custom field on the master Activity object and add the element to desired task or event layout as shown below:

Select which activities receive the custom field and save the object changes.

Written by Prabha Krishnamurthy

SalesForce.com: How to upload multi-select picklist values using data loader?

For inserting or updating multi select pick list fields using Dataloader, append the values for the field with semicolon (;).  The tendency is to use a comma, but in this case a semi-colon is the right choice.

For example, for a multi select field "Type", containing the values “A” and “B”,  the csv spreadsheet column for inserting the data would be entered as: A;B.

Written by Prabha Krishnamurthy

Monday, June 29, 2015

Crystal Reports : Currency Formatting

Any numeric field can be formatted as "currency" by:

1. Right-click on the field itself
2. Select "Format Field"
3. Go to the "Common" tab
4. Select your Style (i.e. thousands seperator, etc)
5. Click the checkbox labeled "Display Currency Symbol"

Crystal Reports : Day of the Week

A client asked: I would like to display the day of the week on the detail line along with the date. How do I do this?

Using the example of CREATEON in Goldmine Contact1, you would do the following:

Create a formula using the DayOfWeek function called DayPosition as follows. This will create the numerical position of the date (e.g. 1=Sun, 2=Mon, etc)

DayOfWeek ({Contact1.CREATEON})

Then create a formula called DayName. This will add the name to the report (Mon, Tue, Wed). Use the function WeekDayName and add the DayPosition as the function detail.

WeekdayName ({@DatePosition})

Drag the DayName formula to the detail row next to the CREATEON date. It will list the weekday name of the CREATEON date.

Crystal Reports : Getting the Selection Criteria

When the Selection Criteria becomes very complex for any given report, I often find it helpful to display the whole Selection Criteria right on the report.
To do this, you need to insert a "Special Field" from the Field Explorer.
Select Insert | Special Field.
Drop down the Special Fields list.
The field we want to insert is Record Selection Formula.
You will also notice that the Group Selection Formula is also available here.

GoldMine : Querying Duplicate Records

Here is an easy way to determine how many potential Duplicate Records you might have in your database.

Open the SQL Query window by selecting Tools | SQL Query from the top level menu.

If you want to see duplicates based on, for example, Contact and Phone1, paste in the following Query text and run it:

select count(*), contact, phone1
from contact1
group by contact, phone1
having count(*) > 1

If you'd like to include the Company field in the query as a duplicate check, use this:

select count(*), contact, phone1, company
from contact1
group by contact, phone1, company
having count(*) > 1

Try it! You might be surprised at how many duplicates there might be in your database.

GoldMine : Increasing the Number of Recently Viewed Contacts

One of the nicest things about the new GoldMine is the list of recently viewed contacts on the upper left hand side. However, by default, it only tracks five. To increase this number (99 is the max);

1. Select Tools | Options | System tab

2. Under Navigation | increase Recent items shown

3. Logout and log back into Goldmine

4. Open the Contact Search | select/open Contacts

You will now see the Recently Viewed items list increase as you open new contacts.

GoldMine : Filtering in the 21st Century

Okay, so the idea was to talk about how cool and easy it is to use Filters within the Search Center. And as cool as that is, your average user doesn't particularly care; when using the Search Center they're after one Contact. 

So, instead of seeing the Search Center as a place when we can SEE Filters, let us think of it as a way to BUILD Filters. Anyone who has used the Filter Builder (which is still available under Tools | Filters) will know the pain involved with this.

To do this;

1. Open up your Search Center by clicking on "Search" from the top Toolbar.

2. Use the "+" (plus) and "-" (minus) buttons in the upper right hand corner to add or remove levels to your Search.

3. To save this as a Filter, click the Save button in the upper left hand corner, then select Save As Filter.

4. You'll be prompted to give the Filter a name. You'll also notice that when you Save this Filter, it's saved "for you", that is; under your Username. Hit Ok.

Now the Filter is available and can be used anywhere Filters are applicable.

*Pro Tip: When adding levels to your Search, you can change the connectors between them from AND to OR by using the drop down provided to the left of each level.

Thursday, June 25, 2015

ZOHO CRM - Following records using the Feeds Module...

You can quickly track and review the activity on records in Zoho CRM using the Feeds module.  Simply "Follow" the records of interest by opening the record and clicking the Follow button (top right).
To quickly view activity on your records of interest...

  • Open Feeds Module, by clicking on "Feeds" in the top navigation bar (if its not showing, you may need to ask your adminstrator to add the module to the list of active modules - Setup-> Customization-> Modules-> Manage Modules (then click Feeds on Left side and click Right pointing arrow).

  • Click "Followed by Me" down the left side and you'll see the list of records you are following.
  • Choose a Record and click the arrow on the right to reveal the information. (Note clicking the record name will open the record)
  • Three Tabs of information are available
    • Info (general information)
    • Timeline (record history displayed in timeline format)
    • Conversations (social and email).
You can also use Feeds for Group Chats.  Simply Create a Group and start posting!  You can even attach documents to your posts.

ZOHO CRM - Easily add contacts to your CRM from any text with the CONTACT EXTRACTOR!

Zoho's suite of products just keeps getting better!  They just added the FREE CONTACT EXTRACTOR application which allows you to quickly add leads or contacts to your CRM by just highlighting the text that contains their contact information!

Example - receive an email from a new contact at an existing company...

  • Open the email in your CRM using the Chrome Browser
  • Highlight the contact information 
  • Click the Contact Extractor Icon

  • Review the data

  • Click Add Contact

And the contact is added to your CRM!!!

You can install a copy of Contact Extractor from the Google Chrome Web Store - its FREE!

ZOHO CAMPAIGNS - how to easily reach all those recipients that didn't open your email...

Hopefully, as a Zoho CRM user, you are aware of the advantage of integrating Zoho Campaigns with your CRM account.  (If not, please see our earlier post!)

Campaigns is a nice little tool for email marketing, providing valuable feedback from each recipient - did they open the email, did they click any links in the email, or did it bounce?

Chain Campaign is a handy, built-in feature that allows you to target only those recipients that didn't open your first email.

To create a Chain Campaign...
  • Open the original Campaign
  • Click the 'chain' icon

You can then update the content of the email to try to improve your open rate.

Use the 'Send mail to' button to target a follow-up email to those recipients that did open your first email.

Use Social Share to share your email campaign on your Facebook, Twitter or LinkedIn accounts.

MSCRM 2015: Calculate Gross Profit Margin with Rollup Field

I added a few custom fields and a small amount of JScript to the quote form to calculate the gross profit margin.
  1. The fields to create:
    • Profit (optional): currency type field that will provide the total profit in dollars.
    • Profit Margin %: a decimal type field.
    • Total Cost: a currency rollup field. Here’s what mine looks like. I have a custom field called Cost on my quote product form that brings in the product cost from the product catalog.
  2.  Put your custom fields onto your form. I also put the Total Amount field on my form again but put it closer to where I was calculating the GPM so that it was obvious to the user which numbers were being used in the calculation.
  3.  Add Jscript to the OnChange event for the Total Cost and Total Amount fields:
    • function calcGPM() {
        var totalCost = Xrm.Page.getAttribute("new_totalcost").getValue();
        var totalAmount = Xrm.Page.getAttribute("totalamount").getValue();
        var profit = totalAmount - totalCost;
        var gpm = (1 - (totalCost/totalAmount)) * 100;
  4. Publish and test your changes!

MSCRM 2015: Filter Contacts Out of Company Name Field on Contact Form

A client recently asked about the Company Name field on the Contact form: when you do a look up, it shows both contacts and accounts. Why would that be? Don’t we just want to see accounts here?
This is an out of the box field and you can see the description provided by Microsoft below. 

I think in most cases users would be choosing an account and not a contact for this field. If you have a lot of accounts and contacts in your system, it might be worthwhile and necessary to filter out the contacts so that users are only searching on accounts. You can also use this method to filter by other items like the state or country of the contact’s address. Opportunities and Quotes have a similar field called Potential Customer that can
be either an account or contact so you could follow the same procedure with a few tweaks for those forms. 

Add the following JScript to the OnLoad event of the Contact form.

function addEventHandler() {
function addFilter() {
        var filter ="<filter type='and'><condition attribute='contactid' operator='null' /></filter>";
        Xrm.Page.getControl("parentcustomerid").addCustomFilter(filter, "contact");