6 Replies Latest reply on Mar 1, 2018 7:45 AM by JGotze

    On the Approval Block, "Users In Group field", I would like to point that to another Object. .

    JGotze Apprentice

      I have created a new Object that is a clone of the Contact Group object where I have a few special groups I want to keep separated from the others

        • 1. Re: On the Approval Block, "Users In Group field", I would like to point that to another Object. .
          rosscarins Employee

          Not sure about changing the source of that first option, but what about making a pick list in the Request BO linked to the 'new' Contact group, and then using option two in the Approval block? ("Users from Contact group in Context BO....")

           

          What is the use case for these special groups? Is it possible to create a flag on the original Contact Group object that allows you to constrain pick lists so you can hide certain groups from people?

          • 2. Re: On the Approval Block, "Users In Group field", I would like to point that to another Object. .
            AlasdairRobertson ITSMMVPGroup

            It is not possible to change the source BO for that option.  How about either adding a new type to the Group Type selector on the Contact Group object, alternatively as you have done you can create your own approver lists but then need to use quick actions to add them to the approvals as they are generated (slightly more difficult).

             

            As rosscarins has mentioned why do these need to be kept separate, if it is for security then you can use the object permissions model to control via roles who can edit and update this group or even see the group available in drop down lists.

            • 3. Re: On the Approval Block, "Users In Group field", I would like to point that to another Object. .
              JGotze Apprentice

              Hello, and thank you for your response.  The Use case here is we have one Service Offering that must have three approvers selected. Primary, First and Second Delegate.  These three can and are different most of the time from request to request. They are Officers in the company.  Since the list changes every time the request is submitted, using the Group Approval the way it functional out of the box would not work.  If they use regular approvals one person may approve and it could take the others several days or more so the request could sit there for a long time.  So here is what I have done to this point, 1. Created a “Dynamic Approver” Group  in Contact Group Object. 2. On Service Request; a. Quick Action – Inserts a Journal Note in Service Request stating Contact Group was updated with Approvers and the name of the server involved in the request. b. Quick Action – Updates the three Approvers selected in the Service Offering are set in three hidden fields on Contact Group (login Id’s) 3. On Contact Group; a. Quick Action – Run for Child Search and Unlink – Using the RecID of the Dynamic Approval Group I remove anyone who does NOT match the login ID’s in the three hidden fields. Since there will always only be three, this effectively empties the Group b. Quick Action – Run for Child Search and Link - Using the RecID of the Dynamic Approval Group I add anyone who DOES match the login ID’s in the three hidden fields. This set the three approvers in the group for this Service Request. Now I call the Approval Block with the Dynamic Approver Group Selected.  All the updates and links work, and everything shows up on the Service Request. The Group Approval process works as it should and this scenario allows Group Approvals to be used even if the members change everything and you don’t have to manually go and add and remove them. BUT—this is the issue.  Even though I am segregating the Group to be modified buy it’s RecID, if any one or mor4e of the Approvers also happens to be a member of another Group, they are removed from that group too.  I have tried everything and cannot figure out why this is happening.  This is why I came up with the Idea of separating the “Dynamic Group” from the rest (which I though using the RecID would do) so the other matching group members would not be effected.  If I could (or someone smarter than me  could fix that issue I would be good to go with the current process. Thanks in advance for your help.

              • 4. Re: On the Approval Block, "Users In Group field", I would like to point that to another Object. .
                JGotze Apprentice

                Hello, and thank both of you for your responses.  The Use case here is we have one Service Offering that must have three approvers selected. Primary, First and Second Delegate.  These three can and are different most of the time from request to request. They are Officers in the company.  Since the list changes every time the request is submitted, using the Group Approval the way it functional out of the box would not work.  If they use regular approvals one person may approve and it could take the others several days or more so the request could sit there for a long time.  So here is what I have done to this point, 1. Created a “Dynamic Approver” Group  in Contact Group Object. 2. On Service Request; a. Quick Action – Inserts a Journal Note in Service Request stating Contact Group was updated with Approvers and the name of the server involved in the request. b. Quick Action – Updates the three Approvers selected in the Service Offering are set in three hidden fields on Contact Group (login Id’s) 3. On Contact Group; a. Quick Action – Run for Child Search and Unlink – Using the RecID of the Dynamic Approval Group I remove anyone who does NOT match the login ID’s in the three hidden fields. Since there will always only be three, this effectively empties the Group b. Quick Action – Run for Child Search and Link - Using the RecID of the Dynamic Approval Group I add anyone who DOES match the login ID’s in the three hidden fields. This set the three approvers in the group for this Service Request. Now I call the Approval Block with the Dynamic Approver Group Selected.  All the updates and links work, and everything shows up on the Service Request. The Group Approval process works as it should and this scenario allows Group Approvals to be used even if the members change everything and you don’t have to manually go and add and remove them. BUT—this is the issue.  Even though I am segregating the Group to be modified buy it’s RecID, if any one or mor4e of the Approvers also happens to be a member of another Group, they are removed from that group too.  I have tried everything and cannot figure out why this is happening.  This is why I came up with the Idea of separating the “Dynamic Group” from the rest (which I though using the RecID would do) so the other matching group members would not be effected.  If I could (or someone smarter than me  could fix that issue I would be good to go with the current process. See may attachment for workflow items. Thanks in advance for your help.

                • 5. Re: On the Approval Block, "Users In Group field", I would like to point that to another Object. .
                  SusanJS Specialist

                  This is very interesting as I've been searching for a way to have two Approval Vote Tracking records on one Approval record for each Service Request.  I may give your method a try.  My only concern is, would there be a likelihood of DB collision if multiple requests are trying to do this all at once?  I could be overthinking it.

                  As far as your question about why the system is unlinking an employee from all contact groups, have you tried and "AND" statement in the unlink action?  See screenshot example:

                  SearchAndUnlink.png

                  • 6. Re: On the Approval Block, "Users In Group field", I would like to point that to another Object. .
                    JGotze Apprentice

                    I did get this to work.  I found a relationship that was inadvertently changed from Many to Many to One to Many on Contact Group. So everytime I added a name that was in another group, it was removed.