diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb index e3d47be18..0addaf0c1 100644 --- a/App_Code/ClsClientes.vb +++ b/App_Code/ClsClientes.vb @@ -158,6 +158,7 @@ Public Class ClsClientes Public Property RegimenFiscal As String Public Property RepresentanteLegal As String Public Property CveAlmacenAsignado As Integer = -1 + Public Property CveAlmacenAlterno As Integer = -1 Public Property UsaProductoAlterno As Boolean = False @@ -407,8 +408,8 @@ Public Class ClsClientes _CodigoRegimenFiscal = Data(0)("CodigoRegimenFiscal").ToString _RepresentanteLegal = Data(0)("RepresentanteLegal").ToString _CveAlmacenAsignado = Data(0)("CveAlmacenAsignado").ToString.ToEntero + _CveAlmacenAlterno = Data(0)("CveAlmacenAlterno").ToString.ToEntero _UsaProductoAlterno = CBool(Data(0)("UsaProductoAlterno")) - Me.CveAlmacenAsignado = Data(0)("CveAlmacenAsignado").ToString.ToEntero End If Retorno = True @@ -526,7 +527,7 @@ Public Class ClsClientes Optional CveMotivoTraslado As Integer = 0, Optional NumRegIdTrib As String = "", Optional ComExtEstado As String = "-1", Optional ComExtMunicipio As String = "-1", Optional ComExtColonia As String = "-1", Optional RequiereOC As Boolean = False, Optional LT As String = "0", Optional LG As String = "0", Optional EsDistribuidor As Boolean = False, Optional TipoCliente As Integer = 1, Optional CargoUsado As Boolean = False, Optional BonificacionUsado As Boolean = False, Optional CveTipoRetencion As Integer = 0, Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1", Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional CveRegimenFiscal As Integer = 0, Optional RegimenSociedad As String = "-1", Optional TipoPersona As Boolean = False, - Optional RepresentanteLegal As String = "", Optional FechaLimiteCredito As Date = MinFecha, Optional ComExtCalle As String = "-1", Optional ComExtNumExt As String = "-1", Optional ComExtCP As String = "-1", Optional Genero As Boolean = True, Optional CveAlmacenAsignado As Integer = -1, Optional UsaProductoAlterno As Boolean = False) As Boolean + Optional RepresentanteLegal As String = "", Optional FechaLimiteCredito As Date = MinFecha, Optional ComExtCalle As String = "-1", Optional ComExtNumExt As String = "-1", Optional ComExtCP As String = "-1", Optional Genero As Boolean = True, Optional CveAlmacenAsignado As Integer = -1, Optional CveAlmacenAlterno As Integer = -1, Optional UsaProductoAlterno As Boolean = False) As Boolean Dim Retorno As Boolean = False @@ -655,6 +656,7 @@ Public Class ClsClientes .Add("@ComExtCP", SqlDbType.VarChar).Value = ComExtCP .Add("@Genero", SqlDbType.Bit).Value = Genero .Add("@CveAlmacenAsignado", SqlDbType.Int).Value = CveAlmacenAsignado + .Add("@CveAlmacenAlterno", SqlDbType.Int).Value = CveAlmacenAlterno .Add("@UsaProductoAlterno", SqlDbType.Bit).Value = UsaProductoAlterno End With Try @@ -701,7 +703,7 @@ Public Class ClsClientes Optional ApellidoPaternoPF As String = "-1", Optional ApellidoMaternoPF As String = "-1", Optional NombresPF As String = "-1", Optional RequiereOC As Boolean = False, Optional LT As String = "0", Optional LG As String = "0", Optional EsDistribuidor As Boolean = False, Optional TipoCliente As Integer = 1, Optional CargoUsado As Boolean = False, Optional BonificacionUsado As Boolean = False, Optional CveTipoRetencion As Integer = 0, Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1", Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional NoDesglosaIVA As Boolean = False, Optional CveRegimenFiscal As Integer = 0, Optional RegimenSociedad As String = "-1", Optional TipoPersona As Boolean = False, - Optional RepresentanteLegal As String = "", Optional FechaLimiteCredito As Date = MinFecha, Optional ComExtCalle As String = "-1", Optional ComExtNumExt As String = "-1", Optional ComExtCP As String = "-1", Optional Genero As Boolean = True, Optional CveAlmacenAsignado As Integer = -1, Optional UsaProductoAlterno As Boolean = False) As Boolean + Optional RepresentanteLegal As String = "", Optional FechaLimiteCredito As Date = MinFecha, Optional ComExtCalle As String = "-1", Optional ComExtNumExt As String = "-1", Optional ComExtCP As String = "-1", Optional Genero As Boolean = True, Optional CveAlmacenAsignado As Integer = -1, Optional CveAlmacenAlterno As Integer = -1, Optional UsaProductoAlterno As Boolean = False) As Boolean Dim Retorno As Boolean = False @@ -840,6 +842,7 @@ Public Class ClsClientes .Add("@ComExtCP", SqlDbType.VarChar).Value = ComExtCP .Add("@Genero", SqlDbType.Bit).Value = Genero .Add("@CveAlmacenAsignado", SqlDbType.Int).Value = CveAlmacenAsignado + .Add("@CveAlmacenAlterno", SqlDbType.Int).Value = CveAlmacenAlterno .Add("@UsaProductoAlterno", SqlDbType.Bit).Value = UsaProductoAlterno End With @@ -1049,7 +1052,7 @@ Public Class ClsClientes 'End Function Public Function AddSucursal(CveCliente As Integer, Sucursal As String, CveUsuario As Integer, Ciudad As String, Colonia As String, CP As String, Direccion As String, Estado As String, Localidad As String, Pais As String, NoExt As String, NoInt As String, Telefono As String, Correo As String, CorreoCotizacion As String, Contacto As String, CveVendedor As Integer, NumCtaPago As String, CveMetodoPago As Integer, LimiteCredito As Decimal, CveResponsableSucursal As Integer, CveUsoCFDI As Integer, CveFormaPago33 As Integer, CveMetodoPago33 As Integer, Optional LT As String = "0", Optional LG As String = "0", Optional RFC As String = "", - Optional CveAlmacenAsignado As Integer = -1) As Boolean + Optional CveAlmacenAsignado As Integer = -1, Optional CveAlmacenAlterno As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_SucursalClienteAdd") @@ -1085,7 +1088,7 @@ Public Class ClsClientes .Add("@RFC", SqlDbType.VarChar).Value = RFC .Add("@CveAlmacenAsignado", SqlDbType.Int).Value = CveAlmacenAsignado - + .Add("@CveAlmacenAlterno", SqlDbType.Int).Value = CveAlmacenAlterno End With @@ -1106,7 +1109,7 @@ Public Class ClsClientes End Function Public Function UpdateSucursal(Sucursal As String, Estatus As Boolean, CveCliente As Integer, CveClienteSucursal As Integer, Ciudad As String, Colonia As String, CP As String, Direccion As String, Estado As String, Localidad As String, Pais As String, NoExt As String, NoInt As String, Telefono As String, Correo As String, CorreoCotizacion As String, Contacto As String, CveVendedor As Integer, NumCtaPago As String, CveMetodoPago As Integer, LimiteCredito As Decimal, CveResponsableSucursal As Integer, CveUsoCFDI33 As Integer, CveFormaPago33 As Integer, CveMetodoPago33 As Integer, Optional LT As String = "0", Optional LG As String = "0", Optional RFC As String = "-1", - Optional CveAlmacenAsignado As Integer = -1) As Boolean + Optional CveAlmacenAsignado As Integer = -1, Optional CveAlmacenAlterno As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_SucursalClienteUpdate") @@ -1145,6 +1148,7 @@ Public Class ClsClientes .Add("@RFC", SqlDbType.VarChar).Value = RFC .Add("@CveAlmacenAsignado", SqlDbType.Int).Value = CveAlmacenAsignado + .Add("@CveAlmacenAlterno", SqlDbType.Int).Value = CveAlmacenAlterno End With diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx index 615d5941e..fcf2d5513 100644 --- a/Ventas/Clientes.aspx +++ b/Ventas/Clientes.aspx @@ -812,9 +812,14 @@
- +
+ + + +
+ @@ -5256,7 +5261,16 @@ -
+
+ + +
+
+
+
+ +
+
diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 758792a55..f03d07f5e 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -1578,6 +1578,7 @@ Partial Class Clientes ChkBonificacionUsado.Checked = ObjClientes.BonificacionUsado ChkProductoAlterno.Checked = ObjClientes.UsaProductoAlterno DdlAlmacenAsignado.SelectedValueExist(ObjClientes.CveAlmacenAsignado) + DdlAlmacenAlterno.SelectedValueExist(ObjClientes.CveAlmacenAlterno) 'COMERCIO EXTERIOR ChkAplicaComercioExterior.Checked = ObjClientes.AplicaComercioExterior @@ -2578,7 +2579,7 @@ Partial Class Clientes CvePais:=DdlPais.SelectedValue.ToEntero(), CveEstado:=DdlEstado.SelectedValue.ToEntero(), CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero(), CveColonia:=DdlColonia.SelectedValue.ToEntero(), CveMotivoTraslado:=IIf(DdlMotivoTraslado.SelectedValue = "-1", "0", DdlMotivoTraslado.SelectedValue).ToString().ToEntero(), NumRegIdTrib:=IIf(TxtNumRegIdTrib.Text = "", "-1", TxtNumRegIdTrib.Text).ToString(), ComExtEstado:=IIf(TxtComExtEstado.Text = "", "-1", TxtComExtEstado.Text).ToString(), ComExtMunicipio:=IIf(TxtComExtMunicipio.Text = "", "-1", TxtComExtMunicipio.Text).ToString(), ComExtColonia:=IIf(TxtComExtColonia.Text = "", "-1", TxtComExtColonia.Text).ToString(), RequiereOC:=ChkRequiereOC.Checked, LT:=LT, LG:=LG, EsDistribuidor:=ChkEsDistribuidor.Checked, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero(), CargoUsado:=ChkCargoUsado.Checked, BonificacionUsado:=ChkBonificacionUsado.Checked, CveTipoRetencion:=DdlTipoRetencion.SelectedValue.ToEntero(), CorreoEntregaCompras:=TxtCorreoEntregaCompras.Text, CorreoEntregaAlmacen:=TxtCorreoEntregaAlmacen.Text, CveSATEstado:=DdlEstadoSAT.SelectedValue.ToEntero(), CveAdminTrayecto:=If(DdlAdminTrayecto.SelectedValue.ToEntero() <= 0, 0, DdlAdminTrayecto.SelectedValue.ToEntero()), - CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero, RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona, RepresentanteLegal:=TxtRepresentanteLegal.Text, ComExtCalle:=TxtComExtCalle.Text.Trim(), ComExtNumExt:=TxtComExtNumero.Text.Trim(), ComExtCP:=TxtComExtCP.Text.Trim(), FechaLimiteCredito:=FechaLimiteCredito, Genero:=GeneroCliente, CveAlmacenAsignado:=DdlAlmacenAsignado.SelectedValue.ToEntero, UsaProductoAlterno:=ChkProductoAlterno.Checked) Then + CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero, RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona, RepresentanteLegal:=TxtRepresentanteLegal.Text, ComExtCalle:=TxtComExtCalle.Text.Trim(), ComExtNumExt:=TxtComExtNumero.Text.Trim(), ComExtCP:=TxtComExtCP.Text.Trim(), FechaLimiteCredito:=FechaLimiteCredito, Genero:=GeneroCliente, CveAlmacenAsignado:=DdlAlmacenAsignado.SelectedValue.ToEntero, CveAlmacenAlterno:=DdlAlmacenAlterno.SelectedValue.ToEntero, UsaProductoAlterno:=ChkProductoAlterno.Checked) Then CveClienteNuevo = ObjClientes.CveCliente @@ -2662,7 +2663,7 @@ Partial Class Clientes RequiereOC:=ChkRequiereOC.Checked, LT:=LT, LG:=LG, EsDistribuidor:=ChkEsDistribuidor.Checked, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero(), CargoUsado:=ChkCargoUsado.Checked, BonificacionUsado:=ChkBonificacionUsado.Checked, CveTipoRetencion:=DdlTipoRetencion.SelectedValue.ToEntero(), CorreoEntregaCompras:=TxtCorreoEntregaCompras.Text, CorreoEntregaAlmacen:=TxtCorreoEntregaAlmacen.Text, CveSATEstado:=DdlEstadoSAT.SelectedValue.ToEntero(), CveAdminTrayecto:=If(DdlAdminTrayecto.SelectedValue.ToEntero() <= 0, 0, DdlAdminTrayecto.SelectedValue.ToEntero()), NoDesglosaIVA:=Not ChkNoDesglosaIVA.Checked, CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero, RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona, RepresentanteLegal:=TxtRepresentanteLegal.Text, ComExtCalle:=TxtComExtCalle.Text.Trim(), ComExtNumExt:=TxtComExtNumero.Text.Trim(), ComExtCP:=TxtComExtCP.Text.Trim(), FechaLimiteCredito:=FechaLimiteCredito, - Genero:=GeneroCliente, CveAlmacenAsignado:=DdlAlmacenAsignado.SelectedValue.ToEntero, UsaProductoAlterno:=ChkProductoAlterno.Checked) Then + Genero:=GeneroCliente, CveAlmacenAsignado:=DdlAlmacenAsignado.SelectedValue.ToEntero, CveAlmacenAlterno:=DdlAlmacenAlterno.SelectedValue.ToEntero, UsaProductoAlterno:=ChkProductoAlterno.Checked) Then If Not ObjClientes.LimpiaImpuestosLocales(Me.CveCliente) Then ErrorProceso = True @@ -3055,19 +3056,25 @@ Partial Class Clientes If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then DvAlmacenSucursal.Visible = True + DvAlmacenAlternoSucursal.Visible = True ddlAlmacenSucursal.Items.Clear() ddlAlmacenSucursal.ClearSelection() ddlAlmacenSucursal.SelectedValue = Nothing ddlAlmacenSucursal.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa) ddlAlmacenSucursal.DataBind() + DdlAlmacenAlternoSucursal.Items.Clear() + DdlAlmacenAlternoSucursal.ClearSelection() + DdlAlmacenAlternoSucursal.SelectedValue = Nothing + DdlAlmacenAlternoSucursal.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa) + DdlAlmacenAlternoSucursal.DataBind() End If - ddlAlmacenSucursal.Items.Insert(0, New ListItem("Seleccione uno", "-1")) + ddlAlmacenSucursal.Items.Insert(0, New ListItem("Seleccione", "-1")) ddlAlmacenSucursal.SelectedValueExist("-1") + DdlAlmacenAlternoSucursal.Items.Insert(0, New ListItem("Seleccione", "-1")) + DdlAlmacenAlternoSucursal.SelectedValueExist("-1") UpModalDivMapa.Update() - - RegistraScript("showDivEC();") End Sub Public Function CargaSucursalesCliente() As Boolean @@ -3097,6 +3104,7 @@ Partial Class Clientes Dim LG As String = If(txtLg.Text.ToDouble <> 0, txtLg.Text, "0") Dim RFC As String = If(String.IsNullOrEmpty(TxtRFCSucursal.Text), "-1", TxtRFCSucursal.Text) Dim CveAlmacenAgregadoSucursal As Integer = ddlAlmacenSucursal.SelectedValue.ToEntero + Dim CveAlmacenAlternoSucursal As Integer = DdlAlmacenAlternoSucursal.SelectedValue.ToEntero If CveCliente > 0 Then @@ -3116,7 +3124,7 @@ Partial Class Clientes Dim Estatus As Boolean = ChkEstatusSucursal.Checked If ObjCliente.UpdateSucursal(TxtNombreSucursal.Text.Trim, Estatus, CveCliente, CveClienteSuc, TxtCiudadSucursal.Text.Trim, TxtColoniaSucursal.Text.Trim, TxtCPSucursal.Text.Trim, TxtDireccionSucursal.Text.Trim, TxtEstadoSucursal.Text.Trim, TxtLocalidadSucursal.Text.Trim, TxtPaisSucursal.Text.Trim, TxtNumExtSucursal.Text.Trim, TxtNumIntSucursal.Text.Trim, TxtTelefonoSucursal.Text.Trim.Replace(" ", "").Replace("(", "").Replace(")", "").Replace("-", "").Replace("_", ""), TxtCorreoSucursal.Text.Trim, TxtCorreoSucursalCotizacion.Text.Trim, TxtContactoSucursal.Text.Trim, DdlVendedorSucursal.SelectedValue.ToEntero(), TxtNumeroCuenta.Text, DdlMetodoPagoSucursal.SelectedValue.ToEntero(), TxtLimiteCreditoSucursal.Text.ToDecimal(), DdlResponsableSucursal.SelectedValue.ToEntero(), - DdlSucursalUsoCFDI.SelectedValue.ToEntero(), DdlSucursalFormaPago33.SelectedValue.ToEntero(), DdlSucursalMetodoPago33.SelectedValue.ToEntero(), LT:=LT, LG:=LG, RFC:=RFC, CveAlmacenAsignado:=CveAlmacenAgregadoSucursal) Then + DdlSucursalUsoCFDI.SelectedValue.ToEntero(), DdlSucursalFormaPago33.SelectedValue.ToEntero(), DdlSucursalMetodoPago33.SelectedValue.ToEntero(), LT:=LT, LG:=LG, RFC:=RFC, CveAlmacenAsignado:=CveAlmacenAgregadoSucursal, CveAlmacenAlterno:=CveAlmacenAlternoSucursal) Then GVSucursales.EditIndex = -1 ViewState("DTSucursalesCliente") = ObjCliente.DtResultados Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion) @@ -3128,7 +3136,7 @@ Partial Class Clientes Else If ObjCliente.AddSucursal(CveCliente, TxtNombreSucursal.Text.Trim, UsuarioActual.CveUsuario, TxtCiudadSucursal.Text.Trim, TxtColoniaSucursal.Text.Trim, TxtCPSucursal.Text.Trim, TxtDireccionSucursal.Text.Trim, TxtEstadoSucursal.Text.Trim, TxtLocalidadSucursal.Text.Trim, TxtPaisSucursal.Text.Trim, TxtNumExtSucursal.Text.Trim, TxtNumIntSucursal.Text.Trim, TxtTelefonoSucursal.Text.Trim.Replace(" ", "").Replace("(", "").Replace(")", "").Replace("-", ""), TxtCorreoSucursal.Text.Trim, TxtCorreoSucursalCotizacion.Text.Trim, TxtContactoSucursal.Text.Trim, DdlVendedorSucursal.SelectedValue.ToEntero(), TxtNumeroCuenta.Text, DdlMetodoPagoSucursal.SelectedValue.ToEntero(), TxtLimiteCreditoSucursal.Text.ToDecimal(), DdlResponsableSucursal.SelectedValue.ToEntero(), - DdlSucursalUsoCFDI.SelectedValue.ToEntero(), DdlSucursalFormaPago33.SelectedValue.ToEntero(), DdlSucursalMetodoPago33.SelectedValue.ToEntero(), LT:=LT, LG:=LG, RFC:=RFC, CveAlmacenAsignado:=CveAlmacenAgregadoSucursal) Then + DdlSucursalUsoCFDI.SelectedValue.ToEntero(), DdlSucursalFormaPago33.SelectedValue.ToEntero(), DdlSucursalMetodoPago33.SelectedValue.ToEntero(), LT:=LT, LG:=LG, RFC:=RFC, CveAlmacenAsignado:=CveAlmacenAgregadoSucursal, CveAlmacenAlterno:=CveAlmacenAlternoSucursal) Then TxtNombreSucursal.Text = "" TxtCiudadSucursal.Text = "" TxtColoniaSucursal.Text = "" @@ -3317,21 +3325,21 @@ Partial Class Clientes ddlAlmacenSucursal.SelectedValue = Nothing ddlAlmacenSucursal.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa) ddlAlmacenSucursal.DataBind() - ddlAlmacenSucursal.Items.Add(New ListItem("Seleccione uno", "-1")) + ddlAlmacenSucursal.Items.Insert(0, New ListItem("Seleccione", "-1")) ddlAlmacenSucursal.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveAlmacenAsignado").ToString()) + DvAlmacenAlternoSucursal.Visible = True + DdlAlmacenAlternoSucursal.Items.Clear() + DdlAlmacenAlternoSucursal.ClearSelection() + DdlAlmacenAlternoSucursal.SelectedValue = Nothing + DdlAlmacenAlternoSucursal.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa) + DdlAlmacenAlternoSucursal.DataBind() + DdlAlmacenAlternoSucursal.Items.Insert(0, New ListItem("Seleccione", "-1")) + DdlAlmacenAlternoSucursal.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveAlmacenAlterno").ToString()) End If - - - - - UpAgregarSucursal.Update() - UpModalDivMapa.Update() - - 'Dim scriptReg As String = $" SelTxtLat = '#{ GVSucursales.Rows(e.NewEditIndex).FCTextBox("txtLt").ClientID}'; SelTxtLon = '#{ GVSucursales.Rows(e.NewEditIndex).FCTextBox("txtLg").ClientID}''" - 'RegistraScript("$('#divAgregarSucursal').modal();" & scriptReg) - + UpModalDivMapa.Update() + RegistraScript("$('#divAgregarSucursal').modal();") Else @@ -5607,6 +5615,7 @@ Partial Class Clientes RowSucursal("LG") = If(txtLg.Text.ToDouble <> 0, txtLg.Text, "0") RowSucursal("CveAlmacenAsignado") = ddlAlmacenSucursal.SelectedValue.ToEntero + RowSucursal("CveAlmacenAlterno") = DdlAlmacenAlternoSucursal.SelectedValue.ToEntero TempDTSucursales.Rows.Add(RowSucursal) @@ -6137,18 +6146,22 @@ Partial Class Clientes Private Sub CargaDdlAlmacen() - - If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then DdlAlmacenAsignado.SelectedValue = Nothing DdlAlmacenAsignado.ClearSelection() DdlAlmacenAsignado.Items.Clear() + DdlAlmacenAlterno.SelectedValue = Nothing + DdlAlmacenAlterno.ClearSelection() + DdlAlmacenAlterno.Items.Clear() divAlmacenAsignado.Visible = True DdlAlmacenAsignado.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa) DdlAlmacenAsignado.DataBind() DdlAlmacenAsignado.Items.Insert(0, New ListItem("-", "-1")) + DdlAlmacenAlterno.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa) + DdlAlmacenAlterno.DataBind() + DdlAlmacenAlterno.Items.Insert(0, New ListItem("-", "-1")) End If End Sub