Fehler in der Syntax C#
Daniel 25
Hallo ich habe ein Grid gebaut aber leider kommt immer folgende Fehlermeldung!"Unexpected error happend while trying to display the values of the query!
Das COM-Objekt des Typs "System._ComObjekct" kann nicht in den Schnittstellentyp "SAPBouiCOM.EDITText" umgewandelt werden. Dieser Vorgang konnte nicht..............."
Hier mal der Code!
......
string BaseCard= TextEdit.GetFromUID(pVal.Form, "3").Value.ToString();
......
string query = "SELECT ItemCode AS Artikelnr FROM INV1 where BaseCard = '" + BaseCard+ "'";
.......
hab ich was falsch gemacht?
Manuel Marhold
Hi Daniel,dein Problem ist nicht die Abfrage, sondern dass du versucht ein ComObjekt (wohl ein Item einer Form von SAP) in ein SAPBouiCOM.EDITText zu wandeln, aber dieses ComObjekt kein SAPBouiCOM.EDITText ist, sondern z.B. ein SAPBouiCOM.ComboBox
Daniel 25
Das heißt?string wert = Matrix.GetFromUID(pVal.Form, "id").
GetValue("SpaltenID", zeilennummer);
umwandeln? oder wie genau kann man das verstehen?
mfg
Daniel
Manuel Marhold
Hi Daniel,das sieht schon gut aus, aber poste mal lieber den kompletten code
Daniel 25
try{
();
string BaseCard = Matrix.GetFromUID(pVal.Form, "7").GetValue("BaseCard", 2);
// GRID, WILL CONTAIN THE VALUES TO DISPLAY
Grid grid = Grid.CreateNew("COR_GR1");
grid.Width = 380; grid.Height = 260; grid.Top = 5; grid.Left = 5;
// SAP FORM, WILL CONTAIN THE GRID
Form form = Form.CreateNewForm("COR_CUS_SHOW1", "COR_CUS_SHOW1" + customize.
Utils.UniqueStringGenerator.Next());
form.Height = 300; form.Width = 400; form.Top = pVal.Form.Top; form.Left =
pVal.Form.Left;
form.Value = "Gekaufte Artikel";
// ADD GRID TO THE FORM
form.AddItem(grid);
// LOAD FORM
form.Load();
// YOUR QUERY
string query = @"SELECT ItemCode AS Artikelnr, Dscription AS Artikelbeschreibung, Quantity AS Menge, Price AS Preis, Currency AS Preiswährung, LineTotal AS Zeilensumme FROM INV1 where BaseCard = '" + BaseCard+ "'";
//'" + CardCode+ "'";
// ATTACH QUERY TO GRID
grid.ExecuteQuery(query);
}
catch(System.Exception ex)
{
MessageBox.Show("Unexpected error happend while trying to display the values of the query!n" + ex.Message, "OK");
}
Sascha Balke
Hallo Daniel,exportiere einmal bitte deine Rule und lade sie hier hoch.
Daniel 25
hier die Rule!Attachment
[url=http://www.coresystems.ch/wp-content/../wp-content/forum-file-uploads/daniel25/Gekaufte Artikel.cocu]Gekaufte Artikel.cocu[/url]
Sascha Balke
Hallo Daniel,in deiner Rule läuft so einiges aus dem Ruder, denn so kann es nicht funktionieren.
Ich empfehle dir mal einen http://www.coresystems.ch/workshops.html zu besuchen. Danach kommst du sicherlich besser voran. Das Forum kann einen Workshop [u]nicht[/u] ersetzen!
Zudem schaue dir einmal die http://www.coresystems.ch/forum.html?&tx_mmforum_pi1[action]=list_topic&tx_mmforum_pi1[fid]=38 und riskiere einen Blick in das Handbuch. Die http://www.coresystems.ch/520.html?&L=0 ist ebenso ein sehr nützliches Werkzeug.
Aber nun zu deinem "Problem".
try
{
// GRID, WILL CONTAIN THE VALUES TO DISPLAY
SwissAddonFramework.UI.Components.Grid grid = SwissAddonFramework.UI.Components.Grid.CreateNew("EISG_GR1");
grid.Height = 280; grid.Width = 620; grid.Top = 10; grid.Left = 10;
// SAP FORM, WILL CONTAIN THE GRID
SwissAddonFramework.UI.Components.Form form = SwissAddonFramework.UI.Components.Form.CreateNewForm("EISG_Forms_SHOW1", "EISG_Forms_SHOW1" + SwissAddonFramework.Utils.UniqueStringGenerator.Next());
form.Height = 380; form.Width = 650; form.Top = 200; form.Left = 300;
form.Value = "Gekaufte Artikel";
SwissAddonFramework.UI.Components.Button buttonOK = SwissAddonFramework.UI.Components.Button.CreateNew("1");
buttonOK.Value = "OK";
buttonOK.SetPosition(grid.Left, grid.Top + grid.Height + 20);
form.AddItem(buttonOK);
string CardCode = TextEdit.GetFromUID(pVal.Form, "5").Value.ToString();
// ADD GRID TO THE FORM
form.AddItem(grid);
// LOAD FORM
form.Load();
// YOUR QUERY
string query = "SELECT ItemCode AS Artikelnr, Dscription AS Artikelbeschreibung, Quantity AS Menge, Price AS Einzelpreis, LineTotal AS Gesamtpreis, Currency AS Währung FROM INV1 where BaseCard = '" + CardCode+ "' group by Itemcode, Dscription, Price, Linetotal, Currency, Quantity"; // ATTACH QUERY TO GRID
grid.ExecuteQuery(query);
grid.Columns["Artikelnr"].Editable = false;
grid.Columns["Artikelbeschreibung"].Editable = false;
grid.Columns["Menge"].Editable = false;
grid.Columns["Einzelpreis"].Editable = false;
grid.Columns["Gesamtpreis"].Editable = false;
grid.Columns["Währung"].Editable = false;
}
catch(System.Exception ex)
{
MessageBox.Show("Ein unerwarteter Fehler ist passiert:: " + ex.Message, "OK");
}
Den vorstehenden Code (den alten damit ersetzen) füge in deine Rule ein und es läuft.
In der SQL-Query ist deine Frage aus http://www.coresystems.ch/forum.html?&L=0&tx_mmforum_pi1[action]=list_post&tx_mmforum_pi1[tid]=4516&tx_mmforum_pi1[page]=1#pid16404 berücksichtigt worden. Das heißt du kannst beide Threads schließen.
Zum Thema LinkButtonObjectType, was sicherlich dein nächstes Anliegen sein wird, findest du im Forum zahlreiche sowie weiterführende Informationen.
hth
Daniel 25
Stark! Danke für die Antwort!Nee das Ganze muss ohne Workshop funktionieren! ;)
Ich bin noch in der Anfangsphase aber ich denke ich steigere mich und hoffe
auch mit Hilfe und mit Hilfe einiger Handbücher bzw. einiger Übung fit zu werden!
Mal Danke an euch!
Vielen Dank.
mfg
Daniel
Sascha Balke
Hallo Daniel,deine Aussage, dass es ohne Workshop funktionieren muss lässt einen ... :bang:
In der Anfangsphase wird dir ein Workshop ungemein etwas bringen. Wie ich geschrieben habe, kann und wird dir das Forum einen Workshop nicht ersetzen!
Wir helfen sicherlich alle gern weiter und ein Forum wie dieses hier, lebt von seinen Usern. Es ist jedoch kein Forum, in dem man seine Anforderungen platziert und gleich eine fertige Lösung bekommt.
Den Code, welchen ich dir geschrieben habe, hätte ich ohne Probleme mit einem LinkButton versehen können, nur ein bisschen Arbeit musst du auch noch haben. Mal nebenbei bemerkt, hatten wir das Thema erst kürzlich. ;)
In diesem Sinne ....
0
Please sign in to leave a comment.
Comments
0 comments