static void SBO_Application_FormDataEvent(ref SAPbouiCOM.BusinessObjectInfo BOInfo, out bool BubbleEvent) { BubbleEvent = true; SAPbouiCOM.Form oForm = Application.SBO_Application.Forms.Item(BOInfo.FormUID); try { if ((BOInfo.FormTypeEx == "142")) { OrdenCompra.OrdenCompra_FormDataEvent(ref BOInfo, out BubbleEvent); } if ((BOInfo.FormTypeEx == "141")) { FacturaProveedores.FacturaProveedores_FormDataEvent(ref BOInfo, out BubbleEvent); } int ObjN = Convert.ToInt32(BOInfo.Type); //Bloquear o Habilitar Campos de Fechas en la ventanas de UDF en los documentos de Marketing segun iFormularios if ((BOInfo.EventType == SAPbouiCOM.BoEventTypes.et_FORM_DATA_LOAD) && BOInfo.BeforeAction && Array.Exists(iFormularios, element => element == ObjN)) { string[] U_Campos = { "U_MIN_FechaVenta", "U_MIN_FinMontaje", "U_MIN_FinDesarr", "U_MIN_FinProduccion", "U_MIN_IniDespacho", "U_MIN_IniMontaje", "U_MIN_FinMontaje", "U_MIN_FechaMulta" }; try { oForm = Application.SBO_Application.Forms.GetForm("-" + BOInfo.FormTypeEx, 1);// Item(BOInfo.FormUID); SAPbouiCOM.EditText oEdit; if (Funciones.ConsultaUsuario == false) { SAPbouiCOM.DataTable oDataTable = null; if (!Funciones.DataTableExists(oForm, "DT_SQL")) { oForm.DataSources.DataTables.Add("DT_SQL"); } oDataTable = oForm.DataSources.DataTables.Item("DT_SQL"); Funciones.IdentificarAccesoUsuario(oDataTable); } foreach (string element in U_Campos) { if (Funciones.ItemExists(oForm, element)) { oEdit = (SAPbouiCOM.EditText)oForm.Items.Item(element).Specific; if (oEdit.Item.Enabled == Funciones.Habilitado) // Verifica si ya estan condicionados los campos para no volver a ejecutar el proceso en la pantalla activa { break; } oEdit.Item.Enabled = Funciones.Habilitado; } } } catch (Exception) { } } } catch (Exception) { } }
public static void OrdenCompra_ItemEvent(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool bBubbleEvent) { bBubbleEvent = true; try { switch (pVal.BeforeAction) { case true: //Al momento de crear la Orden de Compra, compara las lineas del documento con el documento base para verificar que estas sean identicas if ((pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED) && (pVal.ItemUID == "1")) { try { oButton = (SAPbouiCOM.Button)oForm.Items.Item(pVal.ItemUID).Specific; if (!Funciones.DataTableExists(oForm, "DT_SQL")) { oForm.DataSources.DataTables.Add("DT_SQL"); } oDataTable = oForm.DataSources.DataTables.Item("DT_SQL"); if (oButton.Caption == "Crear") { OrdenCompra.Comparar_Lineas_Solicitud(pVal.FormUID); } } catch (Exception) { } } break; case false: //Muestra en las Ordenes de Compra (Pedidos Compras) los saldos correspondientes a los pagos relacionados realizados. if (pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_ACTIVATE) { if (Funciones.ItemExists(oForm, "Item_0") == true) { oEdit = (SAPbouiCOM.EditText)oForm.Items.Item("Item_0").Specific; if (oEdit.Value.Trim().Length == 0) { Funciones.CargarDatosPagos(oForm); } } } break; } } catch (Exception) { } }
public static void CargarDatosPagos(SAPbouiCOM.Form oForm) { try { SAPbouiCOM.EditText oEdit = (SAPbouiCOM.EditText)oForm.Items.Item("8").Specific; SAPbouiCOM.DataTable oDataTable = null; try { oDataTable = oForm.DataSources.DataTables.Item("DT_SQL"); } catch { oDataTable = oForm.DataSources.DataTables.Add("DT_SQL"); } string nDoc = oEdit.Value; string BD = Convert.ToString(oCompany.CompanyDB); string sql = BD + ".[dbo].[SP_Saldo_Pediente_Orden_Compra] " + nDoc; // string sql = @"SELECT SC.DocNum as 'N° Pedido' // ,SC.CardCode as 'Codigo Proveedor' // ,SC.CardName as 'Proveedor' // ,SC.TaxDate as 'Emision Pedido' // ,SC.DocTotal as 'Total Pedido' // ,'$ ' + REPLACE(REPLACE(CONVERT(NVARCHAR, convert(money, SUM(ISNULL(PC.SumApplied,0))), 1),'.00',''),',','.') as 'Total Cancelado' // ,'$ ' + REPLACE(REPLACE(CONVERT(NVARCHAR, convert(money, (SC.DocTotal - SUM(ISNULL(PC.SumApplied,0)))), 1),'.00',''),',','.') as 'Saldo Pendiente' // FROM OPOR SC LEFT JOIN OPCH FC ON SC.DocNum = FC.U_MIN_Pedido AND FC.CANCELED != 'Y' // LEFT JOIN VPM2 PC ON FC.DocEntry = PC.DocEntry // LEFT JOIN OVPM CPC ON PC.DocNum = CPC.DocNum // WHERE SC.DocNum = " + nDoc + @" AND ISNULL(CPC.Canceled,'N') != 'Y' // GROUP BY SC.DocNum // ,SC.CardCode // ,SC.CardName // ,SC.TaxDate // ,SC.DocTotal // --HAVING SC.DocTotal > SUM(ISNULL(PC.SumApplied,0)) // ORDER BY SC.DocNum"; oDataTable.ExecuteQuery(sql); if (oDataTable.IsEmpty == false) { if (Funciones.ItemExists(oForm, "Item_0") == true) { oUserDataSource = oForm.DataSources.UserDataSources.Item("UD_TP"); oUserDataSource.ValueEx = oDataTable.GetValue(5, 0).ToString(); oUserDataSource = oForm.DataSources.UserDataSources.Item("UD_SP"); oUserDataSource.ValueEx = oDataTable.GetValue(6, 0).ToString(); //oEdit = (SAPbouiCOM.EditText)oForm.Items.Item("Item_0").Specific; //sql = (string)oDataTable.GetValue(5, 0); //oEdit.String = sql; //oEdit = (SAPbouiCOM.EditText)oForm.Items.Item("Item_1").Specific; //sql = (string)oDataTable.GetValue(6, 0); //oEdit.String = sql; } } else { oUserDataSource = oForm.DataSources.UserDataSources.Item("UD_TP"); oUserDataSource.ValueEx = ""; oUserDataSource = oForm.DataSources.UserDataSources.Item("UD_SP"); oUserDataSource.ValueEx = ""; //oEdit = (SAPbouiCOM.EditText)oForm.Items.Item("Item_0").Specific; //oEdit.String = ""; //oEdit = (SAPbouiCOM.EditText)oForm.Items.Item("Item_1").Specific; //oEdit.String = ""; } } catch { } }
static void SBO_Application_ItemEvent(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent) { BubbleEvent = true; SAPbouiCOM.Form oForm = null; SAPbouiCOM.EditText oEdit = null; SAPbouiCOM.DataTable oDataTable = null; try { // ------------------------------------------------------------------------------------------------------------------------------------------------ // ESTOS EVENTO MANEJA LA CONDICION MODAL DE LAS PANTALLAS DONDE ReportType = "Modal" // ------------------------------------------------------------------------------------------------------------------------------------------------ if (((pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_VISIBLE) && (pVal.BeforeAction == false))) { try { oForm = Application.SBO_Application.Forms.Item(pVal.FormUID); if ((oForm.ReportType == "Modal")) { NModal.esPantallaModal = true; NModal.IDPantallaModal = pVal.FormUID; } } catch (Exception) { } } if (NModal.esPantallaModal && pVal.FormUID != NModal.IDPantallaModal && NModal.IDPantallaModal.Trim().Length > 0 && (pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_ACTIVATE || pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED || pVal.EventType == SAPbouiCOM.BoEventTypes.et_MATRIX_LINK_PRESSED || pVal.EventType == SAPbouiCOM.BoEventTypes.et_GOT_FOCUS || pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_RESIZE || pVal.EventType == SAPbouiCOM.BoEventTypes.et_VALIDATE || pVal.EventType == SAPbouiCOM.BoEventTypes.et_CLICK)) { try { // Selecciona la pantalla modal BubbleEvent = false; oForm = Application.SBO_Application.Forms.Item(NModal.IDPantallaModal); oForm.Select(); } catch (Exception) { } } // If the modal from is closed... if (((FormUID == NModal.IDPantallaModal) && ((pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_CLOSE) && NModal.esPantallaModal))) { NModal.esPantallaModal = false; NModal.IDPantallaModal = ""; } // ------------------------------------------------------------------------------------------------------------------------------------------------ //Ordenes de Compra if (pVal.FormTypeEx == "142") { OrdenCompra.OrdenCompra_ItemEvent(FormUID, ref pVal, out BubbleEvent); } //Enviar Solicitud de Compra Interna a Salida de Mercancias (Exportar Lineas y datos del Documento Base) if (pVal.FormTypeEx == "1470000200" && (pVal.EventType == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) && (pVal.ItemUID == "10000329")) { SolicitudCompra.SolicitudCompra_ItemEvent(FormUID, ref pVal, out BubbleEvent); } int ObjN = Math.Abs(Convert.ToInt32(pVal.FormTypeEx)); //Bloquear o Habilitar Campos de Fechas en la ventanas de UDF en los documentos de Marketing if ((pVal.FormTypeEx.Substring(0, 1) == "-") && (pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_LOAD) && pVal.BeforeAction == false) { string[] U_Campos = { "U_MIN_FechaVenta", "U_MIN_FinMontaje", "U_MIN_FinDesarr", "U_MIN_FinProduccion", "U_MIN_IniDespacho", "U_MIN_IniMontaje", "U_MIN_FinMontaje", "U_MIN_FechaMulta" }; try { oForm = Application.SBO_Application.Forms.Item(pVal.FormUID); if (Funciones.ConsultaUsuario == false) { oDataTable = null; try { oDataTable = oForm.DataSources.DataTables.Item("DT_SQL"); } catch { oDataTable = oForm.DataSources.DataTables.Add("DT_SQL"); } Funciones.IdentificarAccesoUsuario(oDataTable); } foreach (string element in U_Campos) { if (Funciones.ItemExists(oForm, element)) { oEdit = (SAPbouiCOM.EditText)oForm.Items.Item(element).Specific; oEdit.Item.Enabled = Funciones.Habilitado; } } } catch (Exception) { // throw; } } } catch (Exception) { } }