Kaizen #111 : Set default values based on Page Layouts using Client Script

Kaizen #111 : Set default values based on Page Layouts using Client Script

Hello everyone!
Welcome back to another interesting Kaizen post.
In this post, let us discuss how to set default values for fields based on different layouts using Client Script.

In this Kaizen post,
  1. What are Page Layouts?
  2. Client Script is specific for each layout
  3. Use Case
  4. Solution
  5. Summary
  6. Related Links

1. What are Page Layouts?

Page layouts in Zoho CRM enables you to manage the organization and display of fields, sections, and associated details on a record's page. These page layouts are instrumental in personalizing the user interface and optimizing the data entry process to align with your organization's unique requirements. You can assign layouts to user profiles based on your business requirements.

2. Client Script is specific for each layout
Whenever you create a Client Script, you should  mention the layout for which the Client Script should work. So whenever you want to perform actions specific to a particular layout, you can easily accomplish it using Client Script.
In the image below, you can observe that selecting a layout name is a necessary step for configuring a Client Script.


3. Use Case

Consider that Zylker is a manufacturing Company. The customers include both Wholesalers and Retailers. For this purpose, Zylker has two Page Layouts in a custom module named as Orders. One is the Wholesaler-layout and the other is the Retailer-layout. The Wholesaler-layout is assigned to the wholesaler profile and the Retailer-layout is assigned to the retailer profile.

1. Whenever a customer with retailer profile creates an order, the read-only field Account Type should be auto-populated as Retailer.  In the Create page of the Orders module, when the value entered in the field "Number of pieces" is more than 100, then the Payment Method should get populated as Prepaid and should be read-only. 

2. Whenever the customer with wholesaler profile creates an order, the read-only field Account Type should be auto-populated as Wholesaler and the Payment Method should be populated as Prepaid and should be read-only.

4. Solution

For a particular module, the number of Client Scripts to be created differs based on 
The page for which you want the script to work.
The events that should trigger the script.
The layouts for which you want the script to work.

To accomplish this requirement, you need to create three Client Scripts, one for each layout.
  • Client Script for Retailer Layout with onLoad Page event 
  • Client Script for Retailer Layout with onChange Field event 
  • Client Script for Wholesaler Layout with onLoad Page event 

1. Client Script for Retailer Layout with onLoad Page event 

  • Go to Setup > Developer Space > Client Script. Click +New Script.
  • Specify the details to create a script and click Next.

  • Enter the following script and click save.

//To populate default value for Account Type
var acc_type = ZDK.Page.getField("Account_Type");
acc_type.setValue("Retailer");
//  To make the field "Account Type" read-only
acc_type.setReadOnly(true);


  • This script gets executed whenever the Retailer - Layout, Create Page of Orders module gets loaded. The getField ZDK fetches the object details about the field Account Type. The value, Retailer can be populated to this field using setvalue(). You can make Account Type field read-only using setReadOnly().
  • Here is how this Client Script works.


2. Client Script for Retailer Layout with onChange Field event 
  • Go to Setup > Developer Space > Client Script. Click +New Script.
  • Specify the details to create a script and click Next.

  • Enter the following script and click save.


//To populate  Payment Method when the quantity is more than 100
var no_of_pieces = ZDK.Page.getField("Number_of_pieces");
var payment_method = ZDK.Page.getField("Payment_Method");
if (no_of_pieces.getValue() > 100) {
    payment_method.setValue("Prepaid");
    // To make the field "Payment Method" read-only
    payment_method.setReadOnly(true);
}


  • This script gets executed whenever the user enters a value in the Number of Pieces field in the Retailer - Layout's Create Page of Orders module. The getField ZDK fetches the object details about the fields Number of Pieces and Payment Method. The value, Prepaid will be populated to Payment Method using setvalue(), whenever the value entered in the Number of Pieces is more than 100. You can use getvalue() to get the value entered in a field. You can make this field read-only using setReadOnly().
  • Here is how this Client Script works.



3. Client Script for Wholesaler Layout with onLoad Page event 
  • Go to Setup > Developer Space > Client Script. Click +New Script.
  • Specify the details to create a script and click Next.

  • Enter the following script and click save.

//To populate default value for Account Type
var acc_type = ZDK.Page.getField("Account_Type");
acc_type.setValue("Wholesaler");
// To make the fiels "Account Type" read-only
acc_type.setReadOnly(true);
//To populate default value for Payment Method
var payment_method = ZDK.Page.getField("Payment_Method");
payment_method.setValue("Prepaid");
// To make the fiels "Payment Method" read-only
payment_method.setReadOnly(true);


  • This script gets executed whenever the Wholesaler - Layout, Create Page of Orders module gets loaded. The getField ZDK fetches the object details about the fields Account Type and Payment Method. The value, Wholesaler and Prepaid can be populated to the corresponding fields using setvalue(). You can make Payment Method field read-only using setReadOnly().
  • Here is how this Client Script works.

  • Thus using Client Script, you can populate different default values for the same fields located in different page layouts, based on custom conditions.
Note :
Alternatively, you can achieve this using workflow rules. However, if you want instant actions i.e., before updating or saving a record, or if you have exceeded the workflow limit, you can implement this using Client Script.

5. Summary
In this post, we have discussed,
1. Configuring Client Script based on Layout.
2. Choosing the type of Event for a requirement.
3. Using setValue & setReadOnly for the ZDK.Page.getField().

We hope you found this post useful. We will meet you next week with another interesting topic!
If you have any questions let us know in the comment section.

Click here for more details on Client Script in Zoho CRM.

6. Related Links

Please take a look at our Kaizen collection here.

Cheers!


    • Recent Topics

    • Mix and Match Email Plan

      Dear Zoho Sales Team, I hope you’re doing well. I am currently subscribed to Zoho Mail Premium with one account. However, I would like to modify my plan by adding two Mail Lite (10GB) accounts alongside my existing subscription. Could you please confirm
    • Comprehensive guide to add users

      We've received quite a few questions regarding adding users to the Zoho Sprints workspace. So we decided to address it through a comprehensive post covering the locations (modules or tabs) from which you can add your users. Adding users to your workspace
    • How to monitor hybrid projects?

      Hybrid project management sounds great, but, with projects being run on different project management methods, how can we monitor the overall progress and derive insights from them? If you've got this question as well, Zoho Projects Plus’ dashboards have
    • Learning how to customize templates via code and best practices

      Hi! Our developers team want to learn how to edit our template files safely. The last time we messed with these files our site went down for a day and we had to reconfigure it from scratch. What are the best practices to do this? How can we get a template
    • ULAA threat

      My Sentinal One app just killed ULAA as a threat. I reinstalled, killed it again. I opened ZohoOne CRM in Chrome it worked however it was a least 1 if not 2 backsteps from the version I'm using. Is anyone else having this exerience?
    • Seventh Insight - Organize your data using Modules

      The Wheels of Ticketing - Desk Stories Organize your data using Modules What are Modules? Modules in Zoho Desk are powerful organizational tools that facilitate efficient help desk operations. There are eight standard modules, each designed to manage
    • Argument Mapping went missing?

      How can I access the IDs from the mass action button when argument mapping is unavailable or missing?
    • Properly split form fields across report rows?

      Hi all, I’m trying to split file uploads from a form into separate report rows with a shared Title. Example: Form input: Title + File A + File B Desired result: Row 1: Title + File A Row 2: Title + File B Current Logic: In On Created or Edited and On
    • Email Alerts with Affected Flow Details When Deprecating Modules in Zoho Creator

      Dear Zoho Creator Team, We would like to request an enhancement to the module deprecation process in Zoho Creator. 🧩 Current Limitation: Currently, when a module is deprecated by the Creator team: No email notifications are sent. There is no automated
    • Problem importing TSV file: File contains empty string as column header(s).

      I tried importing a TSV file into Books, and got this message: "File contains empty string as column header(s). Please check the content and try again." I've looked at the file I'm trying to import, and the columns all have labels in the first row. Help?
    • How to Integrate Zoho Books with Xero (No Native Connection Available)

      Hi everyone, I’m currently facing an issue with integrating Zoho Books invoices with Xero, as I’ve noticed Zoho does not provide a native integration with Xero at this time. I would like to ask: What are the common or recommended solutions for syncing
    • UPLOAD A CREATED PDF AUTOMATICALLY

      Using the html header pdf+print button, I have managed to find a way to have a user create a pdf using entered form data. Using the schedule button, I can have a "file uploaded" pdf mailed to someone as an attachment. The missing piece is to be able to add the pdf, created in that html page to a file upload field automatically? Right now one has to save it to computer and then upload it in a FILE UPLOAD FIELD. Any help would appreciated !  
    • Short Custom Order

      Hi Everyone, I have question, i create some report use custom short order like below. But this is just show in development mode.... when i publish to production, it is not showing. And this is just showing in full admin mode. Can setting to show roles
    • is there a way to pass whatsapp message to Zoho CRM lead record?

      so I am trying to implement WhatsApp Native Integration to Zoho CRM. What I really need is to pass Whatsapp Number and whatsapp first message to Zoho CRM lead record. yes I can see the Whatsapp Message inside lead detail record like this but as you can
    • How to use CDN with Zoho wesbites.

      I want to use CDN with my zoho- hosted website. I currently have a dot in website. I would seriously like to utilize CDN such as MAX CDN and cloudflare. Its that am not able to change dns with dot in website. Which is a great catch. Today site speed matters a lot both for business or personal sites. I have lot of visitors from different parts of the world and they suggest to make the website more faster. I would be great if I'm able to use dns or may be cdn.
    • Tip of the Week #58– Stay informed by following threads!

      Want to be notified about the activities happening over a specific thread without getting directly involved there? In shared inboxes, not every message requires your immediate response, but that doesn’t mean it’s irrelevant. Without a clear way to keep
    • Zoho CRM 表示が変わった?

      いつからかわからないのですが、本日(6/3)、表示が変わったことに気がつきました。 皆さんの環境でも変わっているのでしょうか? 当方は Zoho CRM Plus で Zoho CRM Everyone 環境です。 ■タブと項目 タブのレイアウト表示名が「標準」から「スタンダード」になっている。 表示だけなので Deluge とか影響はないとは思います。 ■レコード一覧の項目選択の表示 選択すると青色線で囲いが表示されるようになった。 選択しやすくなって使いやすいです。
    • How do we add Google Analytics code to Zoho Bookings scheduling pages or the thank you page?

      We need to track user activity on individual Bookings' pages and/or the thank you pages? How do we do this?
    • please include option for editing attachment name

      Users need the ability to rename an attachment without having to delete the original and then uploading a duplicate just to rename the doc. We need the ability to edit the name of an attachment directly in zoho. dgdlux
    • Lead Created Time Field

      I don't remember doing it but I must have removed the "Created Time" field from my lead module at some point.  Usually it doesn't let you permanently delete fields like this but it is not in my unused fields so it must have been permanently deleted somehow.
    • Notebook Password Recovery?

      I'm a very happy new user of Notebook, but ... my password has fallen from my memory and I am finding no avenue to reset it. How can I reset it to recover access to my notes? Thanks so much, HOC
    • Unable to create a download link for an uploaded Workdrive File

      Hello, I have some custom logic that is working fine to load image files into a Workdrive folder. I'm not having much success however in being able to then set the file as downloadable and retrieving the download link from my custom logic. My code for
    • Data preservation when a Recruiter Admin leaves the organisation and account is deleted

      I can’t find in the documentation on this topic, so asking here. When the Recruiter Admin employee who has done all the hiring work, e.g. publish job postings, updating email notification templates, changing candidate statuses, writing notes, communicating
    • Zoho Sprints mobile app(Android and iOS) v2.0

      Hello everyone! We’re thrilled to announce that Zoho Sprints Mobile app2.0 is now live. With the newest version of the Zoho Sprints mobile app, we hope to provide a fresh, faster, and intuitive experience for managing your sprints on the go! Whether you're
    • Open-source Zoho API package for Python

      Dear Community, Some time ago I have started working on Zoho API to handle data management in more automated manner than before. Then I have found no relevant materials, except of Zoho API documentation, about how to start. Of course I do not mean it
    • Zoho Writer and Zoho Forms - Merge on update of a form

      Once Zoho Form is submitted it requires a check by the adviser / sales person and adding additional infomation to it before it gets send to the customer for the signature. Unfortuantely there is no option to Merge on update, only on submission of the
    • Journal Entries Do Not Show Multiple Entries to the Same Account

      Another basic accounting function that Books ... Accountants sometimes write journal entries, debiting and/or crediting the same account in the same entry. This is due to the need to record specific activity in an account when we pull reports especially
    • Cookies

      Hey Guys, being a EU based company, we're forced to show the cookie banner, providing easy to read information about the cookies we use and giving the choice to select which cookies the accept. I know in Zoho Marketing Hub, SalesIQ and Sites there are
    • Zoho Sign Custom Domain

      Any plans for Custom Domain?
    • Introducing AI-powered agreement management in Zoho Sign

      Hello! From automating repetitive tasks to enabling smarter decision-making, AI has moved from a futuristic concept to a practical tool for modern businesses. One of the most impactful applications of AI is in agreement and contract management. By leveraging
    • My bank is not in Books

      Hello, I tried to configure bank feeds for my bank, but it doesn't appear in the list of supported banks. Does that mean that i cannot configure feeds at all ? Is there any way to add my bank in the list ? Also, as far as I saw, the list has no Belgian bank : Belfius, BNP Paribas Fortis, KBC,... Thanks for you answer Xavier Liégeois Though Happy Zoho user
    • Updating a contact record's multiple select field

      Hi folks, I have a multiple select field (called Mailing Lists) in Zoho CRM which I wish to set to the text "Weekly Email" I have created a step in Zoho Flow using a Create or Update Contact. In the Mailing Lists field, I put the text "Weekly Email"  (including the quotes) but the flow returns an error requesting a jsondatatype.  I have tried {'Weekly Email'} but I still get the same error. Also tried Weekly Email (without the quotes) How do I format an update of a multiple select field  with Zoho
    • CRM module name capitalisation bug ?

      HI, I''m writing a deluge script from Desk to create a task in CRM. All is good when I deal with a lead, but not when a contact is involved. It took me days to figure it out. It might be a bug. Here is a snippet of my script // Ticket Description taskMap.put("What_Id",{"id":ticketContactId});
    • Can I convert Multiline fields from Plain text to Rich Text?

      I have added several custom multiline fields (Plain text) in the Zoho CRM module "Accounts" before the Rich Text (RTF) feature was released in 2024. Now I am looking for a way to convert them to Rich Text format. Is there a way to do this? The problem
    • Webinar Recording: Maximizing Productivity with Bigin's Mobile Apps

      Dear Biginners, Hope you're doing well! As part of our ongoing Masterclass series, we’ve just completed an exciting webinar that explores the capabilities of our mobile apps. Whether it’s managing deals, communicating with customers, or meeting deadlines,
    • Need Help with Zoho CRM Integration

      Hello everyone! 👋 I'm currently in the process of integrating Zoho CRM with an Android gaming website focused on Fire Kirin Game. While everything is progressing smoothly, I'd love to get some expert input to make the integration as efficient and seamless
    • Validating an order by a superior

      Hi, I have a very specific use case for Backstage. Let me know if this is possible or how I could get around this (or if there are no workaround). One of my client uses Backstage to manage internal (on site) events. Participants from different departments
    • Lets Talk Recruit: Key Takeaways from Our India Community Meetups

      Welcome back to Let’s Talk Recruit, the series where we bring you real stories, product insights, and community highlights from the world of recruitment. Our last post covered how you can build approval processes with zero follow-ups using Recruit. In
    • Emails Migration to Zoho

      Hi, I am in the middle of a migration from Salesforce to Zoho one. I am stuck on migratiing emails from Salesforce into Zoho. Does anyone have any suggestions?
    • How to set an automatic BCC recipient

      Hi there, is it possible to set a BCC recipient email address that is automatically showing up in the BCC field when you compile an email for a contact or lead? I want pretty much all emails I sent out of Zoho CRM to have the same BCC email recipient,
    • Next Page