What?
A quick article on how I resolved this error and how the online forums and documentation did not.

Why?
I don't often do this to create a Creator record but I'm going to use the shortcode function zoho.creator.createRecord() and wanted to update the first name of a name field but I was getting the following error:
{ "code": 2945, "description": "EXTRA_KEY_FOUND_IN_JSON" }

How?
So the quick answer is to build a nested map in your request instead of using the Creator/JavaScript period/dot character...

What?
This is an article to document how we created a button off a Bill record in ZohoBooks which generates a text file to be sent to a bank and downloads it to the staff member's workstation.

Why?
Why is this a challenge? The file contains bank details and should not be stored anywhere. Generating a text or CSV file and then having it emailed to anyone is an easy task but here we cannot have that file sat on someone's mailbox. It must be downloaded (as in browser downloads it to the computer immediately) and then removed from wherever it was downloaded from...  All within ZohoBooks without using any other apps or software.

How?
Here's how to use it:
  • Staff member clicks on button
  • File downloads to their workstation
Here's what's happening in the background:
  • File is generated
  • FIle is attached to the last record of the source data
  • File identifying number is returned from being attached
  • File is opened in a new tab/window to trigger downloading.
  • File is deleted from attachments based on its identifying number (allows other attachments to remain intact)

What?
Another article on something I learned today despite never running into this issue before; but sending a billing/shipping address included in a request to create or update an estimate in ZohoBooks will fail...

Why?
I have a function to push a ZohoCRM quote to a ZohoBooks estimate and a client asked that the address on the CRM record 'pulls through'. Sending the address in the same request however gives me the following error:
{ "code": 15, "message": "Please ensure that the billing_address has less than 100 characters." }

How?
So the quick answer is 2 separate API calls after you have sent the code to either create or update the estimate in ZohoBooks. You will need the returned estimate ID and I'm not 100% sure the attention/phone number goes along as my client didn't include these in her estimate template... But I'm sending them anyway.

What?
This is a very quick article on sending an email with Deluge which needs a dynamic number of files attached to it.

Why?
This came up during a call with another developer and it occurred to me that perhaps this isn't clearly documented. But there are tips found across the web just not specifically addressing this.

How?
Here is the code for a test function which downloads 2 files from a public domain, no user wall. The key here which the official documentation is missing is the .setParamName() but for those who have spent time to find this function, they'll already know this.


What?
This is an open article without any completion in mind; to set the proper case of a name, as in capitalize the first letter, lower case the rest but then with exceptions.

Why?
Some of the Zoho Apps are incredibly case-sensitive and consider some records containing people's names as duplicates, when actually they are the same entity but may have uppercased a letter in their name while the other entry does not...

This article is a start and adaptation of my previous article Convert to Proper Case in T-SQL which I had previously used for the migration of a HR system. This is intended to work using Zoho Deluge.

How?
There are a number of combinations that I won't have thought of but the below code sufficed for my current task, common English and some European names:


What?
There are other sources on the web which show you how to deduplicate a contact but usually involve entering a customer name or other key to check if there are already records in the system with that key. I can't sit there entering one customer at a time. Even a loop would hit a statement execution limit.

Why?
My use-case is that I need this done over a dataset of 20k+ contact records and that's only half of the production system's contacts. I needed a quick bit of code to find any duplicates, all within the Zoho Creator app using Zoho Deluge and avoiding the use of any third-party APIs.

How?
My team of developers actually helped me solve this one as I was slowly dispairing...


What?
A quick article on determining the week number of the year if your week starts on a Monday and not a Sunday.

Why?
I think it's the US system which generally says that a week starts on a Sunday but in the United Kingdom, the week generally starts on a Monday. So let's say there's a schedule that has to be run weekly and include all the orders of a specific week...

Just to confuse everyone in the world, the day index for a Sunday is 7 (ie. myDate.toString("u") returns 7) and the week commences on a Sunday (ie. myDate.toStartOfWeek("EEEE") returns Sunday). In other words, the day counting starts at 7, followed by 1 for Monday, 2 for Tuesday, and so on...

How?
The logic behind this would be to take the date of the order, check if the order date is a Sunday, subtract a day, and return the week number:


What?
A quick article on getting the payment terms in Zoho Books along with their IDs.

Why?
I often need to send through an automatic payment term on the creation of an invoice but lots of my clients set their due dates differently.

How?
The following snippet of code will query the metadata api in Zoho Books and return a JSON of what the payment terms are.


What?
If you're lucky enough to build an application for a client based in a country that changes its clocks twice a year, then I'm opening this article without a 100% certain solution as I need to wait about 4 months until I can confirm this works.

Why?
I've covered this before in a fair few articles on this website but for clients in the US, where there could be 4 different timezones between customer, agent, HQ, server; we would create a separate table to manage this data. I can't do this for every client, so here's a quick snippet to just check if Daylight Savings are in effect for the United Kingdom.

How?
Based on the fact that the United Kingdom is on the Prime Meridian and when no daylight savings are in effect, the hour difference to UTC (Coordinated Universal Time) should be zero, then for checking if daylight savings is in effect in the UK, we should be able to take Greenwich Mean Time and compare to UTC.

What?
This is an article documenting how to remove the block on changes to a system field in ZohoCRM.

Why?
Our use-case today is that a customer wanted to map the Postal Code or Zip from a Lead record to an opportunity (or Deal) record. If you are using custom fields, then just ensure that the data type and field lengths match. In this case, they are system fields for the Postal Code which out-of-the-box differ in length so they do not list the postal code on the deal record to be listed in the "Lead Conversion Mapping" page.

In the Leads module, the Zip field is 30 characters; in the deal module, the Zip field is 20 characters... but we need these to match if we want to map them in the "Lead Conversion Mapping" page.

How?
This is a bit of a hack and most likely not recommended... but it is a workaround I have used and that worked when converting a lead to a deal. Note that this hack doesn't work on the system field label name (I tried) just on the length field. Use the translations file to change system field labels


What?
A super quick article on resolving this issue if it ever appears again.

Why?
At time of print, this error was happening to schedules in Zoho Books, Zoho Inventory, and Zoho Subscriptions. Unless you can monitor when these type of schedules are failing, you won't see this error until you go in and try to save it again.

How?
The super quick answer is remove any spaces from the name of the schedule.

What?
One of these articles because I spent so long trying different snippets of code to enable tracking when using Deluge code to create an item in Zoho Inventory:
Zoho Inventory: Enable Tracking using the API

Why?
Who uses ZohoInventory for anything else than tracking stock...?

How?
So the quick answer is one missing parameter to send through which is "item_type=inventory"... A little longer, is do ensure you have Zoho Inventory enabled.


Credit where Credit is Due:


Feel free to copy, redistribute and share this information. All that we ask is that you attribute credit and possibly even a link back to this website as it really helps in our search engine rankings.

Disclaimer: Please note that the information provided on this website is intended for informational purposes only and does not represent a warranty. The opinions expressed are those of the author only. We recommend testing any solutions in a development environment before implementing them in production. The articles are based on our good faith efforts and were current at the time of writing, reflecting our practical experience in a commercial setting.

Thank you for visiting and, as always, we hope this website was of some use to you!

Kind Regards,

Joel Lipman
www.joellipman.com

RSS Feed

Related Articles

Joes Revolver Map

Joes Word Cloud

client   following   added   joomla   version   display   name   date   mysql   error   note   used   form   using   database   report   would   value   where   uploaded   table   case   find   code   work   system   parameter   server   data   website   file   field   time   script   function   user   creator   list   deluge   page   files   need   zoho   order   license   windows   google   source   create   first   JoelLipman.Com

Accreditation

Badge - Certified Zoho Creator Associate
Badge - Certified Zoho Creator Associate

Donate & Support

If you like my content, and would like to support this sharing site, feel free to donate using a method below:

Paypal:
Donate to Joel Lipman via PayPal

Bitcoin:
Donate to Joel Lipman with Bitcoin bc1qf6elrdxc968h0k673l2djc9wrpazhqtxw8qqp4

Ethereum:
Donate to Joel Lipman with Ethereum 0xb038962F3809b425D661EF5D22294Cf45E02FebF
© 2024 Joel Lipman .com. All Rights Reserved.