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) { } }
private void Button0_ClickBefore(object sboObject, SAPbouiCOM.SBOItemEventArg pVal, out bool BubbleEvent) { BubbleEvent = true; if (Button0.Item.Enabled) { try { oForm = Application.SBO_Application.Forms.Item(pVal.FormUID); if (!Funciones.DataTableExists(oForm, "DT_SQL")) { oForm.DataSources.DataTables.Add("DT_SQL"); } oDataTable = oForm.DataSources.DataTables.Item("DT_SQL"); oDBDataSource = oForm.DataSources.DBDataSources.Item("OVPM"); string sDocNum = oDBDataSource.GetValue("DocNum", oDBDataSource.Offset).ToString(); string sDocEntry = oDBDataSource.GetValue("DocEntry", 0) == "" ? "0" : (oDBDataSource.GetValue("DocEntry", 0)); string sCardCode = oDBDataSource.GetValue("CardCode", oDBDataSource.Offset).ToString(); double dTrsfrSum = Funciones.GetDoubleFromString(oDBDataSource.GetValue("TrsfrSum", oDBDataSource.Offset).ToString()); double dDocTotal = Funciones.GetDoubleFromString(oDBDataSource.GetValue("DocTotal", oDBDataSource.Offset).ToString()); //PARA AUTORIZAR CHEQUES double dCheckSum = Funciones.GetDoubleFromString(oDBDataSource.GetValue("CheckSum", oDBDataSource.Offset).ToString()); string sCheckAutor = oDBDataSource.GetValue("U_Cheque_Autor", oDBDataSource.Offset).ToString(); if (sCardCode.Trim().Length != 0 && dDocTotal > 0) { string sAprovved = "0"; if (dTrsfrSum == 0) { sAprovved = "1"; } else { sAprovved = "0"; } //PARA AUTORIZAR CHEQUES if (dCheckSum > 0 && sCheckAutor.Trim() == "Si") { sAprovved = "0"; } oDataTable = NTablaAutoriza.BuscarDatosAutorizacion(oDataTable, "46", sDocNum); if (!oDataTable.IsEmpty) { for (int i = 0; i <= oDataTable.Rows.Count - 1; i++) { string sCodeUDO = oDataTable.GetValue("Code", i).ToString(); NTablaAutoriza.EliminarDatosAutorizacion(sCodeUDO); } } NTablaAutoriza.InsertarDatosAutorizacion("46", sDocEntry, sDocNum, sAprovved, "", Convert.ToString(Program.oCompany.UserSignature), DateTime.Now.ToString("MMM dd yyyy h:ss tt")); } } catch (Exception) { } } }