Recently for a client I was given the requirement that they needed to update a custom field on activity records whether it was a completed record or not. The problem when a record is completed, it is in read only status and users can't update the record easily, with minimal clicks. To solve this business requirement, I wrote two JavaScript libraries.
1) UnlockFieldsOnLoad - This is the function you should list any field that you want to unlock if the record is in complete (read only status). This function should run on load of the form and will unlock the fields so they can be updated.
2) OnChangeUnlockedFields - This function is what will do the save when the field(s) are updated. What it does it check to see if the record is in a read only status. If if it is, it will make the record active again. After it makes the record activate again, it will write the change to the database, change the status back to the original status and save that change.
function UnlockFieldsOnLoad(executionContext)
{
var formContext = executionContext.getFormContext();
formContext.getControl("fieldname").setDisabled(false);
}
//Saves field value if form is read only.
function OnChangeUnlockedFields(executionContext)
{
var formContext = executionContext.getFormContext();
var stateCodeValue = formContext.getAttribute("statecode").getValue()
//We only want this JS to run if the record is in read only mode. 1=Completed, 2=Canceled
if(stateCodeValue === 1 || stateCodeValue === 2)
{
//Reactivate the record
formContext.getAttribute("statecode").setValue(0);
formContext.data.save(6).then(function ()
{
//Complete Record again
formContext.getAttribute("statecode").setValue(stateCodeValue);
formContext.data.save();
});
}
}
Harrah's Cherokee Casino - Mapyro
ReplyDeleteFind the best 삼척 출장안마 Harrah's 충청남도 출장마사지 Cherokee Casino Hotels 안성 출장안마 and Casinos in Cherokee, NC. MapYRO users can now compare rates and 전라남도 출장샵 choose the best hotels 세종특별자치 출장마사지 and
I am thankful to this blog giving unique and helpful knowledge about this topic.
ReplyDeleteDP-060T00: Migrate NoSQL workloads to Azure Cosmos DB
This article contains a great deal of significant data. I'm stunned by the nature of the data and furthermore it is a helpful article for us, Thanks for share it.dynamics crm configuration service provider USA
ReplyDeleteHey very nice blog. Thanks for sharing. Keep posting. WS-012T00: Windows Server 2019 Hybrid and Azure IaaS
ReplyDelete