Forum Discussion

RC's avatar
RC
New Contributor
2 years ago

When selecting multiple items in the list box only the first one is being passed to the Finance Rule

  • The display of the parameter shows 2 Accounts selected but when retrieving the parameter in the business rule only the first one is passed.
  • If I display the list box selections on the dashboard it shows the correct selections, comma separated.
  • If a comma is in the string that is passed to the Business rule, only the information before the comma is recognized. If there is no comma, the whole string is recognized.

 

 

 

 

 

Label:

Copy  '|!Prm_SourceScenario_QMC!|'  To '|!Prm_TargetScenario_QMC!| ' For  A# '|!Prm_SourceAccount_QMC!|' , T#'|!Prm_SourceTime_QMC!|' , V#'|!Prm_SourceView_QMC!|' , F#'|!Prm_SourceFlow_QMC!|'

 

Button:

{CopyQuorumToForecast_QMC}{Prm_SourceScenario_QMC=[|!Prm_SourceScenario_QMC!|], Prm_TargetScenario_QMC=[|!Prm_TargetScenario_QMC!|], Prm_SourceAccount_QMC=[|!Prm_SourceAccount_QMC!|], Prm_SourceTime_QMC=[|!Prm_SourceTime_QMC!|], Prm_SourceView_QMC=[|!Prm_SourceView_QMC!|], Prm_SourceFlow_QMC=[|!Prm_SourceFlow_QMC!|]}

 

 

 

 

 

  • As long as you have [] around the parameter it should pass the entire comma separated string to the rule. I have never had an issue. Only when you don't have [] around the parameter does it pass only the first value. Looks like you do have the brackets appropriately in the button, though.

    Can you screenshot the button?

  • JackLacava's avatar
    JackLacava
    Honored Contributor

    Works fine here (7.4).

     

    If args.CustomCalculateArgs.FunctionName.XFEqualsIgnoreCase("rounder") Then
    	api.LogMessage("fired")
    	Dim sb As New StringBuilder()
    	For Each kp As KeyValuePair(Of String, String) In args.CustomCalculateArgs.NameValuePairs
    		
    		sb.Append($"{kp.Key} {kp.Value}")
    	Next
    	api.LogMessage(sb.ToString)

     

    The value contains all items, separated by comma and space.

    For extra-safety with commas, you can try surrounding the parameter with double-quotes (which you'll then have to strip).

    • EricOsmanski's avatar
      EricOsmanski
      Valued Contributor

      As long as you have [] around the parameter it should pass the entire comma separated string to the rule. I have never had an issue. Only when you don't have [] around the parameter does it pass only the first value. Looks like you do have the brackets appropriately in the button, though.

      Can you screenshot the button?

      • RC's avatar
        RC
        New Contributor

        button:btn_ExecuteActualsCopy_QMC

        Changes to Defaults:

        Description: Execute Copy of Actuals

        Text: Execute Copy

        Display Format: BackgroundColor = XFDarkBlueBackground, Bold = True, BorderThickness = 1, FontSize = 14, Height = 30, HorizontalAlignment = Center, TextColor = White, VerticalAlignment = Center, Width = 200

        Button Type: Standard

        Selection Changed Server Task: Execute Data Management Sequence

        Selection Changed server Task Arguments: {Corp_Model_Utility_Copy_Actual}{CurCube=Planning,CurEntity=EQT_Import,CurParent=,CurConsol=USD,Prm_TargetScenario_QMC=[|!Prm_TargetScenario_QMC!|],Prm_SourceTime_QMC=[|!Prm_SourceTime_QMC!|],CurClear=False,Prm_SourceScenario_QMC=[|!Prm_SourceScenario_QMC!|],Prm_SourceAccount_QMC=|!Prm_SourceAccount_QMC!|,Prm_SourceView_QMC=|!Prm_SourceView_QMC!|,Prm_SourceFlow_QMC=|!Prm_SourceFlow_QMC!|}