Approving field on sysapproval_approver showing sys_id

Cupcake
Mega Guru

We just upgraded to Jakarta a few weeks ago and we just discovered the Approving field from the systapproval_approver table is showing the sys_id instead of the value.

I've read the current articles out here regarding the same issue and the workaround is to uncheck the Read Only field on the dictonary.

So in my situation, I've gone to the table to see if the dictionary entry was Read-only and it is not. So why is is still showing the sys_id.

find_real_file.png

I found a UI Policy that is scripted and I am wondering if this is what is blocking it. Can someone review the code below?

I have not found anything else that would force the sys_id.

function onCondition() {

          var docField = g_form.getControl('document_id');

          var sysField = g_form.getControl('sysapproval');    

          var docValue = g_form.getValue('document_id');

          if (!docField && !sysField) {

                  alert('There must be a reference field on the form to associate approval with and item. Use Personalize Form Layout and select the Approving field');

                  return;  

          }

          // the legacy field is the sysapproval field, going forward using document_id

          // for legacy users, if the document_id field does not exist, still allow

          // the sysapproval field to prevail

          if (!docField && sysField) {

                  g_form.setVisible('sysapproval', true);

                  return;  

          }

          // if there is a docField with a value then assume that

          // this is a current record and hide the sysapproval field

          if (docField &&   g_form.getValue('document_id').length > 0) {

                  g_form.setVisible('sysapproval', false);

                  return;  

          }

***** I am thinking this may be causing the issues ******

        // knowing from test above that there is no doc field with a value

          // check to see if there is a sysapproval with a value. If so, assume this

          // is potentially a legacy record and allow sysapproval to prevail

          if (sysField && g_form.getValue('sysapproval').length > 0) {

                  g_form.setVisible('sysapproval', true);

                  g_form.setVisible('document_id', false);

                  return;  

          }

          // if not a sysapproval with value and not a document_id with data, then assume that this

          // is a new record, with an empty doc field and empty sysapproval field, and force

          // the docField

            g_form.setVisible('sysapproval', false);

            g_form.setVisible('document_id', true);

}

14 REPLIES 14

No it is not.



Thanks,


Karen


Can you check if the "Number" column on your table to which the approval field is attached has "Display" as true? If its not, please check that box.




find_real_file.png



Thanks,


Kannan


Good day Kannan,


        That didn't work. The only thing that worked for us was to deactivate the ACL for the document_id.



Thanks,


Karen


berryr2
Tera Contributor

Similar issue here after the upgrade.
 


The ACL named "sysapproval_approver.document_id" was causing this behavior.


After we have set this ACL to 'False', the Approving name was changed from the 'sys_ID' back to the table name.



With best regards,


Berry




- Please hit the like button if this comment was helpful to you.


Good day Berry,


        Thank you for replying I did figure that out about 6 days ago. That was in one of the earlier conversations that I had with Cameron. I still opened a HI ticket so that it is in front of their support team.



Your feedback is most helpful.



Regards,


Karen