VisualBasic + CSharp
Daniel Kilian
Hallo zusammen,wir wollen ein UDF mit Hilfe des SwissAddOn-Frameworks ändert. Mit VisualBasic haben wir das auch geschafft.
Nun haben wir allerdings ein Layout, bei dem wir CSharp verwenden, ohne Ahnung davon zu haben :-) Das ist einfach notwendig wegen ein paar anderen Optionen.
Hier nun unser Code in VB ohne den ganzen TRY-Teil:
Dim company As SAPbobsCOM.Company
Dim LSlfdNr As SAPbobsCOM.Documents
company = SwissAddonFramework.B1Connector.GetB1Connector().Company
LSlfdNr = company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders)
LSlfdNr.GetByKey(Protokoll["DocEntry"])
LSlfdNr.UserFields.Fields.Item("U_C_FactTrans").Value = "Ja"
int i = LSlfdNr.Update()
if i > 0
{
SwissAddonFramework.UI.Dialogs.MessageBox.Show("Fehler : " & i & " " & company.GetLastErrorDescription(),"Ok")
}
Kann uns jemand helfen, dies in C# umzubauen?
Danke und Gruss
Daniel und Daniel
Manuel Marhold
Hi..erstmal: das ist kein kompletter vb-Code..
die ersten 4 Zeilen sehen noch gut aus, dann kommt Protokoll["DocEntry"], glaube nicht, dass das in vb geht.
Die Zeile danach sieht wieder gut aus.
aber die Deklaration von i ist schon csharp, genauso wie die if-Anweisung
schaut da mal auf der Seite: http://www.developerfusion.com/tools/convert/vb-to-csharp/
{
SAPbobsCOM.Company company = default(SAPbobsCOM.Company);
SAPbobsCOM.Documents LSlfdNr = default(SAPbobsCOM.Documents);
company = SwissAddonFramework.B1Connector.GetB1Connector().Company;
LSlfdNr = company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders);
LSlfdNr.GetByKey(Protokoll("DocEntry"));
LSlfdNr.UserFields.Fields.Item("U_C_FactTrans").Value = "Ja";
@int i = LSlfdNr.Update();
if (i > 0) {
SwissAddonFramework.UI.Dialogs.MessageBox.Show("Fehler : " + i + " " + company.GetLastErrorDescription(), "Ok");
}
}
Daniel Kilian
Hallo Manuel -vielen Dank für die Info! Dani hat es geschafft und mit der angebotenen Hilfe das Skript übersetzen können!
Merci vielmals für die Hilfe, daniel(2)
Comments
Please sign in to leave a comment.