Skip to main content

My form has been designed using Responsive (not New Responsive). My form has a total of SIX different groups that will be working on one item, which is divided into different stages. Here's how it works:

 

  • Requestor submits initial information
  • Status changes to 'Pending Approver' and the Approver will then see the info provided by the Requestor and submit additional information.
  • Status changes to 'Pending X,Y,Z' and each team (X, Y, Z) will receive an concurrent email but will be unable to view the other's panels because the panel is controlled by the expression fn-IsMemberOfGroup.
  • Status changes to 'Pending Supervisor'. Once the X,Y, and Z teams have finished their review, the form will then be presented to the Supervisor.

 

The issue is, I can not reliably capture the logged in user's name for the Approver, X, Y, Z, and the Supervisor. When the form changes statuses and views, the control will recalculate the user name and won't accurately capture the name of the user that filled out the information. How can I adjust the formula to make sure the integrity of these fields are correct?

Hi,



What I understand is - you have different users/roles, Approver, Team/User X, Team/User Y, Team/User Z and Supervisor.



I hope you are using Person/Group field to capture the logged in user with "Current User (DisplayName)" or "Current User (Email Address)" or "Current User (Login ID)", and this field calculates automatically and shows the current user.





  1. If not already done - Update your list to have colummns, "Approver", "Team X", "Team Y", "Team Z" and "Supervisor".


  2. Replace Person/Group contols on the form with "Calculated value" control, conect each of these controls to respective list columns.


  3. Use this formula and settings for each control (replace the highlighted list column respect to each control)




  4.  This control gets calcuated only in "Edit" mode of the form, (new mode is not required as the initiator begins with new mode, and view mode is not required as we don't  want to re-calcualte)





  5. You already have a mechanisim to show the panel using fn-IsMemberOfGroup, so, when other user opens the form, that section will not display.  


  6. When the first time X opens the form, column Team X is empty, so it will populated with Team X's name




The only design issue you may see is - All user controls are shown as labels instead of Person/Group controls. Hope this helps. Let me know if any questions.



 



 


@meridianline If the above does not resolve your issue. I would recommend using task forms for all users after the initiator. The task form can still show/update fields on the starting item, or you can have workflow update fields and you will be able to have the workflow control the approval process.


Thank you for the quick reply, @kchaluvadi.



 



There is one potential issue I see with the formula/solution. If Team X, Y, or Z identify something incorrect or wrong with the previously filled information, they have the opportunity to send the form back to the Approver for clarification. Once the Approver makes that correction, they can send it back to Team X, Y, and Z again to be processed.



 



Once the form reaches X, Y, and Z again, there was already information in those calculated values, therefore the field will not be null or empty. I find that the field is blank again. Is there a rule or formula adjustment that could solve this issue?


When the form is sent back to X or Y or Z by the approver, either of X or Y or Z gets changed? If none of them changes, no need to populate again, right?


@kchaluvadi



 



There is a possibility that the member in X, Y, or Z may change from the original X, Y, or Z member that received the request. Let's say there are 3 members on each team-



 



1. Member X-1, Y-3, Z-3 receive the initial request



2. Member Y-3 sends back to the approver



3. Approver sends back with correction



4. Member X-2, Y-3, Z-2 make changes suggested by the Approver


In this case, we can set the respective column value to blank in the workflow. Lets say, the "Approver" sends it to "Team X" in the workflow, use "Update Item" action to set "Team X" to blank (create a text variable with empty string, and use it to set for blank).  When any person from Team X opens the form, the formula finds that "Team X" column is blank, and it updates the person who opens it. Hope this helps.


Reply