- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2024 03:51 AM
@Rupanjani can you help here
Thanks advance
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-11-2024 10:50 AM
Hi @pk2184046
Try above code can clear all the values if one is matched.
You need to write onChange client script on every field
onChange Client script when line manager is set/changed
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var lm=g_form.getValue('line_manager');
var dm=g_form.getValue('director_approval');
var gm=g_form.getValue('general_approval');
if(dm != '' && gm != ''){
if(lm == dm){
g_form.clearValue('line_manager');
g_form.showFieldMsg('line_manager', 'Line Manager and Director approver can not be same', 'error');
} else if (lm == gm) {
g_form.clearValue('line_manager');
g_form.showFieldMsg('line_manager', 'Line Manager and General approver can not be same', 'error');
}
}
}
onChange client script when Director approver is set/changed
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var lm=g_form.getValue('line_manager');
var dm=g_form.getValue('director_approval');
var gm=g_form.getValue('general_approval');
if(lm != '' && gm != ''){
if(dm == lm){
g_form.clearValue('director_approval');
g_form.showFieldMsg('director_approval', 'Director approver and Line Manager can not be same', 'error');
} else if (dm == gm) {
g_form.clearValue('director_approval');
g_form.showFieldMsg('director_approval', 'Director approver and General approver can not be same', 'error');
}
}
}
onChange client script when general approver is set/changed.
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var lm=g_form.getValue('line_manager');
var dm=g_form.getValue('director_approval');
var gm=g_form.getValue('general_approval');
if(lm != '' && dm != ''){
if(gm == lm){
g_form.clearValue('general_approval');
g_form.showFieldMsg('general_approval', 'General Approver and Line Manager can not be same', 'error');
} else if (gm == dm) {
g_form.clearValue('general_approval');
g_form.showFieldMsg('general_approval', 'General Approver and Director approver can not be same', 'error');
}
}
}
Modify the error messages as required.
Mark the response correct and helpful if the answer assisted your question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2024 04:13 AM - edited 07-09-2024 04:13 AM
Hi @pk2184046,
You can check with g_form.getValue() instead of getReference().
For reference fields, getValue will be returned as the sys_id.
Try below script and check.
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var lm=g_form.getValue('line_manager');
var dm=g_form.getValue('director_approval');
var gm=g_form.getValue('general_approval');
if(lm == dm || lm == gm || dm == gm){
alert("hi");
g_form.addErrorMessage('Line Manager, Director Approval and General Approval needs to be different.)
g_form.clearValue('line_manager');
g_form.clearValue('director_approval');
g_form.clearValue('general_approvals');
}
}
Mark the response correct and helpful if the answer assisted your question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-11-2024 10:50 AM
Hi @pk2184046
Try above code can clear all the values if one is matched.
You need to write onChange client script on every field
onChange Client script when line manager is set/changed
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var lm=g_form.getValue('line_manager');
var dm=g_form.getValue('director_approval');
var gm=g_form.getValue('general_approval');
if(dm != '' && gm != ''){
if(lm == dm){
g_form.clearValue('line_manager');
g_form.showFieldMsg('line_manager', 'Line Manager and Director approver can not be same', 'error');
} else if (lm == gm) {
g_form.clearValue('line_manager');
g_form.showFieldMsg('line_manager', 'Line Manager and General approver can not be same', 'error');
}
}
}
onChange client script when Director approver is set/changed
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var lm=g_form.getValue('line_manager');
var dm=g_form.getValue('director_approval');
var gm=g_form.getValue('general_approval');
if(lm != '' && gm != ''){
if(dm == lm){
g_form.clearValue('director_approval');
g_form.showFieldMsg('director_approval', 'Director approver and Line Manager can not be same', 'error');
} else if (dm == gm) {
g_form.clearValue('director_approval');
g_form.showFieldMsg('director_approval', 'Director approver and General approver can not be same', 'error');
}
}
}
onChange client script when general approver is set/changed.
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var lm=g_form.getValue('line_manager');
var dm=g_form.getValue('director_approval');
var gm=g_form.getValue('general_approval');
if(lm != '' && dm != ''){
if(gm == lm){
g_form.clearValue('general_approval');
g_form.showFieldMsg('general_approval', 'General Approver and Line Manager can not be same', 'error');
} else if (gm == dm) {
g_form.clearValue('general_approval');
g_form.showFieldMsg('general_approval', 'General Approver and Director approver can not be same', 'error');
}
}
}
Modify the error messages as required.
Mark the response correct and helpful if the answer assisted your question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-14-2024 11:30 PM
Hi Rupa,
Thank you for the response.
Small modifications to the script it worked.
Thanks again