Artikelstammdaten per Rechtsklick kopieren
jsalzmann
Hallo,
da ich diese Art von Programmierung (Scripte in VSCODE schreiben) nicht beherrsche, benötige ich bitte Hilfe, um
einen Function Button im Artikelstamm anzulegen, der mir ausgewählte Felder in die Zwischenablage kopiert, die
wir dann wiederum in Excel oder Word einfügen können.
Für den GP-Stamm gibt es bereits eine mitgelieferte Vorlage, aber da nützt es mir auch nichts, diese zu kopieren....
Hat da jemand schon eine Vorlage für? Mit dem mitgelieferten Template von Coresuite kann ich nichts anfangen, da
ich nur wenig davon verstehen.
Was ich später selbst umsatzen kann, ist die Felder auszuwählen, welche kopiert werden sollen.
Für Hilfe wäre ich sehr dankbar.
Grüße
M. Kollin
M.Zurbrüggen
Im Grunde genommen ist es ganz einfach. Als vorlage kann die Regel kopiere GP-Daten in die Zwischenablage genommen werden.
Diese muss letztlich nur marginal angepasst werden. Darüber hinaus muss der Formtyp im Auslöser angepasst werden.
System.Windows.Forms.IDataObject iData = null;
Exception threadEx = null;
System.Threading.Thread staThread = new System.Threading.Thread(
delegate()
{
try
{
// Ansprechen des Artikelobjektes
SAPbobsCOM.Company oCompany = SwissAddonFramework.B1Connector.GetB1Connector().Company;
SAPbobsCOM.Items oItems = (SAPbobsCOM.Items) oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oItems);
//Ansprechen des ItemCodes
string ItemCode = TextEdit.GetFromUID(pVal.Form, "5").Value;
//Kopieren der gewünschten Info´s
oItems.GetByKey(ItemCode);
string line = oItems.ItemCode + " ";
line += oItems.ItemName + " ";
line += "Itemgroup: " + oItems.ItemsGroupCode + " ";
//Diese Liste könnte beliebig weitergeführt werden, je nachdem, welche Infos gewünscht sind.
System.Windows.Forms.Clipboard.SetText(line);
}
catch (System.Exception exe)
{
MessageBox.Show("Error in customize Rule 'F0012_BUP_CopyBPDataToClipboard': " + exe.Message, "OK");
SwissAddonFramework.Messaging.Debug.WriteMessage("Error in customize Rule 'F0012_BUP_CopyBPDataToClipboard': " + exe.Message, SwissAddonFramework.Messaging.Debug.DebugLevel.Exception);
}
});
staThread.SetApartmentState(System.Threading.ApartmentState.STA);
staThread.Start();
staThread.Join();
Please sign in to leave a comment.
Comments
0 comments