Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -1289,7 +1289,8 @@
|
||||
|
||||
<div class="Widthall" style="overflow-x: auto;">
|
||||
|
||||
<asp:GridView ID="GvInvMov" runat="server" AutoGenerateColumns="false" DataKeyNames="Origen" EmptyDataText="Aun no hay registros." ShowHeaderWhenEmpty="True" Width="100%" HeaderStyle-CssClass="Titulos" CssClass="table table-striped table-hover" GridLines="None" Visible="false">
|
||||
<asp:GridView ID="GvInvMov" runat="server" AutoGenerateColumns="false" DataKeyNames="Origen" EmptyDataText="Aun no hay registros." ShowHeaderWhenEmpty="True" Width="100%"
|
||||
HeaderStyle-CssClass="Titulos" CssClass="table table-striped table-hover" GridLines="None" Visible="false">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="Cantidad" ItemStyle-Width="60px" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
|
||||
@@ -8395,7 +8395,8 @@ Partial Class Compras_Compras
|
||||
Dim Comp As New ClsCompras()
|
||||
Dim ObjEventos As New ClsOIEventos(Comp.IniciaTransacSQL())
|
||||
Dim ObjConta As New ClsContabilidad(Comp.IniciaTransacSQL())
|
||||
|
||||
Dim ObjInventarios As New ClsInventarios(Comp.IniciaTransacSQL())
|
||||
Dim ObjGral As New ClsGenerales(Comp.IniciaTransacSQL())
|
||||
|
||||
Dim ErrorCompra = False
|
||||
|
||||
@@ -8422,6 +8423,64 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Try
|
||||
If ObjInventarios.GetInv_ComprasMov(CveCompra, UsuarioActual.CveEmpresa) Then
|
||||
Dim DTInventarios As DataTable = ObjInventarios.DtResultados
|
||||
If DTInventarios.Rows.Count > 0 Then
|
||||
|
||||
Dim DTMovimientos As DataTable = DTInventarios.FiltraParametros("", "", {"CVeMovimiento"})
|
||||
|
||||
For Each diRow As DataRow In DTMovimientos.Rows
|
||||
|
||||
Dim CveMovimientoActual As Integer = diRow("CveMovimiento").ToString.ToEntero
|
||||
|
||||
Dim DTMovimientoActual As DataTable = DTInventarios.FiltraParametros($"CveMovimiento = {CveMovimientoActual} ")
|
||||
|
||||
Dim detalleDescripcion As String = ""
|
||||
Dim Description As String = ""
|
||||
|
||||
Dim FolioMovimiento As String = ""
|
||||
Dim ConceptoMovimiento As String = ""
|
||||
|
||||
For Each dRowMovActual As DataRow In DTMovimientoActual.Rows
|
||||
|
||||
If dRowMovActual("UM").ToString = "" Then
|
||||
FolioMovimiento = dRowMovActual("Folio").ToString
|
||||
ConceptoMovimiento = dRowMovActual("Concepto").ToString
|
||||
|
||||
Description = String.Format("Eliminación Compra {6},Movimiento con Concepto: {0}, Almacen: {1}, Fecha: {2}, Folio: {3}, Usuario: {4}, Observaciones adicionales: {5}, Productos Información:<br/>",
|
||||
ConceptoMovimiento,
|
||||
dRowMovActual("Almacen").ToString,
|
||||
dRowMovActual("FechaMovto").ToString.ToDate.ToString("dd/MM/yyyy"),
|
||||
FolioMovimiento,
|
||||
dRowMovActual("Usuario").ToString,
|
||||
dRowMovActual("Observaciones").ToString,
|
||||
$"{TxtSerie.Text}-{TxtFolio.Text}")
|
||||
Else
|
||||
detalleDescripcion = String.Format("- Cant: {0}, PS: {1}, PU: {2}, UM: {3}<br/>", dRowMovActual("Cantidad").ToString.ToEntero, dRowMovActual("CodigoPS"), dRowMovActual("PU"), dRowMovActual("UM"))
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
If Not ObjGral.AddHistorialBitacora(Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, "", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1,
|
||||
String.Format("{0}, Informacion = {1}", Description, detalleDescripcion),
|
||||
"Inventarios", FolioMovimiento + " / " + ConceptoMovimiento) Then
|
||||
ErrorCompra = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ErrorCompra = True
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
|
||||
If Not ErrorCompra Then
|
||||
If Not Comp.DeleteCompra(CveCompra, False) Then
|
||||
ErrorCompra = True
|
||||
|
||||
@@ -131,13 +131,11 @@
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlProyecto" CssClass=" form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Width="95%">
|
||||
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
<asp:Label runat="server" ID="LblSubProyecto" CssClass="col-md-1">SubProyecto:</asp:Label>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="95%" AutoPostBack="True">
|
||||
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
<div class="col-md-1 ">Proveedor:</div>
|
||||
@@ -146,6 +144,15 @@
|
||||
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
<div class="col-md-1">Tipo de Compra:</div>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlTipoCompra" runat="server" CssClass="form-control input-sm select2me" Width="95%">
|
||||
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
||||
<asp:ListItem Text="Insumos" Value="1"></asp:ListItem>
|
||||
<asp:ListItem Text="Compras" Value="2"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
|
||||
@@ -75,15 +75,14 @@ Partial Class Compras_RepComprasAF
|
||||
#Region "CARGAS"
|
||||
|
||||
Private Sub CargaCombos()
|
||||
txtFechaI.Text = $"01/{Now.Month}/{Now.Year}"
|
||||
|
||||
DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
|
||||
DdlProveedores.DataBind()
|
||||
|
||||
DdlMonedas.DataSource = GlobalDTMonedas()
|
||||
DdlMonedas.DataBind()
|
||||
|
||||
DdlProyecto.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1)
|
||||
DdlProyecto.DataBind()
|
||||
|
||||
DdlTipoActivoFijo.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros("", "TipoActivoFijo")
|
||||
DdlTipoActivoFijo.DataBind()
|
||||
|
||||
@@ -99,44 +98,13 @@ Partial Class Compras_RepComprasAF
|
||||
DdlClasificacion2.DataSource = Nothing
|
||||
End If
|
||||
|
||||
|
||||
ObjClasificacion.Dispose()
|
||||
DdlClasificacion2.DataBind()
|
||||
|
||||
|
||||
|
||||
|
||||
DdlActivoFijo.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa)
|
||||
DdlActivoFijo.DataBind()
|
||||
|
||||
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
|
||||
DdlProyecto.Visible = False
|
||||
'LblSubProyecto.Text = "Sucursal"
|
||||
LblProyecto.Visible = False
|
||||
' DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
|
||||
CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto)
|
||||
'DdlSubProyecto.DataBind()
|
||||
'DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
|
||||
DdlProyecto.Visible = False
|
||||
'LblSubProyecto.Text = "Proyecto"
|
||||
LblProyecto.Visible = False
|
||||
|
||||
'DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
|
||||
'DdlSubProyecto.DataBind()
|
||||
CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto)
|
||||
|
||||
'DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Or UsuarioActual.Empresa.Tipo_CentroCosto = 0 Then
|
||||
LblProyecto.Text = "Proyecto"
|
||||
|
||||
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
|
||||
LblProyecto.Text = "Sucursal"
|
||||
LblSubProyecto.Text = "Proyecto"
|
||||
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
|
||||
LblProyecto.Text = "Proyecto"
|
||||
LblSubProyecto.Text = "Sucursal"
|
||||
End If
|
||||
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, Nothing, LblSubProyecto)
|
||||
|
||||
CargaPS(-1)
|
||||
|
||||
@@ -151,18 +119,19 @@ Partial Class Compras_RepComprasAF
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
|
||||
CargaSubProyecto()
|
||||
If DdlProyecto.SelectedValue = "-1" Then
|
||||
DdlProyecto.Items.Clear()
|
||||
DdlSubProyecto.Items.Clear()
|
||||
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, Nothing, LblSubProyecto)
|
||||
Else
|
||||
CargaSubProyecto()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CargaSubProyecto()
|
||||
|
||||
|
||||
CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto)
|
||||
|
||||
'DdlSubProyecto.Items.Clear()
|
||||
'DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
|
||||
'DdlSubProyecto.DataBind()
|
||||
'DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlSubProyecto.Items.Clear()
|
||||
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1).FiltraParametros(String.Format("CveProyecto = {0}", DdlProyecto.SelectedValue), "SubProyecto")
|
||||
DdlSubProyecto.DataBind()
|
||||
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
End Sub
|
||||
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
|
||||
CargaDatos()
|
||||
@@ -184,7 +153,7 @@ Partial Class Compras_RepComprasAF
|
||||
If ObjCompras.GetRepComprasAF(FechaI, FechaF, DdlProveedores.SelectedValue.ToEntero, DdlMonedas.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero,
|
||||
DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, RblTipoCambio.SelectedValue.ToEntero, TCEspecifico,
|
||||
DdlClasificacion.SelectedValue.ToEntero, DdlActivoFijo.SelectedValue.ToEntero, DdlTipoActivoFijo.SelectedValue.ToEntero, DdlSubTipoActivoFijo.SelectedValue.ToEntero,
|
||||
CvePS, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveClasificacion2:=DdlClasificacion2.SelectedValue.ToEntero) Then
|
||||
CvePS, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveClasificacion2:=DdlClasificacion2.SelectedValue.ToEntero, CveTipoCompraAF:=DdlTipoCompra.SelectedValue.ToEntero) Then
|
||||
|
||||
DTDatos = ObjCompras.DtResultados
|
||||
GvDatos.DataSource = ObjCompras.DtResultados
|
||||
@@ -215,11 +184,11 @@ Partial Class Compras_RepComprasAF
|
||||
|
||||
|
||||
If e.Row.DBCampo("Orden") = "1" Then
|
||||
Dim Liga As String = $"/Compras/RepComprasAFDetalle.aspx?GPO={DdlGrupo.SelectedValue}&Anio={e.Row.DBCampo("Anio")}&Mes={e.Row.DBCampo("Mes")}&AnioMes={ e.Row.DBCampo("AnioMes")}&Fecha={e.Row.DBCampo("Fecha")}&CveProveedor={ e.Row.DBCampo("CveProveedor")}&CveActivoFijo={e.Row.DBCampo("CveActivoFijo")}&CveTipoActivoFijo={e.Row.DBCampo("CveTipoActivoFijo")}&CveSubTipoActivoFijo={e.Row.DBCampo("CveSubTipoActivoFijo")}&CveProyecto={ DdlProyecto.SelectedValue}&CveSubProyecto={DdlSubProyecto.SelectedValue}&CvePS={ If(CvePS > 0, CvePS.ToString, e.Row.DBCampo("CvePS").ToString) }&CveClasificacion={e.Row.DBCampo("CveClasificacion")}&CveMoneda={ e.Row.DBCampo("CveMoneda")}&FechaI={FechaI}&FechaF={FechaF}&PS={PS}&CveClasificacion2={e.Row.DBCampo("CveClasificacion2")}"
|
||||
Dim Liga As String = $"/Compras/RepComprasAFDetalle.aspx?GPO={DdlGrupo.SelectedValue}&Anio={e.Row.DBCampo("Anio")}&Mes={e.Row.DBCampo("Mes")}&AnioMes={ e.Row.DBCampo("AnioMes")}&Fecha={e.Row.DBCampo("Fecha")}&CveProveedor={ e.Row.DBCampo("CveProveedor")}&CveActivoFijo={e.Row.DBCampo("CveActivoFijo")}&CveTipoActivoFijo={e.Row.DBCampo("CveTipoActivoFijo")}&CveSubTipoActivoFijo={e.Row.DBCampo("CveSubTipoActivoFijo")}&CveProyecto={ DdlProyecto.SelectedValue}&CveSubProyecto={DdlSubProyecto.SelectedValue}&CvePS={ If(CvePS > 0, CvePS.ToString, e.Row.DBCampo("CvePS").ToString) }&CveClasificacion={e.Row.DBCampo("CveClasificacion")}&CveMoneda={ e.Row.DBCampo("CveMoneda")}&FechaI={FechaI}&FechaF={FechaF}&PS={PS}&CveClasificacion2={e.Row.DBCampo("CveClasificacion2")}&CveTipoCompraAF={DdlTipoCompra.SelectedValue}"
|
||||
e.Row.Cells(0).Text = String.Format("<a class='{0}' target='_blank' href='{1}'>{2}</a>", "Texto", Liga, e.Row.DataKey("GPO").ToString)
|
||||
Else
|
||||
e.Row.BackColor = Drawing.Color.LightGray
|
||||
Dim Liga As String = $"/Compras/RepComprasAFDetalle.aspx?GPO=-1&Anio={e.Row.DBCampo("Anio")}&Mes={e.Row.DBCampo("Mes")}&AnioMes={ e.Row.DBCampo("AnioMes")}&Fecha={e.Row.DBCampo("Fecha")}&CveProveedor={ e.Row.DBCampo("CveProveedor")}&CveActivoFijo={e.Row.DBCampo("CveActivoFijo")}&CveTipoActivoFijo={e.Row.DBCampo("CveTipoActivoFijo")}&CveSubTipoActivoFijo={e.Row.DBCampo("CveSubTipoActivoFijo")}&CveProyecto={ DdlProyecto.SelectedValue}&CveSubProyecto={DdlSubProyecto.SelectedValue}&CvePS={ If(CvePS > 0, CvePS.ToString, e.Row.DBCampo("CvePS").ToString)}&CveClasificacion={e.Row.DBCampo("CveClasificacion")}&CveMoneda={ e.Row.DBCampo("CveMoneda")}&FechaI={FechaI}&FechaF={FechaF}&PS={PS}&CveClasificacion2={e.Row.DBCampo("CveClasificacion2")}"
|
||||
Dim Liga As String = $"/Compras/RepComprasAFDetalle.aspx?GPO=-1&Anio={e.Row.DBCampo("Anio")}&Mes={e.Row.DBCampo("Mes")}&AnioMes={ e.Row.DBCampo("AnioMes")}&Fecha={e.Row.DBCampo("Fecha")}&CveProveedor={ e.Row.DBCampo("CveProveedor")}&CveActivoFijo={e.Row.DBCampo("CveActivoFijo")}&CveTipoActivoFijo={e.Row.DBCampo("CveTipoActivoFijo")}&CveSubTipoActivoFijo={e.Row.DBCampo("CveSubTipoActivoFijo")}&CveProyecto={ DdlProyecto.SelectedValue}&CveSubProyecto={DdlSubProyecto.SelectedValue}&CvePS={ If(CvePS > 0, CvePS.ToString, e.Row.DBCampo("CvePS").ToString)}&CveClasificacion={e.Row.DBCampo("CveClasificacion")}&CveMoneda={ e.Row.DBCampo("CveMoneda")}&FechaI={FechaI}&FechaF={FechaF}&PS={PS}&CveClasificacion2={e.Row.DBCampo("CveClasificacion2")}&CveTipoCompraAF={DdlTipoCompra.SelectedValue}"
|
||||
|
||||
e.Row.Cells(0).Text = String.Format("<a style='font-weight:bold' class='{0}' target='_blank' href='{1}'>{2}</a>", "Texto", Liga, e.Row.DataKey("Moneda").ToString)
|
||||
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
|
||||
<div class="col-md-1">SubTipo Activo Fijo:</div>
|
||||
<div class="col-md-1">SubTipo Fijo:</div>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlSubTipoActivoFijo" CssClass="form-control input-sm select2me input-small" runat="server" AppendDataBoundItems="True" AutoPostBack="True" DataTextField="SubTipoActivoFijo" DataValueField="CveSubTipoActivoFijo" Width="95%">
|
||||
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
||||
@@ -186,7 +186,16 @@
|
||||
<asp:DropDownList CssClass=" select2me" ID="DdlProveedores" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" Width="95%">
|
||||
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-1">Tipo de Compra</div>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlTipoCompra" runat="server" CssClass="form-control input-sm select2me" Width="95%">
|
||||
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
||||
<asp:ListItem Text="Insumos" Value="1"></asp:ListItem>
|
||||
<asp:ListItem Text="Compras" Value="2"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -106,6 +106,7 @@ Partial Class Compras_RepComprasAFDetalle
|
||||
DdlProyecto.SelectedValueExist(Request.QueryString("CveProyecto").ToString)
|
||||
DdlSubProyecto.SelectedValueExist(Request.QueryString("CveSubProyecto").ToString)
|
||||
DdlProveedores.SelectedValueExist(Request.QueryString("CveProveedor").ToString)
|
||||
DdlTipoCompra.SelectedValueExist(Request.QueryString("CveTipoCompraAF").ToString)
|
||||
DdlClasificacion.SelectedValueExist(Request.QueryString("CveClasificacion").ToString)
|
||||
DdlClasificacion2.SelectedValueExist(Request.QueryString("CveClasificacion2").ToString)
|
||||
|
||||
@@ -208,7 +209,7 @@ Partial Class Compras_RepComprasAFDetalle
|
||||
|
||||
ObjClasificacion.Dispose()
|
||||
DdlClasificacion2.DataBind()
|
||||
DdlClasificacion2.Items.Insert(0, New ListItem("Totas", "-1"))
|
||||
DdlClasificacion2.Items.Insert(0, New ListItem("Todas", "-1"))
|
||||
DdlClasificacion2.Items.Insert(1, New ListItem("Sin Clasificación", "-2"))
|
||||
DdlClasificacion2.SelectedValueExist(-1)
|
||||
|
||||
@@ -284,7 +285,7 @@ Partial Class Compras_RepComprasAFDetalle
|
||||
If ObjCompras.GetRepComprasAFDetalle(FechaI, FechaF, DdlProveedores.SelectedValue.ToEntero, DdlMonedas.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1,
|
||||
DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, RblTipoCambio.SelectedValue.ToEntero, TCEspecifico,
|
||||
DdlClasificacion.SelectedValue.ToEntero, DdlActivoFijo.SelectedValue.ToEntero, DdlTipoActivoFijo.SelectedValue.ToEntero, DdlSubTipoActivoFijo.SelectedValue.ToEntero,
|
||||
CvePS, Anio.ToEntero, Mes.ToEntero, AnioMes, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveClasificacion2:=DdlClasificacion2.SelectedValue.ToEntero) Then
|
||||
CvePS, Anio.ToEntero, Mes.ToEntero, AnioMes, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveClasificacion2:=DdlClasificacion2.SelectedValue.ToEntero, CveTipoCompraAF:=DdlTipoCompra.SelectedValue.ToEntero) Then
|
||||
DTDatos = ObjCompras.DtResultados
|
||||
|
||||
GvDatos.DataSource = DTDatos
|
||||
|
||||
Reference in New Issue
Block a user