private static void BindMatrixData(string formUID, ref ItemEvent oItemEvent, SAPbobsCOM.Company sbo_company, ref Application sbo_application, out bool bBubbleEvent, string sessionId) { Form oForm = sbo_application.Forms.Item(formUID); bBubbleEvent = true; DBDataSource dbData = oForm.DataSources.DBDataSources.Add("OBTN"); Matrix oMatrix = (Matrix)oForm.Items.Item(pluginForm.MatrixLote.Uid).Specific; Column oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_ItemCode.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_ItemCode.dbField); oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_itemName.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_itemName.dbField); oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_SysNumber.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_SysNumber.dbField); oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_DistNumber.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_DistNumber.dbField); oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_MnfSerial.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_MnfSerial.dbField); oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_InDate.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_InDate.dbField); oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_Status.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_Status.dbField); oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_Quantity.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_Quantity.dbField); oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_Balance.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_Balance.dbField); oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_U_FRU_Variedad.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_U_FRU_Variedad.dbField); oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_U_FRU_Tipo.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_U_FRU_Tipo.dbField); oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_U_FRU_Calibre.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_U_FRU_Calibre.dbField); oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_U_FRU_Destino.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_U_FRU_Destino.dbField); dbData.Query(null); oMatrix.LoadFromDataSourceEx(true); }
/// <summary> /// Carga la matriz con los datos a travez del db data source /// </summary> private void CargarMatriz() { //Congelar el formulario Formulario.Freeze(true); //Limpia la tabla matriz.Clear(); //Carga el data source dbdsMatriz.Query(); //Cargar la matriz matriz.LoadFromDataSource(); //Descongelar el formulario Formulario.Freeze(false); }
/// <summary> /// Obtener los datos de la base de datos y cargar la matriz /// </summary> public void CargarMatriz() { matriz = ((Matrix)(Formulario.Items.Item("mtxSucDir")).Specific); //Limpiar la matriz matriz.Clear(); //Realizar la consulta dataSourceMatriz = Formulario.DataSources.DBDataSources.Item("@TSUCDIRE"); //Ejectuar la consulta del data source de la matriz sin condiciones dataSourceMatriz.Query(null); //Congelar Formulario Formulario.Freeze(true); //Cargar la matriz desde el data source matriz.LoadFromDataSource(); //Descongelar Formulario Formulario.Freeze(false); }
internal static void FormLoad(ref MenuEvent oMenuEvent, SAPbobsCOM.Company sbo_company, ref Application sbo_application, out bool bBubbleEvent, string sessionId) { bBubbleEvent = true; FormCreationParams FormCreationPackage; Form oForm = null; if (oMenuEvent.BeforeAction) { FormCreationPackage = (FormCreationParams)sbo_application.CreateObject(BoCreatableObjectType.cot_FormCreationParams); try { if (string.IsNullOrEmpty(sessionId)) { sessionId = sbo_application.Company.GetServiceLayerConnectionContext(ServiceLayer.Address); } string contenidoArchivo = Properties.Resources.ResourceManager.GetString(pluginForm.FormType); XmlDocument xmlFormulario = new XmlDocument(); xmlFormulario.LoadXml(contenidoArchivo); FormCreationPackage.XmlData = xmlFormulario.InnerXml; FormCreationPackage.UniqueID = pluginForm.FormType + CommonFunctions.Random().ToString(); oForm = sbo_application.Forms.AddEx(FormCreationPackage); FormCreationPackage.UniqueID = "AsignaLote" + CommonFunctions.Random().ToString(); oForm = sbo_application.Forms.AddEx(FormCreationPackage); DBDataSource dbData = oForm.DataSources.DBDataSources.Add("OBTN"); Matrix oMatrix = (Matrix)oForm.Items.Item(pluginForm.MatrixLote.Uid).Specific; oMatrix.Item.Enabled = false; Column oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_ItemCode.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_ItemCode.dbField); oCol.Editable = false; oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_itemName.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_itemName.dbField); oCol.Editable = false; oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_SysNumber.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_SysNumber.dbField); oCol.Editable = false; oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_DistNumber.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_DistNumber.dbField); oCol.Editable = false; oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_MnfSerial.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_MnfSerial.dbField); oCol.Editable = false; oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_InDate.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_InDate.dbField); oCol.Editable = false; oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_Status.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_Status.dbField); oCol.Editable = false; oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_Quantity.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_Quantity.dbField); oCol.Editable = false; oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_Balance.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_Balance.dbField); oCol.Editable = false; oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_U_FRU_Variedad.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_U_FRU_Variedad.dbField); oCol.Editable = false; oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_U_FRU_Tipo.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_U_FRU_Tipo.dbField); oCol.Editable = false; oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_U_FRU_Calibre.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_U_FRU_Calibre.dbField); oCol.Editable = false; oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_U_FRU_Destino.Uid); oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_U_FRU_Destino.dbField); SAPbobsCOM.Recordset oRS = (SAPbobsCOM.Recordset)sbo_company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); string sSql = " SELECT T0.\"U_DFO_Valor\",T0.\"U_DFO_Descrip\" FROM \"@DFO_OPDFO\" T0 " + "where T0.\"U_DFO_Tipo\" = 'DESTINOSUGERIDO' "; oRS.DoQuery(sSql); if (oRS.RecordCount != 0) { while (!oRS.EoF) { string code = oRS.Fields.Item("U_DFO_Valor").Value.ToString(); string name = oRS.Fields.Item("U_DFO_Descrip").Value.ToString(); oCol.ValidValues.Add(code, name); oRS.MoveNext(); } } oCol.DisplayDesc = true; oCol.Editable = true; //oConditions = (SAPbouiCOM.Conditions)oApplication.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_Conditions); //oCondition = oConditions.Add(); //oCondition.Alias = "your field that you need filtering"; //oCondition.Operation = SAPbouiCOM.BoConditionOperation.co_LESS_THAN; //Your condition //oCondition.CondVal = "condition value"; ////run your query in your table with your conditions //oDBDS.Query(oConditions); dbData.Query(null); oMatrix.LoadFromDataSourceEx(true); oForm.Visible = true; } catch { throw; } } }
/// <summary> /// Obtener los datos de la base de datos y cargar la matriz /// </summary> public void CargarMatriz(bool activos = false) { Conditions condiciones; Condition condicion; matriz = ((Matrix)(Formulario.Items.Item("mtxRangos")).Specific); //Limpiar la matriz matriz.Clear(); //Realizar la consulta dataSourceMatriz = Formulario.DataSources.DBDataSources.Item("@TFECAE"); //Validar si se deben mostar unicamente los rangos activos if (activos) { //Crear objeto condiciones condiciones = (Conditions)SAPbouiCOM.Framework.Application.SBO_Application.CreateObject(BoCreatableObjectType.cot_Conditions); //Crear instanacia de mantenimiento de CAE's ManteUdoCAE manteUdoCae = new ManteUdoCAE(); //Conslutar los rangos activos y almacenarlos en arreglos de string. Contiene los DocEntry seleccionados string[] rangosActivos = manteUdoCae.ConsultarRangosActivos(); //Recorrer el arreglo de rangos activos para crear las condiciones for (int i = 0; i < rangosActivos.Length; i++) { //Agregar una nueva condicion condicion = condiciones.Add(); //Establecer las propiedades de la condicion condicion.Alias = "DocEntry"; condicion.Operation = BoConditionOperation.co_EQUAL; condicion.CondVal = rangosActivos[i]; //Validar que no sea el ultimo valor del arreglo para no agregar la relacion OR a las condiciones if (i + 1 < rangosActivos.Length) { condicion.Relationship = BoConditionRelationship.cr_OR; } } //Ejecutar la consulta del data source de la matriz con las condiciones creadas dataSourceMatriz.Query(condiciones); } //Si no se deben filtrar los rangos... else { //Ejectuar la consulta del data source de la matriz sin condiciones dataSourceMatriz.Query(null); } //Congelar Formulario Formulario.Freeze(true); //Cargar la matriz desde el data source matriz.LoadFromDataSource(); //Descongelar Formulario Formulario.Freeze(false); }