We have a list where it sends an approval for 2 teams when a new item is created or modified. If any one of the teams reject the item before being approved by other team
can we disable the approval options from the other team still which did not perform any action.
do you assign the task to the teams with a single task actions? or are they separate task actions?
what task action do you specifically use?
how do you have configured task action's 'behavior'?
hmm, so you assign tasks to L1.1, L1.2 and L1.3 => let's say it's turn1 task.
L1.2 rejects the task, and you want to prevent L1.3 can respond to turn1 task.
then some change is made, and you create/assign new task (=> turn2 task) to L1.2 and L1.3. so L1.3 has to respond to two task now (turn1 & turn2)?
is that really what you want?
shouldn't turn1 task for L1.3 be cancelled so that it need not to respond to outdated document version?
either way, something like this might work for you
- create 3 list fields where you will maintain approval status for each branch/team (eg. L1.1_status, L1.2_status, L1.3_status)
- once the task is responded by a team, write task outcome to the respective status list field (eg. if L1.1 approves set L1.1_status to APPROVED, if L1.2 rejects set L1.2_status to REJECTED)
- place task actions within each branch into a run-if conditional action and configure the condition like L1.1_status<>APPROVED. ie. task in next turn will be created only for teams/branches which didn't approve yet.
- in tasks where you want to check if any of task has been rejected and prevent to respond, edit its task form and configure formating rule for Decision control which disables it in case of any rejected task is found.
to check whether there exist a rejected task, rule's formula might look like (eg. for L1.3 approver to check whether L1.1 or L1.2 rejected)
lookup('YourDocLibrary','ID',Current_Item_ID,'L1.1_status') == 'REJECTED' || lookup('YourDocLibrary','ID',Current_Item_ID,'L1.2_status') == 'REJECTED'