What?
A very quick article on converting a Map string into a HTML table without using a for each loop.

Why?
I have quite a big response from our CRM that hits a statement execution limit if I use a for loop. I have a map with 3 columns: first_name, last_name, and ID. What I want is a HTML table now with the headers and data but without using a for loop.

What I have:
copyraw
{"First_Name":"Joel","Last_Name":"Lipman","id":"1"},{"First_Name":"Another","Last_Name":"Person","id":"2"}
  1.  {"First_Name":"Joel","Last_Name":"Lipman","id":"1"},{"First_Name":"Another","Last_Name":"Person","id":"2"} 
What I want:
First NameLast NameID
JoelLipman1
AnotherPerson2

How?
This is a bit of a dirty solution and as long as "id" is not your first column (because "id" can be found in names like "David") it will work.
Category: Zoho :: Article: 737

What?
This article documents how to stop an employee from applying for leave when already 80% of their team have already booked the same date off.  My brief was:

  • Check the department this employee belongs to
  • Search for employees of the same department (team members) who have booked the same days off (ie count holiday clashes)
  • Prevent an employee for applying for leave if over 80% of the department have already booked the requested dates off.

In other words, if there are 10 people in a department/team, and 8 people have booked tomorrow off, prevent a 9th team member booking tomorrow off.

Why?
I've written this article as it took a while to achieve. The Zoho People application and its API are documented but there are problems with the documentation at the time that this article was written. One is that there are 2 sets of documentation and the other is that the majority of the documentation doesn't refer to OAuth 2.0/json and instead uses the deprecated authtoken v1 and XML.

How?
The trick in this solution was more about the process and what that process was.

What?
The aim of this article is to document how you can display a Creator report to the user, that they can select (tickbox) multiple records in that report, and then have a button that loops through all the selected (ticked) records. The example below documents a report of Quotes where we want to merge all the product line items of each quote into one single quote.
Zoho Creator - Report Multiple Records Selected
Why?
I've written this article because I keep forgetting on how to do this. I have a specific order of steps on how I do this, you may find other ways but this is one that works for me.

How?
So here's an overview and then we'll go into more detail:
  1. Create a function that accepts a form of records
  2. Create a workflow that understands the function parameters

What?
This is a quick article I use to list step by step on how to set up a custom domain for a Zoho Creator customer portal. In this example, we are going to use a subdomain of a company which has the domain joellipman.com.

Why?
This took me a bit of going backwards and forwards to Zoho rather than getting my client to do this. The aim is to take up as little time as possible of the third-parties involved, plus the documentation online was in parts and requires going to several pages across the Internet. Here I have 1 page and 1 article documenting the process.

How?
I'm breaking this down into 3 stages:
  1. Zoho Creator: Specify Custom Domain
  2. Domain Registrar: Setup subdomain and add CNAME
  3. Zoho Support: Get Zoho to setup SSL

What?
So I thought I'd write a quick article to remind me and to develop a simple notification system that will popup for any user on the submit of a form, or on the click of a button or on the click of a link on a page.

Why?
Because alert (alert task) can only be used on a load of a form, on a change of a field or on the validate process. And because info can only be displayed to an admin and even in some cases only as an additional link in the form. The example below is for use in a customer portal on the click of a report button (report workflow).

How?
This will create a popup using the built-in popup of Zoho creator and gives you the freedom to style the notification as any modal would.

What?
This is an article documenting how to create a Zoho Creator Widget which includes the Bootstrap and jQuery frameworks as well as other JavaScript functionality.

Why?
Quite simply that at time of print (2020-10-24), Zoho Creator does not allow you to use JavaScript anywhere in its app. HTML and CSS are mostly allowed but JavaScript automatically gets removed from any of your code.

How?
As someone who's been using Zoho services and programming in Zoho Deluge for a few years now, even I thought of Zoho Widgets as a daunting task. But after doing some, I realize this is actually very quick to do and much easier than first thought. The article below documents how to create your first widget in a MacOS environment. I aim to create a WindowsPC version of this document at some point for my colleagues. The below instructions follow a fresh install as if this is the first time this computer has created a Zoho Creator Widget.

What?
So this is an article documenting how to create an on/off toggle switch that hides and displays between 2 div layers in a Zoho Creator Page (so not a form or report but a page).

Why?
This is written at a time when Javascript or interactive pages that change on the fly based on a mouse event in Zoho Creator automatically get removed on Save/Update of the page. The following uses the built-in functionality of Zoho Creator and could be seen as a 'Pure CSS' feature. I'm aiming to make a list of capabilities that can be done without loading another framework considering that Zoho Creator has their own version of Bootstrap and jQuery. This is the first example I have where you would want dynamic content in a Zoho Creator page without the use of JavaScript or 'Widgets JS'.

How?
Here are some screenshots to preview what the code below will do, simply copy the code and paste into a Zoho Creator Page.

What?
A very quick article as I couldn't find anything on the WWW to document this error.

Why?
During a data migration, I was using a custom function to copy all the data from one app to another. The specific form was for "Leads" which contained a subform with a product line item list. If I run this code, I would get the error:
copyraw
Expecting ZC_SUBFORM_250 expression found COLLECTION expression
  1.  Expecting ZC_SUBFORM_250 expression found COLLECTION expression 
Another error you may get when using the deluge script is:
copyraw
LIST value cannot be assigned to 'mySubform'
-- or --
COLLECTION value cannot be assigned to 'mySubform'
  1.  LIST value cannot be assigned to 'mySubform' 
  2.  -- or -- 
  3.  COLLECTION value cannot be assigned to 'mySubform' 
or
copyraw
expecting ZC_SUBFORM_70 expression found COLLECTION expression
  1.  expecting ZC_SUBFORM_70 expression found COLLECTION expression 

How?
Quite simply the error is because the Creator Deluge syntax I was using to insert subform rows was wrong.
Category: Zoho :: Article: 730

What?
This is an article to remind me how to search for CRM records by a value that may contain an ampersand or parenthesis.

Why?
I wrote this article because some searches will work for me and sometimes it won't. Escaping the ampersand with a backslash or url encoding to %26 wasn't working for me. I spent several hours trying to write a script that could search for the existing records by company name. The issue is that if you use zoho.crm.searchRecords() this will work fine for company names without special characters such as the ampersand or parentheses. But what if amongst your records you may want to find:
copyraw
Company Name: Father & Sons (Incorporated)
Contact Name: O'Reilly
  1.  Company Name: Father & Sons (Incorporated) 
  2.  Contact Name: O'Reilly 

How?
Well I've tried various replace methods with regular expressions but the only method reliable enough I have found to work each time is using the CRM Object Query Language or Zoho's COQL. Similar to SQL but subject to similar issues of escaping special characters...
Category: Zoho :: Article: 729

What?
This is slightly different to my article Zoho Deluge: Get Refresh/Access Token API v2 (Zoho to Zoho service) and different to my Zoho CRM: APIv2 using PHP & cURL (3rd-Party to Zoho), in that this details how to setup a connection to use in an invoke URL statement. Specifically for Zoho Books, Subscriptions or Inventory.

Why?
Setting up a connection avoids the hassle of having to generate access/refresh tokens using OAuth2.0. Usually used with an invokeUrl:
copyraw
response = invokeUrl
[ 
	url: "https://books.zoho.com/api/v3/estimates?organization_id=12346789" 
	type: GET
	connection: "joelconnector" 
];
  1.  response = invokeUrl 
  2.  [ 
  3.      url: "https://books.zoho.com/api/v3/estimates?organization_id=12346789" 
  4.      type: GET 
  5.      connection: "joelconnector" 
  6.  ]

How?
So in the following example, we are going to setup a connection in Zoho Books on an EU datacenter:
  1. First determine what datacenter your client is using
  2. Register the App
  3. Setup the Connector
Category: Zoho :: Article: 728

What?
So this is an article to document the methods I use to get an image uploaded in a form to display in a report or on another page.

Why?
There might be different articles out there and discussion forums that do cover this but it takes me so long to find the solution with the right syntax.

How?
So I'm going to start with 1 method and then update this article with other methods.

What?
This is an article to document how to use Zoho Deluge to download a file that was uploaded into a Zoho Creator form and then to attach it to a Sales Order in Zoho Books.

Why?
Because it took me so long to find out how to do this even after reading the official documentation and going through the online discussion forums to build this solution. As of May 2020, this is how I do it.

How?
So the trick is, go over the official documentation, but don't take it as gospel. You only really need the syntax for attaching a document to a Sales Order in Books and the documentation leaves certain bits out. Just getting the syntax right and using the . setParamName is key.

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

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