Rodger's helpful scripting tips #1 - Variable naming convention

Rodger's helpful scripting tips #1 - Variable naming convention

Hi everyone. I see many posts about scripting (deluge) issues and automation issues. At our business, we have developed many simple code snippets which I would like to share with you in the hopes that it helps you automate your businesses more to save you time and money.

But first, a bug bear of mine is variable naming convention. When we started, we struggled with a naming convention in our functions which was based on the horrible Zoho default naming convention.... "response" anyone? We picked up these tips from Joel Lipmann(?) who I have no affiliation with.

We have 5 major categories of variables/objects in Deluge 

Records
Maps
Lists
Collections
Variables

The naming convention we use is "x_name" where "x" is the first letter of the category. i.e

r_contact would be a Contact Record
m_contact would be a Map for a contact record
l_contacts would be a list of contacts
c_contacts would be a collection of contact records (you can also use l_contacts for a collection unless you're using lists and collections in the same function)
v_error would be a variable for an error message

You see the pattern? In this way, if you need to get information from a record, you type "r" and only the record objects come up in the list pop-up

It also makes loops easier to declare and read. i.e instead of 

  1. for each ele in contacts
  2. {
  3. }

it would read

  1. for each contact in l_contacts
  2. {
  3. }

Standard Zoho naming convention would use "contact" as the name for the contact record, so we can't use "contact" in the for each loop. However we can use the above naming convention because our contact record would be named r_contact, so our for each loop reads much more naturally as "For each contact in the list of contacts"

Finally, we don't use "response" in anything really. Give your tasks a descriptive name that allows you to understand what the task is doing. i.e

response = invokeURL tells you nothing unless you read the subsequent code, whereas

renameFile = invokeURL tells you exactly what that code block is doing. It also makes it much easier to use in subsequent code if you need to get information out of the response message for the task. i.e renameFile.get("data").get....etc

Hope this helps! This naming convention only has a minor effect on simple scripts, but when you start dealing with multiple records, multiple lists and when your scripts get up into the hundreds of lines or more, a good naming convention makes it much easier to code and debug.

    Access your files securely from anywhere

          Zoho Developer Community




                                    Zoho Desk Resources

                                    • Desk Community Learning Series


                                    • Digest


                                    • Functions


                                    • Meetups


                                    • Kbase


                                    • Resources


                                    • Glossary


                                    • Desk Marketplace


                                    • MVP Corner


                                    • Word of the Day



                                        Zoho Marketing Automation
                                                • Sticky Posts

                                                • Zoho CRM Functions 53: Automatically name your Deals during lead conversion.

                                                  Welcome back everyone! Last week's function was about automatically updating the recent Event date in the Accounts module. This week, it's going to be about automatically giving a custom Deal name whenever a lead is converted. Business scenario Deals are the most important records in CRM. After successful prospecting, the sales cycle is followed by deal creation, follow-up, and its subsequent closure. Being a critical function of your sales cycle, it's good to follow certain best practices. One such
                                                • Custom Function : Automatically send the Quote to the related contact

                                                  Scenario: Automatically send the Quote to the related contact.  We create Quotes for customers regularly and when we want to send the quote to the customer, we have to send it manually. We can automate this, using Custom Functions. Based on a criteria, you can trigger a workflow rule and the custom function associated to the rule and automatically send the quote to customer through an email. Please note that the quote will be sent as an inline email content and not as a PDF attachment. Please follow
                                                • Function #50: Schedule Calls to records

                                                  Welcome back everyone! Last week's function was about changing ownership of multiple records concurrently. This week, it's going to be about scheduling calls for records in various modules. Business scenario Calls are an integral part of most sales routines.. Sales, Management, Support, all the branches of the business structure would work in cohesion only through calls. You could say they are akin to engine oil, which is required by the engine to make all of it's components function perfectly. CRM
                                                • Function #37: Create a Purchase Order from a Quote

                                                  Welcome back everyone! Last week, we learnt how to calculate the total number of activities for a lead and further take note of the activity count for particular dates. For instance, from the period of Demo to Negotiation. This week, let's look at a function that lets you create a Purchase Order instantly from a Quote. Business scenario: In any form of business, one of the most important things to do is to document the transactions. Naturally, negotiation, signing an agreement, placing an order,
                                                • Function-2: Round-Robin assignment of records

                                                  Welcome back folks! Last week, we saw how to update sales commission in quotes using a custom function. This week, let's see an interesting use case asked by many of you - auto-assignment records by round-robin method. Business scenario: Right now, the solution allows you to auto-assign leads from web form and imported lists. Let us look at a need where you want to auto-assign leads from in-bound calls in a round-robin method, across modules. Prerequisite: You must create a permanent record in the


                                                Manage your brands on social media



                                                      Zoho TeamInbox Resources

                                                        Zoho DataPrep Resources



                                                          Zoho CRM Plus Resources

                                                            Zoho Books Resources


                                                              Zoho Subscriptions Resources

                                                                Zoho Projects Resources


                                                                  Zoho Sprints Resources


                                                                    Qntrl Resources


                                                                      Zoho Creator Resources



                                                                          Zoho Campaigns Resources


                                                                            Zoho CRM Resources

                                                                            • CRM Community Learning Series

                                                                              CRM Community Learning Series


                                                                            • Kaizen

                                                                              Kaizen

                                                                            • Functions

                                                                              Functions

                                                                            • Meetups

                                                                              Meetups

                                                                            • Kbase

                                                                              Kbase

                                                                            • Resources

                                                                              Resources

                                                                            • Digest

                                                                              Digest

                                                                            • CRM Marketplace

                                                                              CRM Marketplace

                                                                            • MVP Corner

                                                                              MVP Corner





                                                                                Design. Discuss. Deliver.

                                                                                Create visually engaging stories with Zoho Show.

                                                                                Get Started Now


                                                                                  Zoho Show Resources


                                                                                    Zoho Writer Writer

                                                                                    Get Started. Write Away!

                                                                                    Writer is a powerful online word processor, designed for collaborative work.

                                                                                      Zoho CRM コンテンツ






                                                                                        Nederlandse Hulpbronnen


                                                                                            ご検討中の方





                                                                                                  • Recent Topics

                                                                                                  • Function #20: Custom calculation in item table of invoices

                                                                                                    When you create an invoice in Zoho Books, the 'Amount' of a line item is typically calculated as the product of the "Quantity" and the "Rate" of the item. For instance, if an item has a sales rate of $50 and a quantity of 5 is sold, then the amount would
                                                                                                  • PO receive limitations

                                                                                                    It is VERY common to receive more or less that the PO quantity. It's totally ludicrous to limit the maximum receive to the PO quantity! What if the receive is 0.00001 less than the PO quantity - it leaves the PO as "Partially received" The current options are to edit the PO manually before finalizing the receive, an outrageous situation ! Please Zoho guys - this is an infuriating oversight & can be easily resolved by introducing the option as shown in the attached document ......
                                                                                                  • Why don't we have better integration with Mercado Pago or Pagseguro?

                                                                                                    Currently, the integration between Zoho Commerce and Mercado Pago for Brazil is very poor... Since it is old, it does not include the main payment method in Brazil today, which is PIX. Is there a date for this to finally be launched? There are numerous
                                                                                                  • Why is there no integration with native Brazilian shipping methods?

                                                                                                    Zoho Commerce is a powerful platform for e-commerce, but its lack of integration with native Brazilian shipping solutions is a significant limitation for users in Brazil. Integrating with popular shipping providers like Correios, Frenet, and Kangu would
                                                                                                  • Alert for Back Navigation in Zoho Creator Widgets on Mobile Apps

                                                                                                    In Zoho Creator widgets, when a user navigates back on mobile devices, the data within the widget is reset. This leads to a loss of any unsaved changes or inputs, causing frustration for users. To enhance user experience, we need to implement a confirmation
                                                                                                  • Mapping Zoho Projects into Cliq Channels

                                                                                                    why arent all the Zoho Projects listed from the drop down menu when trying to Map them into Zoho Cliq Channels. The system doesnt allow me to type the name of the project but gives a drop down of a list of projects however it doesnt give me a list of
                                                                                                  • Input GST Reversal for damaged goods

                                                                                                    In our line of business, some items are damaged and we are doing inventory adjustments to remove them from stock. However, as per GST guidelines, there is a specific rule that we have to reverse Input GST availed for such items and needs to be reported
                                                                                                  • Canadian Anti Spam Law

                                                                                                    In order to be able to comply with the new Canadian Anti Spam Law, I need to send out a Confirm Subscription email to all of our existing contacts. If I use the Subscribe tag, the user gets the following message: Registration Failed. Sorry! This contact is already present in the selected list. You can check this with your update profile link. If I include an 'Update Profile' link, it then sends an email which does not arrive immediately. Can you provide a tag or URL I can put in a Campaign Email
                                                                                                  • How to bulk update lookup fields

                                                                                                    "I have a primary key named Product SKU in one form called Master SKU (which contains details like price, color, size, etc.). I also have another form called FBA, which has the same primary key, Product SKU, and contains stock quantity information for
                                                                                                  • Change work hours per day for employees

                                                                                                    Hello, Is there a way to modify the work hours per day for employees in Zoho projects? This would be helpful for resource allocation to more accurately see when an employee who works 35 hours a week vs 40 hours has a full schedule. Thanks.
                                                                                                  • Record GST Paid for Imported Goods

                                                                                                    In Australia, goods that imported from overseas needs to pay GST per invocied value. In most case, the freight forwader (logistic agent) paid this on behalf of importer (us), and invoice us in together in their freight invocie.  How do we setup a proper
                                                                                                  • Unable to produce monthly P&L reports for previous years

                                                                                                    My company just migrated to Books this year. We have 5+ years financial data and need to generate a monthly P&L for 2019 and a monthly P&L YTD for 2020. The latter is easy, but I'm VERY surprised to learn that default reports in Zoho Books cannot create
                                                                                                  • Bulk Editing Multiple Invoices with Overwriting at time of upload

                                                                                                    Hello, I would like to edit a few 100 invoices. Only the HSN needs to be updated. When I am trying to upload the excel sheet with the data updated, I get an error: The Invoices are skipped as they already exist. I know the invoices exist but I would only
                                                                                                  • Oauth Redirects me to sign in page

                                                                                                    I am developing a postman script for me to securely get my credentials via Zoho Vault. With that, I need to authorize my postman to be able to access Zoho Vault. I am currently on Step 1 in this Zoho Vault | API Reference which redirects me to this guide
                                                                                                  • Here's why you should refrain from using EasyShip

                                                                                                    This is a screen recording which shows EasyShip performance issues. Note well! While we do use the Zoho-to-Easyship integration, the problems are wholly on the EasyShip side. The actual integration of data to EasyShip, and status updates back to Inventory,
                                                                                                  • How can I create a billable expense.?

                                                                                                    Hi, I've a bill of an expenses related to printing and stationary account but it recorded in non-billable expense category. How can I record this expense in billable category. Below is the pathway I've used to record the expense. Purchases. Expenses Click
                                                                                                  • Introducing Sub-Accounts in Zoho Books!

                                                                                                    Hello Everyone, Sub-Accounts is LIVE! Yes, you read it right. The much needed and most requested feature is now live in Zoho Books. The sub-accounts feature in Zoho Books will help you to classify your accounts further which will give you a more detailed view of your accounts while running reports. You can create sub-accounts for the below Accounts: Asset Cost of Goods Sold Expense Liability Fixed Asset Other Asset Other Current Asset Long Term Liability Other Current Liability Other Liability Other
                                                                                                  • How can I insert and update field data of a sub-form without adding data into the main form’s mandatory fields.

                                                                                                    1. I have a main form that contains a sub-form. I need to update the data of the sub-form from a function, but I am unable to do so. How can I achieve this in Zoho Creator? 2. How can I insert data into a sub-form without inserting data into the mandatory
                                                                                                  • How to autorespond for inactive users?

                                                                                                    Hi, we have a few inactive users that we would like to set up an autorespond to the sender telling that the email addresses are no longer active. How can we do that?
                                                                                                  • Cannot view or interact with polls on IOS

                                                                                                    When testing with Android the user will receive a pop up message when a poll is started and be able to access polls via the more menu. This is not the case when using IOS phones, there seems to be no way to view or interact at all.
                                                                                                  • Calendar view not working in Zoho Projects

                                                                                                    Hello Zoho team! Since this morning, clicking on the "Calendar" link in the Projects Menu doesn't do anything. It seems to refresh the page, but it doesn't open the calendar view for tasks. It affects every user in my company. Closing and opening the
                                                                                                  • Multi Select Filter off comma separated values

                                                                                                    Hey friends! I have a query table for a couple of dashboards/ charts. In one of the dashboards, I'm trying to create a multi select filter for the service that is being sold. The way we look at services is by a CRM field titled, "Mail Lead Entities,"
                                                                                                  • Dashboard filter applied to all reports but not visible on report

                                                                                                    Hi, I have two reports which shows sales transactions data - one is graph and the other a pivot table. Both reports use the same base table. There are no filters on the reports so it shows all transactions for the last 6 months. I want to create a dashboard that includes the graph and the pivot table report. However, I want the dashboard to have a fixed date filter that only shows the last 30 days of data i.e. filtering the underlying graph and pivot table to show the last 30 days of order data.
                                                                                                  • Equipment Scheduling for Efficient Field Service Operations

                                                                                                    Zoho FSM helps you nail the critical aspect of field service management, i.e., scheduling the right technicians to the service appointments. Ensuring that technicians have access to the right tools and machinery for their job is also of paramount importance.
                                                                                                  • Problem with multiple pages record template

                                                                                                    Hi, I have a record template with multiple pages. When I print, it has gaps between pages. How can i fix it?
                                                                                                  • Field Update: can't find a custom multi-line text field in the options list

                                                                                                    I want to update a custom text field (large size multi-line: 32000 characters) that I have added in the Accounts module using this functionality https://help.zoho.com/portal/en/kb/crm/automate-business-processes/actions/articles/field-updates , but I
                                                                                                  • Zoho One Datensicherung möglich

                                                                                                    Gibt es eine Zoho One Datensicherung über alle Apps mit eindeutigen Datensatz-Id´s eines Kontaktes in allen Apps und mit allen Bildern (insbesondere Artikel-Bilder)? Wir haben festgestellt, dass die Zoho Books Datensicherung keine Bilder sichert. Und
                                                                                                  • Pop Up

                                                                                                    Hello, I want to automatically display the information of the attached data in the product module in the related list section of my data in the lead module when the current time matches the "Call Time" field of my data in the leads module. How can I achieve
                                                                                                  • New feature alert: Witness signing is now available in Zoho Sign

                                                                                                    Hello! Getting documents signed with confidence in Zoho Sign just got a major boost! We're delighted to introduce witness signing, where other individuals or entities can be designated as witnesses to observe the signing process and add their signatures
                                                                                                  • How to report and analyze a multi-select field entries distinctly ?

                                                                                                    As many of CRM users I have many multi-select fields that allows me to choose more than one chose in one cell for a specific filed Like: Field A - A;BC - A;C -B;C But when reporting the field it will handle each cell as a "String" not multiple entries
                                                                                                  • Get the capability to convert documents to different formats

                                                                                                    Hello users, In this article, we'll be exploring the Conversion API in Zoho Office Integrator to understand how it can be used to convert documents to different formats right from your web app. Before we get to the details of the Conversion API, here's
                                                                                                  • Issues with certain CRM, Desk & webhook blocks in Guided Conversations

                                                                                                    Good day I have been attempting to add a block on our guided conversations, which give our customers relavent information based on their queries. The issue is that when I attempt to use a block that fetches data I get the following error popup: Cannot
                                                                                                  • Use Zoho Creator as a source for merge templates in Zoho Writer

                                                                                                    Hello all! We're excited to share that we've enhanced Zoho Creator's integration with Zoho Writer to make this combination even more powerful. You can now use Zoho Creator as a data source for mail merge templates in Zoho Writer. Making more data from
                                                                                                  • Can't delete/hide related lists

                                                                                                    Hi, Maybe I'm missing something, but I can't seem to find where I delete or hide related lists in a module. When I go to a record and click the little arrow on the right next to the related list, I only get the option to select what fields in that list
                                                                                                  • Make Widgets Clickable or Copiable

                                                                                                    Hi, I created a KPI Widget in Zoho Analytics whose content I would like the users that see my dashboard could copy or click and be redirected elsewhere. Yes, I'm aware I can create a Text Box for that instead of a Widget, but the problem is that the link
                                                                                                  • Address Autofill

                                                                                                    Hi I'm having issues with the address autofill tutorial (https://zurl.co/rGXQ). I have followed each step in the tutorial, but when i paste the code into a workflow/function, i'm getting the following error code: Improper code format Correct format :
                                                                                                  • Sync custom module ID to Lead module

                                                                                                    Hello, I am trying to sync Contract ID (custom module) from Deal module. I have an existing function that whenever a contract is created, it will automatically creating deals based on the frequency of the contract. Now i am having problem to show the
                                                                                                  • In Kiosk, please support "File upload field" in the "Field Update" action

                                                                                                    Hello. Supporting "File upload field" in the "Field Update" actions would be a great addition to Kiosk Studio. I would appreciate it if you could evaluate it. Saludos,
                                                                                                  • can I link a contacts to multiple accounts

                                                                                                    can I link a contacts to multiple accounts
                                                                                                  • Change Last Name to not required in Leads

                                                                                                    I would like to upload 500 target companies as leads but I don't yet have contact people for them. Can you enable the option for me to turn this requirement off to need a Second Name? Moderation update (10-Jun-23): As we explore potential solutions for
                                                                                                  • Next Page