Parameterübergabe an Designer
Monika Lutz
Hallo allerseits,ich habe ein Problem bei der Übergabe eines Parameters an den Layouter.
Ich habe im Layouter einen Kundenstatus erzeugt, der als Parameter den CardCode und das Datum, ab dem der Kundenstatus erstellt werden soll erwartet.
Die Auswertung wird momentan aus dem Menü aufgerufen. Man muß im Prameterdialog den CardCode eingeben und das Datum wird mit dem 1.1.2007. vorbelegt.
Ich möchte nun die Auswertung über einen Function-Button aus dem GP-Formular aufrufen und den CardCode mitgeben.
Der Aufruf funktioniert aber der Parameter kommt nicht an.
Wenn ich versuche den Formtyp oder die UniqueID des aktiven Forms zu ermitteln erhalte ich folgende Fehlereldung:
swissLD: Form-Modal form is currently active [66000-92].
Hat vielleicht jemand eine Idee, was an meinem Code falsch ist?
Danke Monika
string sCardCode = ((SwissAddonFramework.UI.Components.TextEdit)pVal.Form.Items["5"]).Value;
string formType = "SWA_LD_PAR_U0000034"; // Parameter fuer Kundenstatus
string menuId = "SWA_LD_UU0000034"; // Menu-ID fuer Kundenstatud
SwissAddonFramework.UI.EventHandling.ItemEvents.FormLoadEventHandler del = null;
del = delegate (SwissAddonFramework.UI.EventHandling.ItemEvents.FormLoad ev)
{
//SwissAddonFramework.UI.Dialogs.MessageBox.Show(ev.FormTypeEx, "OK");
SwissAddonFramework.UI.Components.Form.RemoveHandler(formType, SwissAddonFramework.UI.Components.ModeComponent.FormModes.ALL, del);
ev.Form.Select();
((SwissAddonFramework.UI.Components.TextEdit)ev.Form.Items["tVal2"]).Value = sCardCode;
};
SwissAddonFramework.UI.Components.Form.AddHandler_Load(formType, SwissAddonFramework.UI.Components.ModeComponent.FormModes.ALL, del);
SwissAddonFramework.UI.Components.MenuItem.GetFromUID(menuId).Activate();
//SwissAddonFramework.UI.Dialogs.MessageBox.ShowSwissAddonFramework.B1Connector.GetB1Connector().Application.Forms.ActiveForm.TypeEx, "OK");
//SwissAddonFramework.UI.Dialogs.MessageBox.Show(SwissAddonFramework.B1Connector.GetB1Connector().Application.Forms.ActiveForm.UniqueID, "OK");
Manuel Grenacher
Hallo MonikaNormalerweise kannst du die Parameter direkt mit dem Layouter auslesen. Du musst einfach unter SWA_LD_Param die ItemId dem Parameter hinterlegen und das Form 134 zuteilen. (Business Partner)
Dann werden die Paramter automatisch aus den Items gelesen.
Aber man kann den Layouter auch per code drucken lassen. (Workflow optimierung)
Hier ein beispiel:
LayoutHelper.LayoutOpener.OpenLayout(LayoutHelper.LayoutOpener.OpenLayoutModes.Print,"134",
"PrintDef", "U0000044","CardCode",sCardCode,
"Date", DateTime.Now);
"134" -> Form
"PrindDef" -> definiert eine Printdef.
"Uxxxxxxx" ist der Code Ihrer Printdefinition (Steht auf der Printdefinition im Form)
"CardCode", Wert
"Date", Wert... sind dann Parameters (immer mit Komma trennen)
Viel Glück
Manuel
Monika Lutz
Danke, der Aufruf im Code funktioniert.
0
Please sign in to leave a comment.
Comments
0 comments