diff --git a/AF/OrdenServicio.aspx b/AF/OrdenServicio.aspx new file mode 100644 index 000000000..36780ba5a --- /dev/null +++ b/AF/OrdenServicio.aspx @@ -0,0 +1,384 @@ +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="OrdenServicio.aspx.vb" Inherits="AF_OrdenServicio" EnableEventValidation = "false" %> + + + + + + + + + + + + + + Registro Revisión + + + + + + + + + +
+
+
+
+ + +
+
+
+ <%--
+
+
+ + +
+ +
+ + + + +
+ + + + +
+ +
+ + + + +
+ + + + + +
+ + + + +
+ + +
+ +
+ + + +<%--
+
+
+ + + + + + +
+
+ +
+ + +
+
+ +
+
Fecha:
+
+ + + + +
+
+ + +
+
+ +
--%> + +
+
+ + + + + + + + + <%-- + + + + + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+
+ + +
+ + + + + + diff --git a/AF/OrdenServicio.aspx.vb b/AF/OrdenServicio.aspx.vb new file mode 100644 index 000000000..f95760d7e --- /dev/null +++ b/AF/OrdenServicio.aspx.vb @@ -0,0 +1,437 @@ +Option Explicit On +Option Strict On + +Imports System.Data +Imports System.IO +Imports Extensiones +Imports GemBox.Spreadsheet +Imports Microsoft.Reporting.WebForms + +Partial Class AF_OrdenServicio + Inherits ClsPaginas + +#Region " PROPIEDADES" + + Property DT_Cabeceras As DataTable + Get + + If ViewState("DT_Cabeceras") Is Nothing Then + + Return New DataTable + Else + Return DirectCast(ViewState("DT_Cabeceras"), DataTable) + End If + + End Get + Set(value As DataTable) + ViewState("DT_Cabeceras") = value + End Set + End Property + + + Property DT_Datos As DataTable + Get + + If ViewState("DT_Datos") Is Nothing Then + Return New DataTable + Else + Return DirectCast(ViewState("DT_Datos"), DataTable) + End If + + End Get + Set(value As DataTable) + ViewState("DT_Datos") = value + End Set + End Property + + + Property ReporteBytes As Byte() + Get + If ViewState("ReporteBytes") Is Nothing Then + Return Nothing + Else + Return DirectCast(ViewState("ReporteBytes"), Byte()) + End If + End Get + Set(value As Byte()) + ViewState("ReporteBytes") = value + End Set + End Property + +#End Region + + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load + If Not Page.IsPostBack Then + + CargaCombos() + 'CargaDatos() + + + TxtFecha.Text = $"{Now.Day.ToString("00")}/{Now.Month.ToString("00")}/{Now.Year}" + + End If + End Sub + + +#Region " CARGA PARAMETROS " + +#End Region + +#Region " CARGA COMBOS " + Protected Sub CargaCombos() + CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto) + LblSubProyecto2.Text = LblSubProyecto.Text + + + + + + End Sub + + +#End Region + +#Region " CARGA DATOS " + 'Protected Sub BtnFiltrar_Click(sender As Object, e As EventArgs) + ' CargaDatos() + + 'End Sub + + +#End Region + +#Region " GV DATOS " + + Private Sub CargaDatos() + + Dim ObjAF As New ClsAF + + If ObjAF.GetMetricasRegistro(DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, TxtFecha.Text.ToDate) Then + DT_Cabeceras = ObjAF.DSResultados.Tables(0) + DT_Datos = ObjAF.DSResultados.Tables(1) + + + If DT_Cabeceras.Rows.Count > 0 AndAlso DT_Datos.Rows.Count > 0 Then + BtnGuardar.Visible = True + Else + BtnGuardar.Visible = False + GvDatos.DataSource = Nothing + GvDatos.DataBind() + End If + + Else + GvDatos.DataSource = Nothing + GvDatos.DataBind() + BtnGuardar.Visible = False + End If + + ObjAF.Dispose() + + If DT_Datos.Rows.Count > 0 Then + CargaTablas() + End If + + UpGuardar.Update() + UpDatos.Update() + + End Sub + + Private Sub CargaTablas() + + Dim IDX_LIMPIAR As Integer = 1 + + For IDX_LIMPIAR = 1 To 15 + GvDatos.Columns(IDX_LIMPIAR).HeaderText = "" + GvDatos.Columns(IDX_LIMPIAR).Visible = False + Next + + Dim x As Integer = 0 + Dim limite As Integer = DT_Cabeceras.Rows.Count - 1 + + + For x = 0 To limite + GvDatos.Columns(x + 1).HeaderText = DT_Cabeceras.Rows(x)("Metrica").ToString + GvDatos.Columns(x + 1).Visible = True + Next x + + + GvDatos.DataSource = DT_Datos + GvDatos.DataBind() + + + + + End Sub + + + Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound + + If e.Row.RowType = DataControlRowType.DataRow Then + + e.Row.FCDropDownList("DdlPersonal").DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("CveEstatusPersonal = 1") + e.Row.FCDropDownList("DdlPersonal").DataBind() + e.Row.FCDropDownList("DdlPersonal").Items.Insert(0, New ListItem("Selecione uno", "-1")) + + e.Row.FCDropDownList("DdlPersonal").SelectedValueExist(e.Row.DataKey("CvePersonaResponsable")) + + End If + + End Sub + +#End Region + + Protected Sub LnkEliminarMetricaValor_Click(sender As Object, e As EventArgs) + + End Sub + + Protected Sub DdlSubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) + + If DdlSubProyecto.SelectedValue.ToEntero > 0 Then + CargaDatos() + + Else + GvDatos.DataSource = Nothing + GvDatos.DataBind() + + UpDatos.Update() + + End If + + End Sub + Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) + + + Dim ObjAF As New ClsAF + Dim limite As Integer = DT_Cabeceras.Rows.Count - 1 + + ObjAF.IniciaTransacSQL() + + Dim ErrorProceso As Boolean = False + + For Each GvRow As GridViewRow In GvDatos.Rows + If GvRow.RowType = DataControlRowType.DataRow Then + + Dim DdlPersonal As DropDownList = GvRow.FCDropDownList("DdlPersonal") + + If DdlPersonal.SelectedValue.ToEntero <= 0 Then + Alert($"unidad: {GvRow.DataKey("Unidad")} require personal", TipoMensaje.MsgAdvertencia) + + ErrorProceso = True + Exit For + End If + + If ObjAF.AddMetricasValores(GvRow.DataKey("CveActivoFijo").ToEntero, DdlPersonal.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlSubProyecto.SelectedValue.ToEntero, TxtFecha.Text.ToDate, UsuarioActual.CveEmpresa) Then + + Dim CveMetricaValor As Integer = ObjAF.CveMetricaValor + Dim x As Integer = 0 + + For x = 0 To limite + Dim valor As Decimal = GvRow.FCTextBox($"TxtMetrica{x + 1}").Text.ToDecimal + + ' valor = If(valor.Trim.Length = 0, "0", valor) + If ObjAF.AddMetricasValoresDetalle(CveMetricaValor, DT_Cabeceras(x)("CveMetrica").ToString.ToEntero, valor) Then + ErrorProceso = False + Else + ErrorProceso = True + Exit For + End If + Next x + + If ErrorProceso Then + Exit For + End If + + Else + ErrorProceso = True + Exit For + End If + End If + + Next + + + If Not ErrorProceso Then + + ObjAF.Commit() + ExportToExcelG(GvDatos, $"RegistroRevision{Now.ToString("yyyyMMddmmss")}", UsuarioActual, "ReporteRevision", 100, 100, filtros:=$"Filtros {LblSubProyecto.Text}: {DdlSubProyecto.SelectedItem.Text} Fecha: {TxtFecha.Text}") + RegistraScript("$('#ModalDescargaReporte').modal({ backdrop: 'static', keyboard: false });") + GvDatos.DataSource = Nothing + GvDatos.DataBind() + + BtnGuardar.Visible = False + + UpDatos.Update() + UpGuardar.Update() + + Else + ObjAF.RollBack() + End If + + ObjAF.Dispose() + + End Sub + + + + +#Region "DESCARGA EXCEL" + + Public Sub ExportToExcelG(Gv1 As GridView, NombreArchivoXLSx As String, Usuario As Usuario, Titulo As String, Optional AlturaImagen As Double = 100, Optional AnchoImagen As Double = 100, Optional filtros As String = "") + + + + For Each GvRow As GridViewRow In Gv1.Rows + + Dim IDX_LIMPIAR As Integer = 1 + + For IDX_LIMPIAR = 1 To 15 + GvRow.Cells(IDX_LIMPIAR).Text = GvRow.FCTextBox($"TxtMetrica{IDX_LIMPIAR}").Text + Next + + If GvRow.FCDropDownList("DDLPersonal").SelectedValue.ToEntero > 0 Then + GvRow.Cells(16).Text = GvRow.FCDropDownList("DDLPersonal").SelectedItem.Text + Else + GvRow.Cells(16).Text = "" + End If + + Next + + + + Dim sw1 As New StringWriter() + Dim htw1 As New HtmlTextWriter(sw1) + Gv1.RenderControl(htw1) + + Dim options = GemBox.Spreadsheet.LoadOptions.HtmlDefault + Dim htmlStream1 = New MemoryStream(options.Encoding.GetBytes(sw1.ToString())) + + htmlStream1.Position = 0 + Dim sr1 As New StreamReader(htmlStream1) + Dim myStr1 = sr1.ReadToEnd() + + sr1.Dispose() + htmlStream1.Dispose() + sw1.Dispose() + + Dim HtmlCompleto As String = myStr1 + + + HtmlCompleto = Regex.Replace(HtmlCompleto, "\<[\/]*a[^\>]*\>", "") + + Dim asd As String = "" + + + Dim htmlStream5 = New MemoryStream(options.Encoding.GetBytes(HtmlCompleto)) + + GemBox.Spreadsheet.SpreadsheetInfo.SetLicense(SerialGemBoxSpreadsheet()) + + Dim excel As GemBox.Spreadsheet.ExcelFile + + excel = GemBox.Spreadsheet.ExcelFile.Load(htmlStream5, options) + + If Usuario IsNot Nothing Then + Dim TotalRowHeader As Integer = 8 + Dim TotalRowFooter As Integer = 2 + + Dim worksheet = excel.Worksheets(0) + worksheet.Rows.InsertEmpty(0, TotalRowHeader) + Dim celdasConTexto = worksheet.GetUsedCellRange(True) + celdasConTexto.Style.Font.Name = "Calibri Light" + + Dim RangoNombreEmpresa = worksheet.Cells.GetSubrangeAbsolute(1, celdasConTexto.FirstColumnIndex, 1, celdasConTexto.LastColumnIndex) + RangoNombreEmpresa.Merged = True + RangoNombreEmpresa.Value = Usuario.Empresa.Empresa + RangoNombreEmpresa.Style.Font.Size = 18 * 20 + RangoNombreEmpresa.Style.Font.Name = "Calibri Light" + RangoNombreEmpresa.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center + RangoNombreEmpresa.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + + + Dim RangoFiltros = worksheet.Cells.GetSubrangeAbsolute(6, celdasConTexto.FirstColumnIndex, 6, celdasConTexto.LastColumnIndex) + RangoFiltros.Merged = True + RangoFiltros.Value = filtros + RangoFiltros.Style.Font.Size = 15 * 20 + RangoFiltros.Style.Font.Name = "Calibri Light" + RangoFiltros.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left + RangoFiltros.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + + + Dim RangoTitulo = worksheet.Cells.GetSubrangeAbsolute(3, celdasConTexto.FirstColumnIndex, 3, celdasConTexto.LastColumnIndex) + RangoTitulo.Merged = True + RangoTitulo.Value = Titulo + RangoTitulo.Style.Font.Size = 20 * 20 + RangoTitulo.Style.Font.Name = "Calibri Light" + RangoTitulo.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center + RangoTitulo.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + + For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex + worksheet.Rows(8).Cells(i).Style.Font.Size = 12 * 20 + worksheet.Rows(8).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center + worksheet.Rows(8).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + + worksheet.Rows(8).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + worksheet.Rows(8).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255) + + + + + If i > 0 Then + Try + worksheet.Columns(i).AutoFit(1) + Catch ex As Exception + End Try + End If + + Next + + Dim IndexEndTable As Integer = Gv1.Rows.Count + 4 + TotalRowHeader + TotalRowFooter + + worksheet.Rows(IndexEndTable).Cells(0).Value = "Usuario Imprimió" + worksheet.Rows(IndexEndTable + 1).Cells(0).Value = Usuario.Nombre + + worksheet.Rows(IndexEndTable).Cells(2).Value = "Fecha Impresión" + worksheet.Rows(IndexEndTable + 1).Cells(2).Value = DateTime.Now.ToString("dd/MM/yyyy") + + Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", Usuario.Empresa.Ruta)) + + If Imagen.Exists Then + Dim Ruta As String = String.Format("{0}/Logo.png", Usuario.Empresa.Ruta) + Using sr As New StreamReader(Ruta) + Dim ms As New MemoryStream() + sr.BaseStream.CopyTo(ms) + worksheet.Pictures.Add(ms, ExcelPictureFormat.Png, "A1", AnchoImagen, AlturaImagen, LengthUnit.Pixel) + End Using + End If + + End If + + + + + Dim memoryStream As New MemoryStream() + excel.Save(memoryStream, SaveOptions.XlsxDefault) + ReporteBytes = memoryStream.ToArray() + memoryStream.Dispose() + + End Sub + + + Protected Sub LnkDescargaReporte_Click(sender As Object, e As EventArgs) + + + Response.ContentType = "application/force-download" + Response.AppendHeader("Content-Disposition", $"attachment;filename=RegistroRevision{Now.ToString("yyyyMMddmmss")}.xlsx") + Response.BinaryWrite(ReporteBytes) + Response.End() + + End Sub + + + Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) + End Sub + +#End Region + + + +End Class diff --git a/AF/RegistroRevision.aspx b/AF/RegistroRevision.aspx index 33ca39586..4df1a11fe 100644 --- a/AF/RegistroRevision.aspx +++ b/AF/RegistroRevision.aspx @@ -192,6 +192,7 @@ + @@ -199,6 +200,7 @@ + @@ -206,6 +208,7 @@ + @@ -213,6 +216,7 @@ + @@ -220,6 +224,7 @@ + @@ -227,6 +232,7 @@ + @@ -234,6 +240,7 @@ + @@ -241,6 +248,7 @@ + @@ -248,6 +256,7 @@ + @@ -255,6 +264,7 @@ + @@ -262,6 +272,7 @@ + @@ -269,24 +280,28 @@ + + + + diff --git a/AF/RegistroRevision.aspx.vb b/AF/RegistroRevision.aspx.vb index 239360a85..a7d770ea2 100644 --- a/AF/RegistroRevision.aspx.vb +++ b/AF/RegistroRevision.aspx.vb @@ -226,9 +226,9 @@ Partial Class AF_RegistroRevision Dim x As Integer = 0 For x = 0 To limite - Dim valor As String = GvRow.FCTextBox($"TxtMetrica{x + 1}").Text + Dim valor As Decimal = GvRow.FCTextBox($"TxtMetrica{x + 1}").Text.ToDecimal - valor = If(valor.Trim.Length = 0, "0", valor) + ' valor = If(valor.Trim.Length = 0, "0", valor) If ObjAF.AddMetricasValoresDetalle(CveMetricaValor, DT_Cabeceras(x)("CveMetrica").ToString.ToEntero, valor) Then ErrorProceso = False Else diff --git a/Edoc/Contratos.aspx b/Edoc/Contratos.aspx index b49544a0c..bc9e9b3c4 100644 --- a/Edoc/Contratos.aspx +++ b/Edoc/Contratos.aspx @@ -121,7 +121,7 @@
- + diff --git a/PortalProveedor/PortalProveedor.aspx b/PortalProveedor/PortalProveedor.aspx index 9f78f83f6..e6ef26273 100644 --- a/PortalProveedor/PortalProveedor.aspx +++ b/PortalProveedor/PortalProveedor.aspx @@ -799,7 +799,7 @@ <%---2020/02/06 - Auditoria--%> - + diff --git a/Ventas/CatClasificaciones2.aspx.vb b/Ventas/CatClasificaciones2.aspx.vb index 673fee982..26c86f3ae 100644 --- a/Ventas/CatClasificaciones2.aspx.vb +++ b/Ventas/CatClasificaciones2.aspx.vb @@ -72,9 +72,12 @@ Partial Class Ventas_CatClasificaciones2 Public Sub CargaDatosS() Dim ObjClasificaciones As New ClsClasificaciones - If ObjClasificaciones.GetClasificaciones(-1, 4) Then - GlobalDTClasificaciones2 = ObjClasificaciones.DtResultados + + If ObjClasificaciones.GetClasificaciones(UsuarioActual.CveEmpresa, 4) Then + + GlobalDTClasificaciones2(UsuarioActual.CveEmpresa) = ObjClasificaciones.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa)) ViewState("DTClasificacion2") = GlobalDTClasificaciones2(UsuarioActual.CveEmpresa) + Else GvDatosS.DataSource = Nothing End If @@ -185,17 +188,19 @@ Partial Class Ventas_CatClasificaciones2 Dim ObjClasificaciones As New ClsClasificaciones If ObjClasificaciones.AddClasificaciones(TxtClasificacionS.Text.Trim, "", -1, "", -1, "", -1, "", - DdlCategoriaS.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, RequiereAFCompra:=False, RequiereAFInsumo:=False, RequierePersonal:=False) Then - 'DdlCuentaGastoS.SelectedValue.ToEntero, DdlCuentaGastoS.SelectedItem.Text, - 'DdlCuentaAnticipoS.SelectedValue.ToEntero, DdlCuentaAnticipoS.SelectedItem.Text, - 'DdlCuentaInventarioS.SelectedValue.ToEntero, DdlCuentaInventarioS.SelectedItem.Text, + DdlCategoriaS.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, RequiereAFCompra:=False, RequiereAFInsumo:=False, RequierePersonal:=False) Then + + 'DdlCuentaGastoS.SelectedValue.ToEntero, DdlCuentaGastoS.SelectedItem.Text, + 'DdlCuentaAnticipoS.SelectedValue.ToEntero, DdlCuentaAnticipoS.SelectedItem.Text, + 'DdlCuentaInventarioS.SelectedValue.ToEntero, DdlCuentaInventarioS.SelectedItem.Text, TxtClasificacionS.Text = "" Alert("La nueva Clasificación se guardó correctamente.", TipoMensaje.MsgInformacion) UpTitulosS.Update() If ObjClasificaciones.GetClasificaciones(-1, 4) Then + GlobalDTClasificaciones2(UsuarioActual.CveEmpresa) = Nothing ViewState("DTClasificacion2") = ObjClasificaciones.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa)) - GlobalDTClasificaciones2 = ObjClasificaciones.DtResultados + GlobalDTClasificaciones2(UsuarioActual.CveEmpresa) = ObjClasificaciones.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa)) End If 'DdlCuentaGastoS.SelectedValue = "-1" @@ -283,12 +288,13 @@ Partial Class Ventas_CatClasificaciones2 End If End Sub Protected Sub GvDatosS_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvDatosS.RowDeleting - Dim ObjClasificaciones As New ClsClasificaciones + Dim ObjClasificaciones As New ClsClasificaciones + If ObjClasificaciones.RemoveClasificacion(GvDatosS.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then GvDatosS.EditIndex = -1 If ObjClasificaciones.GetClasificaciones(-1, 4) Then ViewState("DTClasificacion2") = ObjClasificaciones.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa)) - GlobalDTClasificaciones2 = ObjClasificaciones.DtResultados + GlobalDTClasificaciones2(UsuarioActual.CveEmpresa) = ObjClasificaciones.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa)) End If Alert("La Clasificacion se eliminó correctamente.", TipoMensaje.MsgInformacion) End If diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index e88ebc310..8bbe6813d 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -111,7 +111,7 @@ Partial Class ProductosyServicios Private ReadOnly Property PermiteClasificacion2 As Boolean Get - Return (UsuarioActual.CveEmpresa.Contiene(72, 80)) + Return (UsuarioActual.CveEmpresa.Contiene(1, 72, 80)) End Get End Property @@ -1164,7 +1164,7 @@ Partial Class ProductosyServicios End If Dim CveMarca As Integer = 0 - If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) Then CveMarca = DdlMarcaPSDes.SelectedValue.ToEntero Else CveMarca = DdlMarca.SelectedValue.ToEntero + If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) And CvePS = -1 Then CveMarca = DdlMarcaPSDes.SelectedValue.ToEntero Else CveMarca = DdlMarca.SelectedValue.ToEntero If CvePS = -1 Then Dim PSS As String = TxtPS.Text.Trim.Replace("|", "") @@ -1656,11 +1656,13 @@ Partial Class ProductosyServicios Protected Sub CargarMarcas() If UsuarioActual.Empresa.Funcionalidad(130) = "1" Then + If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) And CvePS = -1 Then DivMarcaPSDes.Visible = True Else DivMarca.Visible = True End If + Dim ObjMarcas As New ClsProductosServicios ObjMarcas.GetMarcas(UsuarioActual.CveEmpresa) DdlMarca.DataSource = ObjMarcas.DtResultados