Contenido
1. Contexto
2. Requisito
3. Solución
A. Cálculo de fórmula y completado automático
B. Corrección de datos para el nombre
C. Corrección de datos para el apellido
4. ¿Cómo manejar varios requisitos en la misma página?
1. Contexto
ABC es una compañía de seguros líder en India. La empresa utiliza Zoho CRM para administrar sus relaciones con los clientes y todos los detalles de sus clientes se guardan en Zoho CRM. El agente de seguros guarda detalles sobre los titulares de pólizas en su cuenta de CRM. Para agregar validaciones de datos, agregar mensajes de error personalizados, realizar cálculos complejos y realizar la corrección de datos, la compañía ha creado una lista de requisitos.
2. Requisito
La información del titular de la póliza se guarda en un módulo personalizado llamado Titular de la póliza. Los campos personalizados de este módulo son Fecha de nacimiento, Edad, Categoría, Nombre y Apellido.
- Cuando se ingresa la Fecha de nacimiento del titular de la póliza, completar automáticamente el campo Edad.
- Si la edad calculada es superior a 60, completar automáticamente el campo Categoría como Ciudadano mayor, de lo contrario, completar como Ciudadano.
- Si la edad calculada es superior a 80, se mostrará el mensaje de error “El titular de la póliza no debe tener más de 80 años”.
- El nombre y el apellido que ingresó deben estar en mayúsculas, independientemente de cómo se escribieron al ingresar los detalles.
3. Solución
A continuación, se muestran los factores que definen las configuraciones para un script de cliente.
- El módulo para el que se debe ejecutar el script de cliente.
- La página donde se debe ejecutar el script de cliente.
- Los eventos que activan el script de cliente.
- Las acciones que debería realizar el script de cliente.
En este caso, el módulo es Titular de la póliza, todos estos requisitos se basan en eventos de campo y los scripts se deben ejecutar en la página Crear. Los primeros tres requisitos se basan en el campo Fecha de nacimiento y el último se basa en Nombre y Apellido. Podemos manejar estos requisitos mediante los siguientes scripts de cliente.
A. Cálculo de fórmula y completado automático
Este script es para calcular y completar el campo Edad en función del valor ingresado en el campo Fecha de nacimiento, completar el campo Categoría en función de la edad calculada y para mostrar el mensaje de error personalizado cuando la edad es superior a 80. Cree un nuevo script especificando los siguientes valores para nombre, descripción, evento, página y módulo. Consulte Creación de un script de cliente para obtener más información.
Script:
function getAge(dateString)
{
var today = new Date();
var birthDate = new Date(dateString);
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate()))
{
age--;
}
return age;
}
let age = getAge(value);
var age_field = ZDK.Page.getField("Age");
var category_field = ZDK.Page.getField("Category");
log(age);
age_field.setValue(age);
if (age > 80) {
age_field.showError("The policyholder age is more than 80");
} else if (age > 60) {
category_field.setValue("Senior Citizen");
} else {
category_field.setValue("Citizen");
}
Así es como funciona el script de cliente.

2. Corrección de datos para el nombre
Este script es para convertir el valor ingresado en el campo Nombre a mayúsculas. Cree un nuevo script especificando los siguientes valores para nombre, descripción, evento, página y módulo. Consulte Creación de un script de cliente para obtener más información.

Script:
var first_name = ZDK.Page.getField("Name");
first_name.setValue(value.toUpperCase());
Así es como funciona el script de cliente.

3. Corrección de datos para el apellido
Este script es para convertir el valor ingresado en el campo Apellido a mayúsculas. Cree un nuevo script especificando los siguientes valores para nombre, descripción, evento, página y módulo. Consulte Creación de un script de cliente para obtener más información.
Script:
var last_name = ZDK.Page.getField("Last_Name");
last_name.setValue(value.toUpperCase());
Así es como funciona el script de cliente.

4. ¿Cómo manejar varios requisitos en la misma página?
Como todos los requisitos están en la misma página (página Crear, en este caso), en lugar de crear tres scripts de cliente diferentes con eventos de campo, puede crear un solo script de cliente con evento de página onChange. Si se trata de un evento de página onChange, el script se ejecutará cada vez que se produzca un cambio en esta página. Si se trata de un evento de campo onChange, el script se ejecutará solo cuando se actualice ese campo específico.
Script:
//To calculate Age and populate Age and Category if(field_name == "Date_of_Birth") {
function getAge(dateString) {
var today = new Date();
var birthDate = new Date(dateString);
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if(m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) { age--; }
return age; } var age_field = ZDK.Page.getField("Age");
var field_dob = ZDK.Page.getField("Date_of_Birth");
let age = getAge(field_dob.getValue()); age_field.setValue(age);
var category_field = ZDK.Page.getField("Category"); if(age > 80) {
age_field.showError("The policyholder should not be aged more than 80"); } else if(age > 60) { category_field.setValue("Senior Citizen"); } else { category_field.setValue("Citizen"); } }
//To convert first name to upper case else if(field_name == "Name") {
var first_name = ZDK.Page.getField("Name"); first_name.setValue(first_name.getValue().toUpperCase()); }
//To convert last name to upper case else if(field_name == "Last_Name") {
var last_name = ZDK.Page.getField("Last_Name"); last_name.setValue(last_name.getValue().toUpperCase()); }