ChooseFromList in Order Form GRID 38
Andreas Bimberg
Hallo,ich es kann uns jemand helfen, ich habe jetzt doch mal beschlossen das Problem in Deutsch zu beschreiben, fällt mir leichter....
Ich habe mit dem Wizard ein CFL auf ein UDF in den Belegzeilen gelegt, soweit klappt auch alles wenn ich die CFL auf den Eventtyp Formload setze. Nun das Problem:
Sobald ich den Eventtyp auf KeyDown oder Validate des UDF's setze öffnet sich die CFL mehrmals. Das Ziel ist es die Werte der Abfrage auf der das CFL basiert vorzufiltern um nicht zuviele Werte geliefert zu bekommen.
Hat das jemand schon mal umgesetzt oder eine Idee? Muss leider zugeben das ich hier nicht ganz so fit bin was das Programieren angeht.
[CODE]
// Parameters
string itemUID = "38"; string columnID = "U_FARBE";
int currentRow = pVal.Row - 1;
Matrix matrix = Matrix.GetFromUID(pVal.Form, "38");
string farbe = matrix.GetValue("U_FARBE", currentRow);
string query = "SELECT T0.[ItemName], T0.ItemCode FROM OITM T0 WHERE T0.[ItmsGrpCod] ='151' AND T0.ItemName Like ('%%'+'" + farbe + "'+'%%')";
string writeBackColumn = "ItemCode";
// Create CFL and add it to the field
SwissAddonFramework.UI.Dialogs.ChooseFromList cfl =
new SwissAddonFramework.UI.Dialogs.ChooseFromList(
new SwissAddonFramework.UI.Dialogs.ChooseFromList.SQLQuery(query)
, writeBackColumn
, true
, true
, Matrix.GetFromUID(pVal.Form, itemUID), "U_FARBE");
return false;
[/CODE]
Andreas Bimberg
Deleted ... Topic above update // Gelöscht und Beitrag oben angepasst....Andreas Bimberg
Hallo,ich habe den Fehler eingegrenzt, es scheint so als ob es an der Matrix für den zurückzuschreibenden Wert liegt (Markierung). Wenn ich das ganze gegen einen Textedit austausche auf das Feld Bemerkungen zum Beispiel dann wird die Choose from List durch das UDF jedesmal sauber gefiltert und die Auswahl zurück geschrieben, die CFL öffnet sich beim Textedit auch nur ein einziges mal.
Sobald ich jedoch auf die Matrix gehe, wie markiert öffnet sich die CFL wieder mehrmals, das das alles noch Neuland für mich ist tu ich mich da echt schwer den Fehler zu finden..... vielleicht sieht den ja einer....
[CODE]
[size=1] if (pVal.CharPressed == 9) {
try {
Matrix m = Matrix.GetFromUID(pVal.Form, "38");
//(Matrix)pVal.Item;
int iRow = pVal.Row - 1;
//suche alle Kombinatioen <Ort, PLZ>, deren PLZ mit der eingegebenen Zeichenfolge beginnt
String sSQL = "SELECT ItemName, ItemCode FROM OITM where ItmsGrpCod ='151' AND ItemName like \'" + m.GetDisplayValue(pVal.ColUID, iRow) + "%\'";
//MessageBox.Show(sSQL, "OK");
//erzeuge Choose From List zur Auswahl der kombination
SwissAddonFramework.UI.Dialogs.ChooseFromList cfl =
new SwissAddonFramework.UI.Dialogs.ChooseFromList(
new SwissAddonFramework.UI.Dialogs.ChooseFromList.DefaultSQLQuery(sSQL),
"ItemName", true, false, [color=#FF0000][size=3]Ma trix.GetFromUID(pVal.Form, itemUID), "U_FARBE");[/size]
[/color]
// defieniere Event Handler für Choose From List
// zeige ChooseFromList - Duialog
cfl.ShowInstance(true, "");
}
catch(System.Exception exe) {
SwissAddonFramework.Messaging.Debug.WriteMessage("Error in coresuite customize Regel: " + exe.Message, SwissAddonFramework.Messaging.Debug.DebugLevel.Exception);
SwissAddonFramework.Messaging.StatusBar.WriteError("Error in coresuite customize Regel: " + exe.Message);
}
}
return true;[/size]
Andreas Bimberg
Hallo, hat keiner eine Idee?? Ich habe bereits mit unserem SAP Partner gesprochen, der hatte jedoch auch keine Idee und vermutete, dass es eventuell ein Bug sei.Kann uns vielleicht ein Supportler kontaktieren? Vielleicht müssen wir ja nur eine Kleinigkeit anpassen um es korrekt ans laufen zu bringen...
0
Please sign in to leave a comment.
Comments
0 comments