CFL im Grid Modal gestalten

Mark Lindemann

Hallo alle zusammen,


 


ich habe das Problem, dass mein CFL (ItemCode) im Grid nicht modal bleibt. Ich habe im Forum zwar ein paar Einträge gefunden, aber die Lösung ist mir noch nicht ganz klar geworden! Kann mir jemand kurz ein paar Tipps geben, wie ich dieses Problem lösen kann, ggf. mit ein paar Code-Schnipseln ;-)?


 


Danke im Voraus


 


Mark


Rafael Stalder

Hallo Mark


 


ich bin mir nicht sicher, ob man eine coresuite DLL modal gestalten kann. Da du ein SAP-Objekt verwendest (Artikel) kannst du grundsätzlich auch die Standard-CFL von SAP verwenden, die ist nämlich standardmässig modal.


Untenstehend siehst du ein Beispiel, wie es bei einer CFL mit Geschäftspartnern funktioniert:


 


// Initialisierung in Form Load Event



// Initialisierung in Form Load Event
SAPbouiCOM.ChooseFromListCollection cflCollection = null;
SAPbouiCOM.ChooseFromList chooseFromList = null;
SAPbouiCOM.ChooseFromListCreationParams cflParams = null;
SAPbouiCOM.Conditions conditions = null;
SAPbouiCOM.Condition condition = null;

cflCollection = SwissAddonFramework.B1Connector.GetB1Connector().Application.Forms.GetForm(e.FormTypeEx, e.FormTypeCount).ChooseFromLists;
cflParams = ((SAPbouiCOM.ChooseFromListCreationParams)(SwissAddonFramework.B1Connector.GetB1Connector().Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)));

// Add choose from list
cflParams.ObjectType = "2";
cflParams.UniqueID = "CFL_BP"
cflParams.MultiSelection = false;
chooseFromList = cflCollection.Add(cflParams);

// Filterung der Auswahlliste (keine Lieferanten)
conditions = chooseFromList.GetConditions();
condition = conditions.Add();
condition.Alias = "CardType";
condition.Operation = BoConditionOperation.co_NOT_EQUAL;
condition.CondVal = "S";
chooseFromList.SetConditions(conditions);

// Anbindung an Textedit
TextEdit.GetFromUID(sapForm, Resources.EDT_EndCustomer).ChooseFromListUID = "CFL_BP"
TextEdit.GetFromUID(sapForm, Resources.EDT_EndCustomer).ChooseFromListAlias = "CardCode";


// Auswählte Werte aus CFL in Textedit schreiben (in ChooseFromList Event)



if (e.EventType == SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST)
{
if (!e.BeforeAction)
{
if (GUI.isDocument(e.FormTypeEx))
{
SAPbouiCOM.IChooseFromListEvent cflEvent = ((SAPbouiCOM.IChooseFromListEvent)(e));

if (cflEvent.SelectedObjects != null && cflEvent.ChooseFromListUID == "CFL_BP")
{
SAPbouiCOM.DataTable dt = cflEvent.SelectedObjects;
Form sapForm = Form.GetFormFromUID(cflEvent.FormUID);

TextEdit.GetFromUID(sapForm, Resources.EDT_EndCustomer).Value = dt.GetValue("CardCode", 0).ToString();
}
}
}
}

Gruss Rafi


0

Comments

0 comments

Please sign in to leave a comment.

Didn't find what you were looking for?

New post