Skip to Content
avatar image
Former Member

Matrix en SAP Business One Studio

Buenas, soy un poco nuevo en SAP y en estos días he estado aprendiendo a utilizar la herramienta de SAP Business One Studio, la cual me parece interesante pero hace unos días estoy trancado en un aspecto y es el de ingresar información de cualquier tabla o Query a un Matrix.

Con el Grid me funciona perfecto pero no hay forma en que me cargue la información en la matrix, ya sea que utilice un Datasource, DataTable o ChooseFromList.

Si alguien pudiera darme una orientacion de como realziar una carga correcta de informaciion a un Matrix seria de mucha ayuda.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Best Answer
    Apr 16, 2017 at 06:55 PM

    Hola Gerson,

    En primer lugar, le sugiero que utilice la etiqueta SAP Business One SDK cuando tenga dudas sobre el SDK, con esto podrá obtener respuestas más rápido.

    Diferente de la Grid, es necesario crear todas las columnas que necesita para su matriz y luego vincularlo con los campos de su DBDataSource o DataTable.

    Una muestra:

    Suponga que tiene una matrix con tres columnas creadas, con los siguientes identificadores: #, code, name.

    1. Crea tu dbdatasource

    SAPbouiCOM.DBDataSource dbData = oForm.DataSources.DBDataSources.Add("OUSR");

    2. Enlazar sus columnas con las columnas de su DBDataSource

    SAPbouiCOM.Matrix oMtx = (SAPbouiCOM.Matrix)oForm.Items.Item("matrix").Specific;
    SAPbouiCOM.Column oCol = oMtx.Columns.Item("#");
    oCol.DataBind.SetBound(true, "OUSR", "USERID");
    
    oCol = oMtx.Columns.Item("code");
    oCol.DataBind.SetBound(true, "OUSR", "USER_CODE");
    
    oCol = oMtx.Columns.Item("name");
    oCol.DataBind.SetBound(true, "OUSR", "U_NAME");
    

    3. Cargar datos en su dbdatasource

    dbData.Query(null);

    Con el parámetro nulo, el dbdatasource cargará todos los registros de la tabla

    4. Mostrar los datos en su matriz

    oMtx.LoadFromDataSourceEx(true);

    You can achieve the same result with a DataTable, but the code needs some changes.

    Espero que ayude.

    Atte.

    Diego Lother

    Add comment
    10|10000 characters needed characters exceeded