2

I'm currently trying to make a field on a task in Maximo Anywhere be required when a another field on the task equals a specific value. Currently, I have an eventHandler firing on click of a check box which would set the value and make the field required. While this works, it is also making the field required on all tasks instead of just the specific task(s) that have the value needed to make it required. Below is the eventHandler used to require the fields:

setResultDiscrepancy: function(eventContext){

            Logger.trace("Set Task Discrepancy");
            var result = "DISCREPANCY";
            var currentTask = this.eventContext.getResource().getCurrentRecord();
            var curValue = currentTask.get("inspdiscrepancy");

            if (curValue == false){
                currentTask.set("inspresult", result);
                currentTask.set("inspaccept", false);
                currentTask.set("inspna", false);

                var curResult = currentTask.get("inspresult")

                currentTask.getRuntimeFieldMetadata('inspcomment').set('required', curResult && curResult == "DISCREPANCY");
                currentTask.getRuntimeFieldMetadata('inspresolution').set('required', curResult && curResult == "DISCREPANCY");

            }
            else{
                currentTask.set("inspresult", null);
                currentTask.getRuntimeFieldMetadata('inspcomment').set('required', !curResult && curResult != "DISCREPANCY"); 
                currentTask.getRuntimeFieldMetadata('inspresolution').set('required', !curResult && curResult != "DISCREPANCY"); 

            }

            var currentTaskOwner = currentTask.getOwner();
            currentTaskOwner.getParent()[currentTaskOwner._relationNameWithParent] = currentTaskOwner;
            var recordSet = currentTaskOwner.getParent().getOwner();
            ModelService.save(recordSet);
            Logger.trace("Task Discrepancy");
        }

Any help would be greatly appreciated!

pbernard
  • 21
  • 1

0 Answers0