Skip to Content
0
May 31, 2018 at 02:51 PM

ChooseFromList Pecker in Matrix of SAP B1 form

94 Views Last edit Jun 12, 2018 at 05:20 AM 2 rev

Hello, I need an example how to use Pecker in Matrix of SAP B1 form.

When I try to put data from ChooseFromListForm to matrix cell, I got an exaptionL: System.Runtime.InteropServices.COMException: 'Form - Bad Value'.

I understand why does it happened - after I chosed a value from ChooseFromListForm it closed, but opens again without data rows. But how to overcome this trouble I dont understand.

public void SBO_Application_ItemEvent(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)

{

BubbleEvent = true; //try //{ if (pVal.FormUID == configuration.FormUniqueID)

{

if (pVal.EventType == SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST)

{

var oCFLEvento = (SAPbouiCOM.IChooseFromListEvent)pVal;

string sCFL_ID = null;

sCFL_ID = oCFLEvento.ChooseFromListUID;

SAPbouiCOM.ChooseFromList oCFL = null;

oCFL = form.ChooseFromLists.Item(sCFL_ID);

if (oCFLEvento.BeforeAction == false) {

SAPbouiCOM.DataTable oDataTable = null;

oDataTable = oCFLEvento.SelectedObjects;

string val = null;

try { val = System.Convert.ToString(oDataTable.GetValue(0, 0)); }

if ((pVal.ColUID == "Project")) {

var matrix = (SAPbouiCOM.Matrix)(form.Items.Item(pVal.ItemUID).Specific);

var ddd2 = ((SAPbouiCOM.EditText)matrix.Columns.Item(pVal.ColUID).Cells.Item(pVal.Row).Specific);

ddd2.String = val;

} } } }