Textdatei erzeugen
Gregor Dadera
Hallo,ich möchte eine Funktion die Textdatei für ein Etikett Drucker erzeugen kann.
Systemdaten: SAP Bussines One 8.8 / Coresuite customize 2.81.12031
Ich habe ein "New Menu" angelegt in dem C#-Code ausgeführt wird.
1)Als erstes soll ein Artikel im Auswahlfenster ausgewählt werden.
Aus diesen Artikel wird ein Datenstring mit Artikelbezeichnung, Artikelnummer... erzeugt.
2)Dieser Datenstring soll dann in eine Textdatei abgespeichert werden.
- Auswahl auslesen
- Wie speichere ich es, mit dem FileSaveDialog komme ich nicht weiter(2)?
Mein bisheriger Quell Code:
SwissAddonFramework.UI.Dialogs.ChooseFromList cfl =new SwissAddonFramework.UI.Dialogs.ChooseFromList(new SwissAddonFramework.UI.Dialogs.ChooseFromList.DefaultSQLQuery("SELECT ItemCode, ItemName FROM OITM "),"ItemCode" ,true);
cfl.Title = "Etiketten-Datei für Logomatic 901 TB";
cfl.ShowInstance(true);
//hier Auswahl übernehmen und Datenstring erzeugen
string Text = "Dies ist ein Datenstring... ";
SwissAddonFramework.Utils.Windows.SaveFileDialog sfd = new SwissAddonFramework.Utils.Windows.SaveFileDialog();
sfd.FileName = "test.txt";
sfd.Filter = "Textdatei (*.txt)|*.txt";
sfd.ShowDialog();
Michael Egloff
Hallo Gregor,'delegate' ist dein Stichwort :-)
da du in einer customize regel keine eigenen Methoden erstellen kannst, musst du delegates verwenden (siehe unten):
SwissAddonFramework.UI.Dialogs.ChooseFromList cfl = new SwissAddonFramework.UI.Dialogs.ChooseFromList(
new SwissAddonFramework.UI.Dialogs.ChooseFromList.DefaultSQLQuery("SELECT ItemCode, ItemName FROM OITM ORDER BY [%ordercolumn] [%order]"),"ItemCode",true, false);
cfl.ChooseFromListEvent += new SwissAddonFramework.UI.Dialogs.ChooseFromList.ChooseFromListHandler(delegate(SwissAddonFramework.UI.Dialogs.ChooseFromListEvent e)
{
string Text = e.Results[0]["ItemName"];
SwissAddonFramework.Utils.Windows.SaveFileDialog sfd = new SwissAddonFramework.Utils.Windows.SaveFileDialog();
sfd.FileName = "test.txt";
sfd.Filter = "Textdatei (*.txt)|*.txt";
sfd.FileSetEvent += new SwissAddonFramework.Utils.Windows.SaveFileDialog.FileSetHandler(delegate(string path)
{
System.IO.StreamWriter sw = System.IO.File.CreateText(path);
sw.WriteLine(Text);
sw.Close();
});
sfd.ShowDialog();
});
cfl.ShowInstance(false);
Gregor Dadera
Hallo Michael,du sagst es DELEGATE :D
Danke für die schnelle Antwort, hat super funktioniert.
0
Please sign in to leave a comment.
Comments
0 comments