Tuesday, December 29, 2015

ZOHO CAMPAIGNS - Exclude Contacts based on Criteria

You might have a situation where you're trying to send a campaign to a list, but you want to exclude a subset of the list based on activity in previous campaigns - here's where the Exclude Contacts option is useful when selecting recipients in Campaigns.
Select the desired Mailing list segment(s) for your recipients.  Then click the Exclude Contacts link to open the Exclude Contacts window:

Choose "Any" or "All" as the match, then exclude contacts based on them being recipients to previous campaigns. 

ZOHO CRM - Where did the Do Not Allow Duplicate Checkbox go?

Before the customization UI change, there was a checkbox at the bottom of the Form Layout view that you could set to not allow duplicate records.  Its not there in the new UI - where did it go??

Answer - the new UI has opened up the duplication detection options!  You can now set many fields to not allow duplicates - here's how:

  • Setup->Customization->modules
  • Choose the module of interest
  • hover over the field
  • click the gear wheel
  • select the Do not allow duplicate option
  • Click the Blue Save layout button

Zoho CRM - Replacing a Pick List value Best Practice

We change our minds sometimes, right?  One day, the name for a pick list option seems perfect and maybe 2 weeks later you realize that another name is even more perfect and you want to change the name of that pick list option.  But... in the meantime, you may have created records that have that option selected for the field.  You can update the pick list value in Setup, but it won't update the existing records.  The answer is the Replace option...

To start go to Setup (upper right) -> Customization -> Modules

  • Select the module from the drop down list
  • In the display of fields available for that module click the gear wheel next to the field whose value you want to change and click Edit properties
  • ADD the new value, but DO NOT remove the old value yet!
    • Add new value by hovering over the value under which the new value will appear in the list and click the "+" sign on the right.  Type in the new value.
  • Click Modify to save the new value as an option in the list
  • Again, click the gear wheel next to the same field and this time choose "Replace Values"
  • Choose the Existing value in the top list
  • Choose the new value in the bottom list
  • Click Replace.

Wednesday, December 2, 2015

Crystal Reports : Driving Grouping with a Parameter

This is neat: Let us suppose we want a report to be Grouped on either Users.UserID or Users.UserTerritory, depending on a Parameter field.

So, provide a simple parameter, {?Group} and let the user set it to "UserID" or "Territory".

Now, within your report, create a formula field called {@Group1} and paste in the following code:

IF {?Group} = "Territory" THEN {USERS.USERTERRITORY}

Now, create your Group in crystal, and use {@Group1} as your Group Field.

This way, the user can select how the report should group itself, affecting all summaries, etc.

Try it!

Crystal Reports : Section Suppression

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

  Within Crystal, right-click on the Section name on the left hand section of the designer.

  Then 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.

Crystal Reports : Using SQL Expressions

I'll be honest, I rarely use these. But they can be really powerful on a MSSQL back-end. The first thing you need to know is that they allow you to submit TSQL directly to the server.

So, if I was after the Year value of a date field, the Crystal Formula would look like this;


...where the SQL Expression would use native Transact SQL, like this;


The big difference is how these two recordsets are generated. If I plug this into the Select Expert using Crystal Formulas, ALL records are downloaded from the server, and THEN the formula is processed. If you use the SQL Expression, it becomes a part of the Crystal SQL Statement, and only SELECTs the appropriate rows.

But it wouldn't work with, say, Access, or Interbase. The SQL Expressions are server-specific. What works with MSSQL may need a different syntax for Oracle or mySQL. But if you're reporting against millions of rows, this could dramatically reduce refresh times.

I've also seen it used in hyper-specialized environments to call Custom SQL Functions, as the SQL Expression is just a code-delivery system. Any exposed SQL object, including three-part qualifiers, should be allowed. I.e. DATABASE.DBO.TABLE.

GoldMine : Filtering out your Holiday List

  So, that was the hard part; creating the new field. Now that our sales force has gone ahead and filled in the field properly, we can now

2. Filter out records based on the new Holiday List field.

  Filtering and Searching in GoldMine nowadays are pretty much the same thing. This is the biggest reason why using a custom-field approach is easiest for the end user.

 a. Bring up the Search Center, either by clicking the "Search" button on the toolbar or double-clicking the Holiday Card field label. The search we are after is very simple, "Holiday Card begins with Yes".


 b. Now that we are satisfied with our search parameters, we can save this as a Filter. Click Save, then Save as Filter from the top left of the search center.

 Give the Filter a friendly name as shown below, then hit Ok.


  Because this is now a Filter, as records are marked as part of our Holiday List they magically appear within the filter. So, every year we need not mess around with anything else. If you want, specify "(public)" for the Filter user to ensure all GoldMine users can see it. 

GoldMine : Marking records for your Holiday Mailing List

  Yes, it's that dreaded time again; when we must organize and execute the Holiday Mailing List. This is one of the most requested GoldMine service items we get during the holiday season, and here is what hours of sweat and tears have taught me.

1. Identify records in GoldMine as part of the Mailing List.

  Keep it simple. Over the years, I've seen clients struggle with using combinations of "Customer Type" and sales data to determine who should get a Christmas card. And on the other end of the spectrum, I've seen clients become deluged with returned mail because they just "sent it to all he customers".

 As distasteful as it may seem, the best way to identify a record for anything is with a dedicated custom field. We'll create a field called UHOLIDAY, shown below;

  a. Right-click on the GoldMine contact record and select "New Field".

  b. Click the "New Field" button on the next window, then enter in your field details as shown below. Then hit OK.


 c. Place the new field somewhere convenient on the record by dragging it with the mouse. Once you position it, GoldMine may show a Field Properties window. Simply hit Ok.


 d. GoldMine will then warn you that the field does not exist and it needs to rebuild the database. ALL GoldMine users need to be logged out for this to happen properly.


  e. Now provide a "Yes" option in the lookup list for your new field. 


  So, then, the idea is to fill this field with a Yes to put them on the Holiday Mailing List. To "get the ball rolling", you may choose to globally fill this field based on Customer Type, Acct Mgr, etc. And the first year or two may need a little fine tuning, but going forward this really is the simplest way.