Forum Discussion
Hi! I have tried this code but it seems it also restricts the user from running "standard" consolidate and also calculate and translate. How can I modify the code so it only restricts "Force Consolidate"?
the following will tell you if it's force consolidate:
Dim isForced As Boolean = args.inputs(2)
Then add to your nested code as required:
If( isForced )
.....
Else
.....
End If
- StigThronaes31 days agoNew Contributor
Thanks! It worked. However, it created another problem. I am no longer able to open the Task Scheduler (Business rule error). Is this a known issue? Once I deleted the wcfEventHandler business rule the Task Scheduler worked as normal again.
- Oscar31 days agoContributor
I simplified the business rule
Namespace OneStream.BusinessRule.WcfEventHandler.WcfEventHandler Public Class MainClass Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As WcfEventHandlerArgs) As Object Try Dim returnValue As Object = args.DefaultReturnValue args.UseReturnValueFromBusinessRule = False args.Cancel = False If ( args.IsBeforeEvent And ScenarioDimHelper.GetNameFromID(si, si.WorkflowClusterPk.ScenarioKey) = "Actual" And (args.OperationName = "Calculate" Or args.OperationName = "StartConsolidation") ) Then Dim isForced As Boolean = args.inputs(2) If( isForced ) Throw New XFException(si, New Exception("Force Cosolidation Not Allowed.")) Else Return returnValue End If End If Return returnValue Catch ex As Exception Throw ErrorHandler.LogWrite(si, New XFException(si, ex)) End Try End Function End Class End Namespace- StigThronaes21 days agoNew Contributor
That worked! Thanks! I of course had to add the section below before row 17 to also apply this logic on a specific security group.
If ( Not brapi.Security.Authorization.IsUserInGroup(si,"ForceConsolidate")) Thenargs.Cancel = True
Related Content
- 2 years ago