Hallo zusammen,
ich bin gerade dabei ein dynamisches Menü umzusetzen. Habe mich an das Rezeptes 18 gehalten.
Die Erzeugung des Menüeintrages klappt, es wird entsprechend angezeigt. Beim Aufruf kommt dann jedoch ein Fehler.
Hier die Tracelog-Meldung:
System.ArgumentOutOfRangeException: Der Index lag außerhalb des Bereichs. Er darf nicht negativ und kleiner als die Sammlung sein.
Parametername: index
bei System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
bei Sagede.Shared.RealTimeData.Common.Utilities.SeparatedListParser.ParseNameMacroExpressionList(String text)
bei Sagede.Shared.ControlCenter.Controller.PartControls.DataEdit.View.DataEditPartViewModel.DataServiceExecute(Object sender, Function func, NamedParameters parameters, ServiceStackItem childStackItem)
bei Sagede.Shared.ControlCenter.Controller.Shared.Controls.DataFieldMultiEdit.DataFieldMultiEditViewModel.DataServiceExecute(Object sender, Function func, NamedParameters parameters, ServiceStackItem childStackItem)
bei Sagede.Shared.ControlCenter.Controller.Shared.Controls.DataFieldMultiEdit.DataFieldMultiEditViewModel.ExecuteFunction(Object sender, Function func, NamedParameters parameters, Boolean isUserCalled, String& cancelMessage, Exception& returnException)
=> ExecuteFunction in DataFieldMultiEditViewModel.vb(line 3035)
Beim Ausführen der Funktion 'Charge 0041 | 5' ist ein Fehler aufgetreten.
(Name: Charge_0041)
SOURCE: OnShowException at offset 97 in file:line:column <filename unknown>:0:0
Sagede.Shared.RealTimeData.Common.Exceptions.UserFriendlyClientException: Beim Ausführen der Funktion 'Charge 0041 | 5' ist ein Fehler aufgetreten.
(Name: Charge_0041) ---> System.ArgumentOutOfRangeException: Der Index lag außerhalb des Bereichs. Er darf nicht negativ und kleiner als die Sammlung sein.
Parametername: index
bei System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
bei Sagede.Shared.RealTimeData.Common.Utilities.SeparatedListParser.ParseNameMacroExpressionList(String text)
bei Sagede.Shared.ControlCenter.Controller.PartControls.DataEdit.View.DataEditPartViewModel.DataServiceExecute(Object sender, Function func, NamedParameters parameters, ServiceStackItem childStackItem)
bei Sagede.Shared.ControlCenter.Controller.Shared.Controls.DataFieldMultiEdit.DataFieldMultiEditViewModel.DataServiceExecute(Object sender, Function func, NamedParameters parameters, ServiceStackItem childStackItem)
bei Sagede.Shared.ControlCenter.Controller.Shared.Controls.DataFieldMultiEdit.DataFieldMultiEditViewModel.ExecuteFunction(Object sender, Function func, NamedParameters parameters, Boolean isUserCalled, String& cancelMessage, Exception& returnException)
--- Ende der internen Ausnahmestapelüberwachung ---
=> ShowException in DataEditPartViewModel.vb(line 3632)
Hier ist die Definition in C#:
returnParameter = new Function();
returnParameter.Name = "Charge_" + reader.GetString("Charge");
returnParameter.Title = "Charge " + reader.GetString("Charge") + " | " + reader.GetDecimal("Menge").ToString("#,##0");
returnParameter.TitleShort = "Charge " + reader.GetString("Charge") + " | " + reader.GetDecimal("Menge").ToString("#,##0");
returnParameter.Parent = "0";
returnParameter.OrderPosition = 1;
returnParameter.ButtonPosition = 0;
returnParameter.Icon = "";
returnParameter.BeginGroup = false;
returnParameter.IsPrimaryButton = false;
returnParameter.Type = Enumerations.FunctionBehavior.Regular;
returnParameter.UseForRewe = false;
returnParameter.UseForWawi = true;
returnParameter.FunctionCall = new FunctionCall() { Type = Enumerations.FunctionCallType.DataServiceExecute };
returnParameter.DataClassUsage = Enumerations.DataClassUsageEnum.UseAlways;
returnParameter.FunctionCallPackageId = "Lager";
returnParameter.FunctionCallPartnerId = "142188732";
returnParameter.Country = Enumerations.Country.All;
returnParameter.FunctionCallParameter1 = "\"ChargeDirekt\"";
returnParameter.FunctionCallParameter2 = "\"Vollstaendig : Ersetzen\"";
returnParameter.FunctionCallParameter3 = "\"\"";
returnParameter.FunctionCallParameter4 = "\"\"";
returnParameter.FunctionCallParameter5 = "\"\"";
returnParameter.FunctionCallParameter6 = "\"\"";
returnParameters.Functions.Add(returnParameter);
ich gehe davon aus, dass ich ein benötigtes Feld nicht besetzt habe, leider finde ich nicht welches dies sein sollte.
Kann mir jemand einen Hinweis geben?
Gruss Mark
ich bin gerade dabei ein dynamisches Menü umzusetzen. Habe mich an das Rezeptes 18 gehalten.
Die Erzeugung des Menüeintrages klappt, es wird entsprechend angezeigt. Beim Aufruf kommt dann jedoch ein Fehler.
Hier die Tracelog-Meldung:
System.ArgumentOutOfRangeException: Der Index lag außerhalb des Bereichs. Er darf nicht negativ und kleiner als die Sammlung sein.
Parametername: index
bei System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
bei Sagede.Shared.RealTimeData.Common.Utilities.SeparatedListParser.ParseNameMacroExpressionList(String text)
bei Sagede.Shared.ControlCenter.Controller.PartControls.DataEdit.View.DataEditPartViewModel.DataServiceExecute(Object sender, Function func, NamedParameters parameters, ServiceStackItem childStackItem)
bei Sagede.Shared.ControlCenter.Controller.Shared.Controls.DataFieldMultiEdit.DataFieldMultiEditViewModel.DataServiceExecute(Object sender, Function func, NamedParameters parameters, ServiceStackItem childStackItem)
bei Sagede.Shared.ControlCenter.Controller.Shared.Controls.DataFieldMultiEdit.DataFieldMultiEditViewModel.ExecuteFunction(Object sender, Function func, NamedParameters parameters, Boolean isUserCalled, String& cancelMessage, Exception& returnException)
=> ExecuteFunction in DataFieldMultiEditViewModel.vb(line 3035)
Beim Ausführen der Funktion 'Charge 0041 | 5' ist ein Fehler aufgetreten.
(Name: Charge_0041)
SOURCE: OnShowException at offset 97 in file:line:column <filename unknown>:0:0
Sagede.Shared.RealTimeData.Common.Exceptions.UserFriendlyClientException: Beim Ausführen der Funktion 'Charge 0041 | 5' ist ein Fehler aufgetreten.
(Name: Charge_0041) ---> System.ArgumentOutOfRangeException: Der Index lag außerhalb des Bereichs. Er darf nicht negativ und kleiner als die Sammlung sein.
Parametername: index
bei System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
bei Sagede.Shared.RealTimeData.Common.Utilities.SeparatedListParser.ParseNameMacroExpressionList(String text)
bei Sagede.Shared.ControlCenter.Controller.PartControls.DataEdit.View.DataEditPartViewModel.DataServiceExecute(Object sender, Function func, NamedParameters parameters, ServiceStackItem childStackItem)
bei Sagede.Shared.ControlCenter.Controller.Shared.Controls.DataFieldMultiEdit.DataFieldMultiEditViewModel.DataServiceExecute(Object sender, Function func, NamedParameters parameters, ServiceStackItem childStackItem)
bei Sagede.Shared.ControlCenter.Controller.Shared.Controls.DataFieldMultiEdit.DataFieldMultiEditViewModel.ExecuteFunction(Object sender, Function func, NamedParameters parameters, Boolean isUserCalled, String& cancelMessage, Exception& returnException)
--- Ende der internen Ausnahmestapelüberwachung ---
=> ShowException in DataEditPartViewModel.vb(line 3632)
Hier ist die Definition in C#:
returnParameter = new Function();
returnParameter.Name = "Charge_" + reader.GetString("Charge");
returnParameter.Title = "Charge " + reader.GetString("Charge") + " | " + reader.GetDecimal("Menge").ToString("#,##0");
returnParameter.TitleShort = "Charge " + reader.GetString("Charge") + " | " + reader.GetDecimal("Menge").ToString("#,##0");
returnParameter.Parent = "0";
returnParameter.OrderPosition = 1;
returnParameter.ButtonPosition = 0;
returnParameter.Icon = "";
returnParameter.BeginGroup = false;
returnParameter.IsPrimaryButton = false;
returnParameter.Type = Enumerations.FunctionBehavior.Regular;
returnParameter.UseForRewe = false;
returnParameter.UseForWawi = true;
returnParameter.FunctionCall = new FunctionCall() { Type = Enumerations.FunctionCallType.DataServiceExecute };
returnParameter.DataClassUsage = Enumerations.DataClassUsageEnum.UseAlways;
returnParameter.FunctionCallPackageId = "Lager";
returnParameter.FunctionCallPartnerId = "142188732";
returnParameter.Country = Enumerations.Country.All;
returnParameter.FunctionCallParameter1 = "\"ChargeDirekt\"";
returnParameter.FunctionCallParameter2 = "\"Vollstaendig : Ersetzen\"";
returnParameter.FunctionCallParameter3 = "\"\"";
returnParameter.FunctionCallParameter4 = "\"\"";
returnParameter.FunctionCallParameter5 = "\"\"";
returnParameter.FunctionCallParameter6 = "\"\"";
returnParameters.Functions.Add(returnParameter);
ich gehe davon aus, dass ich ein benötigtes Feld nicht besetzt habe, leider finde ich nicht welches dies sein sollte.
Kann mir jemand einen Hinweis geben?
Gruss Mark