diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index 704255414..d0bf4fcef 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -49,9 +49,11 @@
  • Eliminar Movimiento
  • -
  • + + <%--
  • Refacturar Complemento -
  • + --%> +
  • Cancelar Movimiento y Complemento @@ -1215,29 +1217,30 @@ - -
    -
    -
    - -
    -
    -
    -
    - - Movimiento: - - Seleccione uno - - - +
    +
    +
    +
    + +
    +
    +
    +
    + Movimiento: + + Seleccione uno + + + +
    +
    -
    -
    - + + + + +
    +
    + Motivo de Cancelación: +
    +
    + + + + + + + + + +
    +
    + + diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index b80072e76..e8f7cfcc6 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -837,6 +837,13 @@ Partial Class Bancos_IE 'End If + + + DdlMotivoCancelacion.DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa) + DdlMotivoCancelacion.DataBind() + DdlMotivoCancelacion.Items.Insert(0, New ListItem("Seleccione uno", "-1")) + + End If End Sub @@ -1096,7 +1103,7 @@ Partial Class Bancos_IE HplDepositado.NavigateUrl = $"/Bancos/IE.aspx?CveIE={CveIEDeposito2}" End If - LnkCancelarComplemento.Visible = False + 'LnkCancelarComplemento.Visible = False LnkCancelarComplementoImporte.Visible = False UppEliminarIE.Update() @@ -1267,7 +1274,7 @@ Partial Class Bancos_IE LnkEliminar.Visible = False 'LnkCancelar.Visible = False - LnkCancelarComplemento.Visible = True + 'LnkCancelarComplemento.Visible = True LnkCancelarComplementoImporte.Visible = True End If @@ -1275,7 +1282,7 @@ Partial Class Bancos_IE Else BtnEditar.Visible = False - LnkCancelarComplemento.Visible = False + ' LnkCancelarComplemento.Visible = False LnkCancelarComplementoImporte.Visible = False DVGenerarComplementoModal.Visible = False End If @@ -4587,22 +4594,23 @@ Partial Class Bancos_IE Dim ErrorCancelarComplemento As Boolean = True If CancelarComplemento Then - Dim ObjCancelacion As New Timbrado - 'Dim ObjBanco As New ClsBancos - If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then - If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then - CargaComplementosPago() - RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") - ErrorCancelarComplemento = False - Alert("El complemento se cancelo correctamente.") - End If + Dim CveMotivoCancelacion As Integer = DdlMotivoCancelacion.SelectedValue.ToEntero + Dim CveSATMotivoCancelacion As Integer = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveMotivoCancelacion:=CveMotivoCancelacion).FiltroPrimeroValor("CveSATMotivoCancelacion").ToEntero() - Else - If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion) Then + If CveMotivoCancelacion <= 0 Or CveSATMotivoCancelacion <= 0 Then + Alert("Debe de elegir un motivo de cancelación.", TipoMensaje.MsgAdvertencia) + ErrorCancelarComplemento = True + End If - If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then + + If Not ErrorCancelarComplemento Then + + Dim ObjCancelacion As New Timbrado + If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then + + If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then CargaComplementosPago() RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") ErrorCancelarComplemento = False @@ -4610,12 +4618,25 @@ Partial Class Bancos_IE End If Else - Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia) - End If + If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then + If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then + CargaComplementosPago() + RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") + ErrorCancelarComplemento = False + Alert("El complemento se cancelo correctamente.") + End If + + Else + Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia) + End If + + End If End If + + Else ErrorCancelarComplemento = False End If @@ -5804,11 +5825,9 @@ Partial Class Bancos_IE #End Region #Region " COMPLEMENTOS PAGO " + Private Sub CargaComplementosPago() - - - Dim ObjBancos As New ClsBancos If UsuarioActual.CveRol = 1 Then @@ -5823,9 +5842,7 @@ Partial Class Bancos_IE GvComplementoPagos.DataSource = ObjBancos.DtResultados - If ObjBancos.DtResultados.FiltraParametros(" Estatus IN (1,3) ").Rows.Count = 0 And Tipo.ToUpper = "CARGO" And CveCliente > 0 And CveEstatusIE <> 2 And ObjBancos.DtResultados.FiltraParametros(" CveIECancelacion > 0 ").Rows.Count = 0 Then - DVGenerarComplementoModal.Visible = True - End If + Else GvComplementoPagos.DataSource = Nothing End If @@ -5833,6 +5850,14 @@ Partial Class Bancos_IE If CveIE > 0 Then If ObjBancos.GetComplementoPagos(-1, CveIE, -1, UsuarioActual.CveEmpresa) Then + If ObjBancos.DtResultados.FiltraParametros(" Estatus IN (1,3) ").Rows.Count = 0 And Tipo.ToUpper = "CARGO" And CveCliente > 0 And CveEstatusIE <> 2 Then + DVGenerarComplementoModal.Visible = True + End If + + If ObjBancos.DtResultados.FiltraParametros(" Estatus IN (1,3) ").Rows.Count = 1 And Tipo.ToUpper = "CARGO" And CveCliente > 0 And CveEstatusIE <> 2 Then + DVmotivoCancelacion.Visible = True + End If + ' GvComplementoPagos.DataSource = ObjBancos.DtResultados.FiltraParametros("", DistinctColumns:={"CveComplementoPago", "SerieFolio", "Fecha", "CveIE"}) @@ -5844,11 +5869,14 @@ Partial Class Bancos_IE End If End If + ObjBancos.Dispose() GvComplementoPagos.DataBind() UpComplementoPagos.Update() + UpEliminarCotizacion.Update() 'Esto se ocupa para mostrar DVmotivoCancelacion + 'ObjBancos.Dispose() 'GvComplementoPagos.DataBind() 'UpComplementoPagos.Update() @@ -5863,9 +5891,16 @@ Partial Class Bancos_IE e.Row.Cells(4).Text = String.Format("", Encripta(String.Format("OP=CompP&EXT=pdf&SerieFolio={0}&CVECOMPLEMENTOPAGO={1}&CVEIE={2}", e.Row.DBCampo("SerieFolio"), e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("CveIE")))) If e.Row.DataKey("Estatus").Contiene("1", "3") Then + e.Row.FCLinkButton("LnkCancelarComplemetno").Visible = True + e.Row.FCDropDownList("DdlMotivoCancelacion").Visible = True + e.Row.FCDropDownList("DdlMotivoCancelacion").DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa) + e.Row.FCDropDownList("DdlMotivoCancelacion").DataBind() + e.Row.FCDropDownList("DdlMotivoCancelacion").Items.Insert(0, New ListItem("Seleccione Uno", "-1")) + Else e.Row.FCLinkButton("LnkCancelarComplemetno").Visible = False + e.Row.FCDropDownList("DdlMotivoCancelacion").Visible = False End If ElseIf e.Row.DataKey("Tipo") = "Egs" Then @@ -5876,6 +5911,7 @@ Partial Class Bancos_IE GvComplementoPagos.Columns(6).Visible = False GvComplementoPagos.Columns(7).Visible = False GvComplementoPagos.Columns(8).Visible = False + GvComplementoPagos.Columns(9).Visible = False End If @@ -5950,13 +5986,13 @@ Partial Class Bancos_IE Return Retorno End Function - Protected Sub LnkCancelarComplemento_Click(sender As Object, e As EventArgs) - If ChkConciliado.Checked Then - Alert("El documento seleccionado no se puede eliminar porque se encuentra conciliado.", TipoMensaje.MsgError) - Exit Sub - End If - Confirmacion("¿Seguro que desea Cancelar el documento por Sustitución?", "", String.Format("document.location.href=""/Ventas/ClientesAbonar.aspx?CveIESustitucion={0}&CveCliente={1}&CveMoneda={2}""", CveIE, CveCliente, CveMoneda), "") - End Sub + 'Protected Sub LnkCancelarComplemento_Click(sender As Object, e As EventArgs) + ' If ChkConciliado.Checked Then + ' Alert("El documento seleccionado no se puede eliminar porque se encuentra conciliado.", TipoMensaje.MsgError) + ' Exit Sub + ' End If + ' Confirmacion("¿Seguro que desea Cancelar el documento por Sustitución?", "", String.Format("document.location.href=""/Ventas/ClientesAbonar.aspx?CveIESustitucion={0}&CveCliente={1}&CveMoneda={2}""", CveIE, CveCliente, CveMoneda), "") + 'End Sub #End Region @@ -6126,6 +6162,9 @@ Partial Class Bancos_IE CalendarioCancelacion.StartDate = fechaCancelacion.ToDate UpEliminarCotizacion.Update() End If + + + RegistraScript("ShowDivCancelarIE();") End Sub Protected Sub BtnDesconciliar_Click(sender As Object, e As EventArgs) @@ -6605,6 +6644,16 @@ Partial Class Bancos_IE Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).BindingContainer, GridViewRow) + + + Dim CveMotivoCancelacion As Integer = GvRow.FCDropDownList("DdlMotivoCancelacion").SelectedValue.ToEntero + Dim CveSATMotivoCancelacion As Integer = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveMotivoCancelacion:=CveMotivoCancelacion).FiltroPrimeroValor("CveSATMotivoCancelacion").ToEntero() + + If CveMotivoCancelacion <= 0 Or CveSATMotivoCancelacion <= 0 Then + Alert("Debe de elegir un motivo de cancelación.", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + CveComplementoPagoCancelar = GvRow.DataKey("CveComplementoPago").ToEntero FolioFiscalCancelar = GvRow.DataKey("FolioFiscal").ToString '' Dim RFCEmisor As String = UsuarioActual.Empresa.RFC @@ -6622,7 +6671,7 @@ Partial Class Bancos_IE End If Else - Dim CveSATMotivoCancelacion As Integer = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveSATMotivoCancelacion:=2).FiltroPrimeroValor("CveSATMotivoCancelacion").ToEntero() + If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then @@ -6681,6 +6730,8 @@ Partial Class Bancos_IE RegistraScript("$('#ModalCancelarComplemetno').modal('show');") DivFechaCancelación.Visible = True + CargaComplementosPago() + UpModalCancelarComplemetno.Update() Else diff --git a/Bancos/RepComplementoPago.aspx b/Bancos/RepComplementoPago.aspx index 74cdfbed1..73d4236b4 100644 --- a/Bancos/RepComplementoPago.aspx +++ b/Bancos/RepComplementoPago.aspx @@ -177,7 +177,7 @@ - + Cancelar SAT @@ -189,49 +189,7 @@ - diff --git a/Bancos/RepComplementoPago.aspx.vb b/Bancos/RepComplementoPago.aspx.vb index 2669c672c..d79cc385c 100644 --- a/Bancos/RepComplementoPago.aspx.vb +++ b/Bancos/RepComplementoPago.aspx.vb @@ -150,9 +150,9 @@ Partial Class Bancos_RepComplementoPago e.Row.FCHyperLink("HplPDF").Visible = True : e.Row.FCHyperLink("HplPDF").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CompP&EXT=pdf&CveComplementoPago={0}&SerieFolio={1}&CveIE={2}", e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("SerieFolioPago").ToString.Replace("&", "%26%"), e.Row.DBCampo("CveIE").ToString))) e.Row.FCLinkButton("LnkSendMail").Visible = True - If DdlOpcion.SelectedValue.ToEntero = 2 Then - e.Row.FCLinkButton("LnkCancelarFolioFiscal").Visible = True - End If + 'If DdlOpcion.SelectedValue.ToEntero = 2 Then + ' e.Row.FCLinkButton("LnkCancelarFolioFiscal").Visible = True + 'End If End If @@ -529,7 +529,11 @@ Partial Class Bancos_RepComplementoPago Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) - End Sub - + End Sub + + + + + End Class diff --git a/General/CatCategorias.aspx.vb b/General/CatCategorias.aspx.vb index 5b000f4c2..534d63aeb 100644 --- a/General/CatCategorias.aspx.vb +++ b/General/CatCategorias.aspx.vb @@ -41,12 +41,14 @@ Partial Class General_CatCategorias If ObjCategorias.AddCategorias(TxtCategoria.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then TxtCategoria.Text = "" Alert("El nueva Categoría se guardó correctamente.", TipoMensaje.MsgInformacion) + GlobalDTGralCategorias(UsuarioActual.CveEmpresa) = Nothing End If ElseIf HdnModalidadCategoria.Value = "U" Then If ObjCategorias.UpdateCategoria(TxtCategoria.Text.Trim, ChkEstatus.Checked, HdnIDCategoria.Value.ToEntero) Then TxtCategoria.Text = "" ChkEstatus.Checked = True Alert("La Categoría se actualizó correctamente.", TipoMensaje.MsgInformacion) + GlobalDTGralCategorias(UsuarioActual.CveEmpresa) = Nothing End If End If diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb index 6c53d676e..8daf157f8 100644 --- a/Ventas/ClientesAbonar.aspx.vb +++ b/Ventas/ClientesAbonar.aspx.vb @@ -155,14 +155,16 @@ Partial Class Ventas_ClientesAbonar ViewState("Mail") = value End Set End Property - Private Property CveIESustitucion As Integer - Get - Return ViewState("CveIESustitucion").ToString.ToEntero - End Get - Set(value As Integer) - ViewState("CveIESustitucion") = value - End Set - End Property + + 'Private Property CveIESustitucion As Integer + ' Get + ' Return ViewState("CveIESustitucion").ToString.ToEntero + ' End Get + ' Set(value As Integer) + ' ViewState("CveIESustitucion") = value + ' End Set + 'End Property + Private Property CFDIRelacionadoSustitucion As String Get If ViewState("CFDIRelacionadoSustitucion") Is Nothing Then @@ -244,9 +246,9 @@ Partial Class Ventas_ClientesAbonar FechaCorteIE = DateTime.Now - If CveIESustitucion > 0 Then - CargaIESustituir() - End If + 'If CveIESustitucion > 0 Then + ' CargaIESustituir() + 'End If Dim dia As Integer = If(UsuarioActual.CveEmpresa = 13, Now.Day - 1, Now.Day) Fecha = (dia.ToString + "/" + Now.Month.ToString + "/" + Now.Year.ToString).ToDate @@ -334,7 +336,9 @@ Partial Class Ventas_ClientesAbonar Retorno = True CargaCuentas() CargaTipoTransaccion() - TxtFechaDocumento.Text = IIf(CveIESustitucion > 0, FechaCorteIE.ToShortDateString, Now.ToShortDateString).ToString + + 'TxtFechaDocumento.Text = IIf(CveIESustitucion > 0, FechaCorteIE.ToShortDateString, Now.ToShortDateString).ToString + TxtFechaDocumento.Text = Now.ToShortDateString.ToString TxtAboneA.Enabled = False LbEncabezado.Text = String.Format("{1}", CveCliente, ObjCliente.NombreComercial) @@ -372,10 +376,12 @@ Partial Class Ventas_ClientesAbonar Dim FechaI As String = IfNull(Request("FechaI"), "-1") Dim FechaF As String = IfNull(Request("FechaF"), "-1") - Dim FechaCorte As Date = IIf(CveIESustitucion > 0, (FechaCorteIE.ToDate).ToShortDateString, DateTime.Now.AddYears(1).ToShortDateString).ToString.ToDate + 'Dim FechaCorte As Date = IIf(CveIESustitucion > 0, (FechaCorteIE.ToDate).ToShortDateString, DateTime.Now.AddYears(1).ToShortDateString).ToString.ToDate + Dim FechaCorte As Date = DateTime.Now.AddYears(1).ToShortDateString.ToString.ToDate Dim SumDescuentoProntoPago As Double = 0.0 - If Mov.GetCxCClienteDetalle(ViewState("CveCliente").ToString.ToEntero, FechaI, FechaF, pCveMoneda, CveSubProyecto, UsuarioActual.CveEmpresa, CveClienteSucursal, FechaCorte:=FechaCorte, CveIESustitucion:=CveIESustitucion) Then + 'If Mov.GetCxCClienteDetalle(ViewState("CveCliente").ToString.ToEntero, FechaI, FechaF, pCveMoneda, CveSubProyecto, UsuarioActual.CveEmpresa, CveClienteSucursal, FechaCorte:=FechaCorte, CveIESustitucion:=CveIESustitucion) Then + If Mov.GetCxCClienteDetalle(ViewState("CveCliente").ToString.ToEntero, FechaI, FechaF, pCveMoneda, CveSubProyecto, UsuarioActual.CveEmpresa, CveClienteSucursal, FechaCorte:=FechaCorte) Then Dim TmpCxCAux As DataTable TmpCxCAux = Mov.DtResultados.FiltraParametros("Saldo > 0", "Fecha,SerieFolio") SumDescuentoProntoPago = TmpCxCAux.SUM("DescuentoProntoPago") @@ -385,6 +391,7 @@ Partial Class Ventas_ClientesAbonar CveMoneda = pCveMoneda End If + TxtImporte.Text = "" TxtObservaciones.Text = "" If SumDescuentoProntoPago > 0.0 Then @@ -701,12 +708,12 @@ Partial Class Ventas_ClientesAbonar '02-05-2018 MANDAMOS CANCELAR EL COMPLEMENTO A SUSTITUIR Dim ErrorCancelarIE As Boolean = False - If CveIESustitucion > 0 Then - ErrorCancelarIE = CancelarIE() - If ErrorCancelarIE Then - Exit Sub - End If - End If + 'If CveIESustitucion > 0 Then + ' ErrorCancelarIE = CancelarIE() + ' If ErrorCancelarIE Then + ' Exit Sub + ' End If + 'End If Dim ObjIE As New ClsBancos() Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL) @@ -761,7 +768,8 @@ Partial Class Ventas_ClientesAbonar End If - CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text.Trim, TxtImporte.Text.ToDecimal, GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", "CveCuenta = " & DdlCuenta.SelectedValue).ToEntero, TipoCambio, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveIESustitucion:=CveIESustitucion, CveProveedorIntermediario:=CveProvIntermediario) + 'CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text.Trim, TxtImporte.Text.ToDecimal, GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", "CveCuenta = " & DdlCuenta.SelectedValue).ToEntero, TipoCambio, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveIESustitucion:=CveIESustitucion, CveProveedorIntermediario:=CveProvIntermediario) + CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text.Trim, TxtImporte.Text.ToDecimal, GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", "CveCuenta = " & DdlCuenta.SelectedValue).ToEntero, TipoCambio, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveIESustitucion:=-1, CveProveedorIntermediario:=CveProvIntermediario) Else If RblTipoPago.SelectedValue.Contiene("3") Then CveIE = DdlIngreso.SelectedValue.ToEntero @@ -1726,16 +1734,18 @@ Partial Class Ventas_ClientesAbonar End If 'BITACORA - If MsgError = "" Then - If CveIESustitucion > 0 And ComplementoSustitucionGenerado Then - If Not ObjEvento.AddEventoBitacora($"Complemento de pago Cancelado por sustitución con Folio {TxtFolio.Text}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIESustitucion) Then - MsgError = "Ocurrió un error al agregar la bitacora" - End If - If Not ObjEvento.AddEventoBitacora($"Complemento de pago Generado por Sustitución de {FolioIECancelado}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIE) Then - MsgError = "Ocurrió un error al agregar la bitacora" - End If - End If - End If + 'If MsgError = "" Then + + ' If CveIESustitucion > 0 And ComplementoSustitucionGenerado Then + ' If Not ObjEvento.AddEventoBitacora($"Complemento de pago Cancelado por sustitución con Folio {TxtFolio.Text}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIESustitucion) Then + ' MsgError = "Ocurrió un error al agregar la bitacora" + ' End If + ' If Not ObjEvento.AddEventoBitacora($"Complemento de pago Generado por Sustitución de {FolioIECancelado}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIE) Then + ' MsgError = "Ocurrió un error al agregar la bitacora" + ' End If + ' End If + + 'End If Catch ex As Exception MsgError = "Ocurrió un error al guardar el movimiento" @@ -2269,7 +2279,7 @@ Partial Class Ventas_ClientesAbonar DdlCuenta.SelectedValue = "-1" DdlTipoTransaccion.SelectedValue = "-1" - CveIESustitucion = "-1" + 'CveIESustitucion = "-1" CFDIRelacionadoSustitucion = "-1" FechaCorteIE = DateTime.Now.ToDate IDPoliza = -1 @@ -2500,7 +2510,8 @@ Partial Class Ventas_ClientesAbonar Dim ObjBancos As New ClsBancos - If ObjBancos.GetComplementoPagosRep(-1, Now.AddYears(-2), Now, CveIE, -1, If(CveIESustitucion > 0, 2, 1), UsuarioActual.CveEmpresa, -1) Then + 'If ObjBancos.GetComplementoPagosRep(-1, Now.AddYears(-2), Now, CveIE, -1, If(CveIESustitucion > 0, 2, 1), UsuarioActual.CveEmpresa, -1) Then + If ObjBancos.GetComplementoPagosRep(-1, Now.AddYears(-2), Now, CveIE, -1, 1, UsuarioActual.CveEmpresa, -1) Then If Not ObjBancos.DtResultados.Rows.Count > 0 Then ObjBancos.Dispose() Alert("No se generaron complementos de pago porque no hay facturas con método de pago PPD", TipoMensaje.MsgAdvertencia) @@ -2512,7 +2523,9 @@ Partial Class Ventas_ClientesAbonar ObjBancos.IniciaTransacSQL() - If ObjBancos.GeneraTimbrePago(CveIE, -1, UsuarioActual, CveCliente, CFDIRelacionado:=CFDIRelacionadoSustitucion, EsRegeneracion:=If(CveIESustitucion > 0, True, False)) Then + + 'If ObjBancos.GeneraTimbrePago(CveIE, -1, UsuarioActual, CveCliente, CFDIRelacionado:=CFDIRelacionadoSustitucion, EsRegeneracion:=If(CveIESustitucion > 0, True, False)) Then + If ObjBancos.GeneraTimbrePago(CveIE, -1, UsuarioActual, CveCliente, CFDIRelacionado:=CFDIRelacionadoSustitucion, EsRegeneracion:=False) Then ObjBancos.Commit() ComplementoSustitucionGenerado = True @@ -2883,183 +2896,185 @@ Partial Class Ventas_ClientesAbonar #End Region #Region "COMPLEMENTO DE PAGO - ELIMINAR POR SUSTITUCION" - Protected Sub CargaIESustituir() - Dim ObjIE As New ClsBancos() - If ObjIE.GetBancosIE(CveIESustitucion, UsuarioActual.CveEmpresa) Then - If ObjIE.DtResultados.Rows.Count > 0 Then - FechaCorteIE = ObjIE.FechaDocumento - CveMoneda = ObjIE.CveMoneda - CveMonedaFiltro = CveMoneda - IDPoliza = ObjIE.IDPoliza - FolioIECancelado = ObjIE.Folio - End If - End If - ObjIE.Dispose() - UpDatos.Update() - End Sub - Function CancelarIE() As Boolean - Dim ErrorCancelar = False - If Not IsDate(TxtFechaDocumento.Text.ToDate) Then - Alert("El campo fecha cancelación es incorrecto. Por favor verifique y vuelva a intentar") - Return True - End If + 'Protected Sub CargaIESustituir() + ' Dim ObjIE As New ClsBancos() + ' If ObjIE.GetBancosIE(CveIESustitucion, UsuarioActual.CveEmpresa) Then + ' If ObjIE.DtResultados.Rows.Count > 0 Then + ' FechaCorteIE = ObjIE.FechaDocumento + ' CveMoneda = ObjIE.CveMoneda + ' CveMonedaFiltro = CveMoneda + ' IDPoliza = ObjIE.IDPoliza + ' FolioIECancelado = ObjIE.Folio + ' End If + ' End If + ' ObjIE.Dispose() + ' UpDatos.Update() + 'End Sub - Dim Banc As New ClsBancos - Banc.IniciaTransacSQL() + 'Function CancelarIE() As Boolean + ' Dim ErrorCancelar = False - Dim ObjAC As ClsContPAQi = Nothing - If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad Then - ObjAC = New ClsContPAQi(UsuarioActual.Empresa) - ObjAC.IniciaTransacSQL() - End If + ' If Not IsDate(TxtFechaDocumento.Text.ToDate) Then + ' Alert("El campo fecha cancelación es incorrecto. Por favor verifique y vuelva a intentar") + ' Return True + ' End If - Dim IdPolizaNueva = -1 - Dim FolioPolizaNueva = -1 + ' Dim Banc As New ClsBancos + ' Banc.IniciaTransacSQL() - Try - 'CANCELA IE CONTABILIZADO - If IDPoliza > 0 Then - If ObjAC Is Nothing Then - ErrorCancelar = True - End If + ' Dim ObjAC As ClsContPAQi = Nothing + ' If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad Then + ' ObjAC = New ClsContPAQi(UsuarioActual.Empresa) + ' ObjAC.IniciaTransacSQL() + ' End If - If Not ErrorCancelar Then - Dim dt As DataTable - If ObjAC.GetPoliza(IDPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then - dt = ObjAC.DtResultados + ' Dim IdPolizaNueva = -1 + ' Dim FolioPolizaNueva = -1 - ' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS) - If dt.Rows(0)("FechaPol").ToString.ToDate.Month < TxtFechaDocumento.Text.ToDate.Month Or dt.Rows(0)("FechaPol").ToString.ToDate.Year < TxtFechaDocumento.Text.ToDate.Year Then - IdPolizaNueva = ObjAC.AddPoliza(3, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), 0, 0, UsuarioActual.CveUsuario, TxtFechaDocumento.Text.ToDate) + ' Try + ' 'CANCELA IE CONTABILIZADO + ' If IDPoliza > 0 Then + ' If ObjAC Is Nothing Then + ' ErrorCancelar = True + ' End If - If IdPolizaNueva > 0 Then - FolioPolizaNueva = ObjAC.Folio + ' If Not ErrorCancelar Then + ' Dim dt As DataTable + ' If ObjAC.GetPoliza(IDPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then + ' dt = ObjAC.DtResultados - 'CREA POLIZA NEGATIVA - For Each dr As DataRow In dt.Rows - If Not ObjAC.AddMovimiento(IdPolizaNueva, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "True", dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), dr("IdSegNeg").ToString.ToEntero, TxtFechaDocumento.Text.ToDate, "") Then - ErrorCancelar = True : Exit For - End If - Next + ' ' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS) + ' If dt.Rows(0)("FechaPol").ToString.ToDate.Month < TxtFechaDocumento.Text.ToDate.Month Or dt.Rows(0)("FechaPol").ToString.ToDate.Year < TxtFechaDocumento.Text.ToDate.Year Then + ' IdPolizaNueva = ObjAC.AddPoliza(3, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), 0, 0, UsuarioActual.CveUsuario, TxtFechaDocumento.Text.ToDate) - 'AJUSTA POLIZA - If Not ErrorCancelar Then - If Not ObjAC.AjustaPoliza(IdPolizaNueva) Then - ErrorCancelar = True - End If - End If + ' If IdPolizaNueva > 0 Then + ' FolioPolizaNueva = ObjAC.Folio - 'CANCELA IE - If Not ErrorCancelar Then - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then - ErrorCancelar = True - End If - End If + ' 'CREA POLIZA NEGATIVA + ' For Each dr As DataRow In dt.Rows + ' If Not ObjAC.AddMovimiento(IdPolizaNueva, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "True", dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), dr("IdSegNeg").ToString.ToEntero, TxtFechaDocumento.Text.ToDate, "") Then + ' ErrorCancelar = True : Exit For + ' End If + ' Next - Else - ErrorCancelar = True - End If + ' 'AJUSTA POLIZA + ' If Not ErrorCancelar Then + ' If Not ObjAC.AjustaPoliza(IdPolizaNueva) Then + ' ErrorCancelar = True + ' End If + ' End If - Else + ' 'CANCELA IE + ' If Not ErrorCancelar Then + ' If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then + ' ErrorCancelar = True + ' End If + ' End If - 'LIMPIA POLIZA PONIENDO IMPORTE EN CEROS - For Each dr As DataRow In dt.Rows - If Not ObjAC.UpdateMovimiento(dr("Id").ToString.ToEntero, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "1", 0, dr("Referencia").ToString, dr("Concepto").ToString, dr("IdSegNeg").ToString.ToEntero, dr("Fecha").ToString.ToDate) Then - ErrorCancelar = True : Exit For - End If - Next + ' Else + ' ErrorCancelar = True + ' End If - 'AJUSTA POLIZA - If Not ErrorCancelar Then - If Not ObjAC.AjustaPoliza(IDPoliza) Then - ErrorCancelar = True - End If - End If + ' Else - 'CANCELA IE - If Not ErrorCancelar Then - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then - ErrorCancelar = True - End If - End If + ' 'LIMPIA POLIZA PONIENDO IMPORTE EN CEROS + ' For Each dr As DataRow In dt.Rows + ' If Not ObjAC.UpdateMovimiento(dr("Id").ToString.ToEntero, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "1", 0, dr("Referencia").ToString, dr("Concepto").ToString, dr("IdSegNeg").ToString.ToEntero, dr("Fecha").ToString.ToDate) Then + ' ErrorCancelar = True : Exit For + ' End If + ' Next - End If + ' 'AJUSTA POLIZA + ' If Not ErrorCancelar Then + ' If Not ObjAC.AjustaPoliza(IDPoliza) Then + ' ErrorCancelar = True + ' End If + ' End If - End If - End If - Else + ' 'CANCELA IE + ' If Not ErrorCancelar Then + ' If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then + ' ErrorCancelar = True + ' End If + ' End If - If FechaCorteIE.Month < TxtFechaDocumento.Text.ToDate.Month Or FechaCorteIE.Year < TxtFechaDocumento.Text.ToDate.Year Then - 'CANCELA IE MES ANTERIOR - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then - ErrorCancelar = True - End If - Else - 'CANCELA IE MES ACTUAL - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then - ErrorCancelar = True - End If - End If + ' End If - End If + ' End If + ' End If + ' Else - If Not ErrorCancelar Then - If Banc.GetComplementoPagos(-1, CveIESustitucion, -1, UsuarioActual.CveEmpresa) Then + ' If FechaCorteIE.Month < TxtFechaDocumento.Text.ToDate.Month Or FechaCorteIE.Year < TxtFechaDocumento.Text.ToDate.Year Then + ' 'CANCELA IE MES ANTERIOR + ' If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then + ' ErrorCancelar = True + ' End If + ' Else + ' 'CANCELA IE MES ACTUAL + ' If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then + ' ErrorCancelar = True + ' End If + ' End If - Dim CveComplementoPago As Integer = -1 + ' End If - If Banc.DtResultados.Rows.Count > 0 Then - 'OBTENEMOS EL UUID DEL COMPLEMENTO A CANCELAR POR SUSTITUCION - CFDIRelacionadoSustitucion = Banc.DtResultados.Rows(0)("FolioFiscal") - CveComplementoPago = Banc.DtResultados(0)("CveComplementoPago").ToString().ToEntero - End If + ' If Not ErrorCancelar Then + ' If Banc.GetComplementoPagos(-1, CveIESustitucion, -1, UsuarioActual.CveEmpresa) Then - 'ACTUALIZA FOLIOS CANCELADOS - If Banc.DtResultados.FiltraParametros("", DistinctColumns:={"CveComplementoPago", "SerieFolio", "Fecha", "CveIE"}).Rows.Count > 0 Then - If Not Banc.GetFoliosCancelados(UsuarioActual.CveEmpresa) Then - ErrorCancelar = True - Else - Dim FolioCancelado = $"{FolioIECancelado}_C_{Banc.DtResultados(0)("Cantidad").ToString().ToEntero + 1}" + ' Dim CveComplementoPago As Integer = -1 - If Not Banc.UpdateFolioCancelado(CveIESustitucion.ToEntero, Folio:=FolioCancelado) Then - ErrorCancelar = True - End If - End If - End If + ' If Banc.DtResultados.Rows.Count > 0 Then + ' 'OBTENEMOS EL UUID DEL COMPLEMENTO A CANCELAR POR SUSTITUCION + ' CFDIRelacionadoSustitucion = Banc.DtResultados.Rows(0)("FolioFiscal") + ' CveComplementoPago = Banc.DtResultados(0)("CveComplementoPago").ToString().ToEntero + ' End If - 'ACTUALIZA ESTATUS DE COMPLEMENTO DE PAGO A CANCELADO = 2 - If Not ErrorCancelar And CveComplementoPago > 0 Then - If Not Banc.UpdateComplementoPagoCancelado(CveComplementoPago, 2, UsuarioActual.Empresa.CvePAC, UsuarioActual.CveEmpresa, DateTime.Now) Then - ErrorCancelar = True - End If - End If - End If - End If - Catch ex As Exception - ErrorCancelar = True - OnError("Ocurrió un error al cancelar el IE", ex) - End Try + ' 'ACTUALIZA FOLIOS CANCELADOS + ' If Banc.DtResultados.FiltraParametros("", DistinctColumns:={"CveComplementoPago", "SerieFolio", "Fecha", "CveIE"}).Rows.Count > 0 Then + ' If Not Banc.GetFoliosCancelados(UsuarioActual.CveEmpresa) Then + ' ErrorCancelar = True + ' Else + ' Dim FolioCancelado = $"{FolioIECancelado}_C_{Banc.DtResultados(0)("Cantidad").ToString().ToEntero + 1}" - If Not ErrorCancelar Then - Banc.Commit() - If ObjAC IsNot Nothing Then ObjAC.Commit() + ' If Not Banc.UpdateFolioCancelado(CveIESustitucion.ToEntero, Folio:=FolioCancelado) Then + ' ErrorCancelar = True + ' End If + ' End If + ' End If - Dim Msg As New StringBuilder - Msg.Append("El movimiento bancario quedó cancelado exitosamente.") + ' 'ACTUALIZA ESTATUS DE COMPLEMENTO DE PAGO A CANCELADO = 2 + ' If Not ErrorCancelar And CveComplementoPago > 0 Then + ' If Not Banc.UpdateComplementoPagoCancelado(CveComplementoPago, 2, UsuarioActual.Empresa.CvePAC, UsuarioActual.CveEmpresa, DateTime.Now) Then + ' ErrorCancelar = True + ' End If + ' End If + ' End If + ' End If + ' Catch ex As Exception + ' ErrorCancelar = True + ' OnError("Ocurrió un error al cancelar el IE", ex) + ' End Try - If IdPolizaNueva > 0 Then Msg.AppendFormat("

    Ver Póliza de cancelación", IdPolizaNueva) - Alert(Msg.ToString, TipoMensaje.MsgInformacion) - Else - Banc.RollBack() - If ObjAC IsNot Nothing Then ObjAC.RollBack() - Alert("El movimiento bancario no se pudo cancelar. Por favor vuelva a intentar.", TipoMensaje.MsgError) - End If + ' If Not ErrorCancelar Then + ' Banc.Commit() + ' If ObjAC IsNot Nothing Then ObjAC.Commit() - If ObjAC IsNot Nothing Then ObjAC.Dispose() - Banc.Dispose() - Return ErrorCancelar - End Function + ' Dim Msg As New StringBuilder + ' Msg.Append("El movimiento bancario quedó cancelado exitosamente.") + + ' If IdPolizaNueva > 0 Then Msg.AppendFormat("

    Ver Póliza de cancelación", IdPolizaNueva) + ' Alert(Msg.ToString, TipoMensaje.MsgInformacion) + ' Else + ' Banc.RollBack() + ' If ObjAC IsNot Nothing Then ObjAC.RollBack() + ' Alert("El movimiento bancario no se pudo cancelar. Por favor vuelva a intentar.", TipoMensaje.MsgError) + ' End If + + ' If ObjAC IsNot Nothing Then ObjAC.Dispose() + ' Banc.Dispose() + ' Return ErrorCancelar + 'End Function Private Sub BtnVincularIntermediario_Click(sender As Object, e As EventArgs) Handles BtnVincularIntermediario.Click RegistraScript("$('#ModalVincularIntermediario').modal('hide')", "hidemodal") diff --git a/Ventas/ProductosServicios.aspx b/Ventas/ProductosServicios.aspx index 1dd2de17a..6f716c614 100644 --- a/Ventas/ProductosServicios.aspx +++ b/Ventas/ProductosServicios.aspx @@ -2178,6 +2178,40 @@ <%-- FIN MODAL PS ADICIONALES --%> + + + + + + + + + + diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index 53a0a361e..5c8299fe2 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -148,6 +148,29 @@ Partial Class ProductosyServicios End Property #End Region + +#Region "Material peligroso" + + Property ValidaMaterialPeligrosoMensaje As Boolean + Get + + If ViewState("ValidaMaterialPeligroso") Is Nothing Then + ViewState("ValidaMaterialPeligroso") = False + End If + + Return Boolean.Parse(ViewState("ValidaMaterialPeligroso").ToString) + + End Get + Set(value As Boolean) + ViewState("ValidaMaterialPeligroso") = value + End Set + + + End Property + +#End Region + + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then @@ -1213,6 +1236,15 @@ Partial Class ProductosyServicios End Sub Protected Sub BtnGuardar_Click(sender As Object, e As System.EventArgs) Handles BtnGuardar.Click + + If DdlSATPS.txtValue.Value.ToEntero > 0 Then + If Not ValidaMaterialPeligrosoMensaje Then + ValidaMaterialPeligroso(DdlSATPS.txtValue.Value.ToEntero) + Exit Sub + End If + End If + + If DdlSATPS.SelectedValue.Contiene("46920", "0", "-1") AndAlso UsuarioActual.CveEmpresa.Contiene(119, 158, 72, 80, 145) Then Alert("El Producto Servicio SAT con clave '01010101' no es valido, por favor seleccione otro", TipoMensaje.MsgAdvertencia) Exit Sub @@ -3045,4 +3077,76 @@ Partial Class ProductosyServicios End If Return False End Function + + + + + + + Sub ValidaMaterialPeligroso(CveSATPS As Integer) + + Dim EsPeligroso As Boolean = False + + Dim ObjGrales As New ClsGenerales + + + If ObjGrales.GetSATProductosServicios(CveSATPS:=CveSATPS) Then + + Dim DTDatos As New DataTable + DTDatos = ObjGrales.DtResultados.FiltraParametros($" CveSATPS= {CveSATPS}") + + + + 'Es material Peligros + If DTDatos.Rows(0)("EsPeligroso").ToString.ToEntero = 1 Then + + If DdlMaterialPeligroso.txtValue.Value.ToEntero > 0 And DdlEmbalaje.txtValue.Value.ToEntero > 0 And TxtPesoKg.Text.Trim.Length > 0 Then + ValidaMaterialPeligrosoMensaje = True + Else + + RegistraScript("$('#DivModalMensaje').modal('show');") + ValidaMaterialPeligrosoMensaje = False + LblModalMensajeCuerpo.Text = "El producto servicio del SAT seleccionado esta clasificado como material peligroso, favor de llenar los datos de la sección carta porte en la pestaña Contabilidad - Inventarios." + UPModalMensaje.Update() + End If + + Else + 'No es matgerial peligroso + + If DdlMaterialPeligroso.txtValue.Value.ToEntero > 0 Or DdlEmbalaje.txtValue.Value.ToEntero > 0 Or TxtPesoKg.Text.Trim.Length > 0 Then + RegistraScript("$('#DivModalMensaje').modal('show');") + ValidaMaterialPeligrosoMensaje = False + LblModalMensajeCuerpo.Text = "El producto servicio del SAT seleccionado no esta clasificado como material peligroso, favor de limpiar los datos de la sección carta porte en la pestaña Contabilidad - Inventarios, el incluir estos datos en un material no peligroso generara errores al timbrar traslados." + UPModalMensaje.Update() + + Else + ValidaMaterialPeligrosoMensaje = True + End If + + + End If + End If + + + + ObjGrales.Dispose() + + + + 'Return Respuesta + + End Sub + + Protected Sub BtnmodalMensajeOK_Click(sender As Object, e As EventArgs) + + ValidaMaterialPeligrosoMensaje = True + RegistraScript("$('#DivPersonalizar').modal('hide');") + + BtnGuardar_Click(Nothing, Nothing) + + + End Sub + + + End Class