Articles

What?
This is a quick article on what should be a simple mathematics equation: Determine the quarter from a given month.

Why?
Fine if you are determining the quarter by the month and your Fiscal year starts from January, simply divide by 3...

How?
I'm showing this in Zoho Deluge but the logic can be adapted to other code. You will need this snippet of code for the examples below:
l_Months = {1,2,3,4,5,6,7,8,9,10,11,12};
l_MonthNames = {"January","February","March","April","May","June","July","August","September","October","November","December"};

What?
This is a quick article to demonstrate how to compare two datetime values with the timezone specified.

Why?
A client's ZohoCRM had a different timezone setting than the user a script would be run as. The time difference was just one hour but this caused problems if comparing two datetime values. In this particular case, we needed to check on the expiry of an access token used in OAuth2.0 for an API.

How?
All with deluge but we will split the date and time value obtained from a CRM field and compare it to the current time combined with a timezone. In this particular case, we will switch the current time to Europe/London (You can use an abbreviation such as GMT but this doesn't seem to check if daylight savings is in effect):

What?
An article on setting a date field to either the first Monday of the next month or to the last Tuesday of the current/next month. What I mean by the last Tuesday is if the last Tuesday of the month is before the current date, then set it to the last Tuesday of next month.

Why?
This was a request by a client who instead of specifying the 1st of every month, or 15th of each month, to say the first Monday of the month (ignoring bank holidays) or to say the last Tuesday of the month.

How?
Quite easily. For the first Monday of the month, it is likely that even if today was the first day of the month and coincidentally a Monday, then we would want to specify the field date to be the first Monday of the next month. If however we want the last Tuesday of the month and that Tuesday happens before today, then we want the last Tuesday of the next month.

What?
A quick article on how to count within a map. I didn't have too much difficulty getting this to work and I'm not sure if there are better ways of counting so I'm documenting it to see if I can refine the code or find a some short codes that will do the same.

Why?
I'm aiming to automate a process which counts the number of products allocated to an account or in total for a purchase order. Let us assume we have the following in a form/report called "Stock_Upload":
RowID	Name	            SKU	        Account Email	
0001	Test Product 1	    TEST001	    test1@joellipman.com	
0002	Test Product 1	    TEST001	    test1@joellipman.com	
0003	Test Product 1	    TEST001	    test1@joellipman.com	
0004	Test Product 1	    TEST001	    test1@joellipman.com	
0005	Test Product 2	    TEST002	    test1@joellipman.com	
0006	Test Product 1	    TEST001	    test2@joellipman.com	
0007	Test Product 1	    TEST001	    test2@joellipman.com
The code is a for loop which iterates through each row, assigning an entry for a new product or account, and specifying the quantity for each.

How?
So depending on the number of levels, the count will be with a series if then else statements. See the results/yield section to determine which best fits your scenario:
Zoho Deluge: Adding / Removing Total Tax from a Quote Record

What?
A quick reminder on when I want to apply overall Tax or remove Tax from a quotes product line items.

Why?
I would apply the standard update function and although the response would say it modified the record, the tax wouldn't apply both visually and programmatically.

How?
A little undocumented this "feature" but the gist is if you want to add tax, it has to be built up in the tax options, if you want this to be zero, you need to pass the option of tax as zero and remove all other options.

What?
A sorta quick article to note how I can generate refresh tokens and access tokens using Zoho Deluge code (so within Zoho Creator, CRM or Books) without XML calls.

Why?
I find myself using this more and more now that API v1 is on the way out and Zoho Deluge by itself is limited somewhat with regards to functionality and record editing when compared to API v2.

How?
Note that this is using Zoho Deluge and not another server-side script such as PHP to send the requests via API.

What?
A quick reminder on how I got a working snippet of code to store the entries in the lookup already selected, check against another table/form for valid options, repopulate the list with the selected item and filtering the options available for selection.

Why?
This was for a multi lookup with staff as the list entries. The lookup needed to filter against various forms such as Staff Rotas, Leave Requests, Qualifications and some others.

How?
The aim/objective is the following:
  1. Store what was already selected in the lookups
  2. Clear the lookups list
  3. Restore what was originally selected as selected.
  4. Repopulate with a filter list of options (not selected but available)