Fields will be Auto filled without saving the record and without refreshing the page
Hi,
I have created a business process for auto-filling field values. But, the fields will be auto-populated after saving the record and refreshing the page. But, I need it to be done without saving the record and refreshing the page. Here, I am attaching the business process and desired results screenshots. Please have a look and provide your valuable assistance as soon as possible.
Requirement:
After choosing the Existing contact using the Applicant Name lookup, the below fields will be auto-filled with the corresponding values without saving the record and refreshing the page. In my case, Applicant Name is the lookup field which is referencing the Contacts.
I know it is possible through JS Scripts and the onChange method. But, the fields belong to the Contacts section. How can I get the values from the Contacts section? Please provide your assistance. I was unable to get the values from the Contacts section. These are two different sections. The applications section is the custom section. Whenever the user selects the existing contact, some of his/her details will be auto-populated from the Contacts section. Please provide your valuable suggestions.
Like
Olga Avis,
I have attached the screenshot below here. Please have a look and provide your valuable assistance.
There's really two main ways this is accomplished, both options do require programming.
Option 1: Write code on the page that responds to a change of the checkbox property, then sets the values using this.set("Columnname", "Value") accordingly. I have an article on wiring up a change in the page code here: https://customerfx.com/article/triggering-an-event-when-a-field-is-chan…
Option 2: This route might work better since you already have the process in place. For this option, you'll add a script task in the process as a last step that will send a message to the page. The page will listen for this message and then refresh using this.reloadEntity(). I have an article on how to do this here: https://customerfx.com/article/how-to-refresh-a-page-from-a-process-in-…
Hope this helps,
Ryan
Ryan, thank you for the answer.
You're right, but there's lack of the "destroy" function in it:
define("DealBasePage", ["DCMUtilities", "UsrWaterfallConstants", "BusinessRuleModule", "css!DealPageCSS"],
function(DCMUtilities, UsrWaterfallConstants, BusinessRuleModule) {
return {
entitySchemaName: "Deal",
methods: {
init: function() {
this.callParent(arguments);
this.Terrasoft.ServerChannel.on(Terrasoft.EventName.ON_MESSAGE, this.onStatusMessageReceived, this);
},
destroy: function() {
this.Terrasoft.ServerChannel.un(Terrasoft.EventName.ON_MESSAGE, this.onStatusMessageReceived, this);
this.callParent(arguments);
},
onStatusMessageReceived: function(sender, message) {
if (message && message.Header && message.Header.Sender === "DealStatusSender") {
var result = this.Ext.decode(message.Body);
if (this.get("Id") === result.RecordId) {
this.loadLookupDisplayValue("DealRank", result.StatusId);
}
}
}
}
};
});
Thank you!
Bohdan Zdor,
Thanks I updated the article to include the unregister.