Puntos grupo diaz.
--Cotizaciones/Ventas. En la creación rápida de cliente. Pedir dato de giro del cliente. (PA_Banc_BancosCuentasUsuariosGet) --Registro de Clave de autorización y nombre de quien atendió para registrar estos datos al momento de cobrar y que estos datos sean requeridos. --- Depósitos de caja. Quitar la opción de “Todos” al filtrar los tipos de pago. --- Cobro de Caja, Permitir hasta 6 pesos como sobrante/faltante. --Cotizaciones/Ventas. En la creación rápida de cliente. Pedir dato de giro del cliente. --Cotizaciones/Ventas. Previo agregar un productos, visualizar los precios por cada lista de precios. --Cotizaciones/Ventas. Visualización de existencias por cada una de las partidas.
This commit is contained in:
@@ -1488,7 +1488,7 @@ Public Class ClsBancos
|
||||
Optional CveCuentaDeposito As Integer = -1, Optional PagoElectronico As String = "-1", Optional CveEstatusIE As Integer = 1, Optional CveCuentaTarjeta As Integer = -1,
|
||||
Optional Referencia As String = "-1", Optional CveCorte As Integer = -1, Optional CveProveedorIntermediario As Integer = -1, Optional FueConciliado As Boolean = False,
|
||||
Optional MesesSinIntereses As Integer = -1, Optional Modulo As String = "", Optional ConceptoCIE As String = "", Optional CveOCAnticipo As Integer = -1, Optional ImporteDeduccionesPago As Decimal = -1,
|
||||
Optional AnticipoPuntual As Boolean = False, Optional FechaEmision As Date = MinFecha) As Integer
|
||||
Optional AnticipoPuntual As Boolean = False, Optional FechaEmision As Date = MinFecha, Optional CveAutorizacion As String = "") As Integer
|
||||
Dim Retorno As Integer = -1
|
||||
|
||||
DataAdapter("PA_Banc_IEAdd")
|
||||
@@ -1531,6 +1531,7 @@ Public Class ClsBancos
|
||||
.Add("@ImporteDeduccionesPago", SqlDbType.Money).Value = ImporteDeduccionesPago
|
||||
.Add("@AnticipoPuntual", SqlDbType.Bit).Value = AnticipoPuntual
|
||||
.Add("@FechaEmision", SqlDbType.Date).Value = FechaEmision
|
||||
.Add("@CveAutorizacion", SqlDbType.VarChar).Value = CveAutorizacion
|
||||
End With
|
||||
|
||||
Try
|
||||
|
||||
@@ -1678,7 +1678,8 @@ Public Class ClsClientes
|
||||
Public Function AgregarClienteNoFrecuente(Nombre As String, Direccion As String, NoExt As String, NoInt As String, Colonia As String, Localidad As String, Ciudad As String, CveEstado As Integer,
|
||||
RFC As String, CP As String, Telefono As String, Mail As String, CveSubProyecto As Integer, CveUsuario As Integer, CveEmpresa As Integer,
|
||||
NumCuentaPago As String, CveMetodoPago33 As Integer, CveFormaPago33 As Integer, Optional CvePrecioLista As Integer = -1, Optional RegimenSociedad As String = "-1",
|
||||
Optional TipoPersona As Boolean = False, Optional CveRegimenFiscal As Integer = -1, Optional CveUsoCFDI As Integer = -1, Optional Genero As Boolean = True) As Boolean
|
||||
Optional TipoPersona As Boolean = False, Optional CveRegimenFiscal As Integer = -1, Optional CveUsoCFDI As Integer = -1, Optional Genero As Boolean = True,
|
||||
Optional CveClienteClasificacion As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_ClientesNoFrecuenteAdd")
|
||||
|
||||
@@ -1707,6 +1708,7 @@ Public Class ClsClientes
|
||||
.Add("@TipoPersona", SqlDbType.Bit).Value = TipoPersona
|
||||
.Add("@CveRegimenFiscal", SqlDbType.Int).Value = CveRegimenFiscal
|
||||
.Add("@CveUsoCFDI", SqlDbType.Int).Value = CveUsoCFDI
|
||||
.Add("@CveClienteClasificacion", SqlDbType.Int).Value = CveClienteClasificacion
|
||||
.Add("@Genero", SqlDbType.Int).Value = Genero
|
||||
|
||||
End With
|
||||
|
||||
@@ -41,6 +41,12 @@ Partial Class Bancos_DepositosCaja
|
||||
Dim StrEncriptPrueba As String = Encripta($"OP=DC&CveIE={2784391}&CuentaCaja={"TestCuantaCaja"}&CuentaDepo={"Test cuenta"}")
|
||||
HplImprimirPDF.NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={StrEncriptPrueba}"
|
||||
|
||||
If UsuarioActual.CveEmpresa = 189 Then
|
||||
If DdlTipoPago.Items.FindByValue("-1") IsNot Nothing Then
|
||||
DdlTipoPago.Items.Remove(DdlTipoPago.Items.FindByValue("-1"))
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -327,7 +333,7 @@ Partial Class Bancos_DepositosCaja
|
||||
|
||||
If CveSubProyecto <= 0 Then
|
||||
'se saca de la cuenta de la caja chica
|
||||
CveSubProyecto = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveCuenta:=DdlCajaChica.SelectedValue.ToEntero, Estatus:=-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto")
|
||||
CveSubProyecto = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveCuenta:=DdlCajaChica.SelectedValue.ToEntero, Estatus:=-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto").ToEntero()
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
@@ -246,11 +246,19 @@
|
||||
<br />
|
||||
<asp:CheckBox ID="ChkAplicaViatico" CssClass="md-checksd" Text="Aplica Viaticos" runat="server" Visible="false" align="Right" />
|
||||
<asp:CheckBox ID="ChkAnticipoPuntual" CssClass="md-checksd" ClientIDMode="Static" runat="server" Text="Anticipo Puntual" Visible="false"></asp:CheckBox>
|
||||
|
||||
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Panel>
|
||||
<div class="row" id="DivCveAutorizacion" runat="server" visible="false">
|
||||
<label class="col-md-2 control-label">
|
||||
<asp:Label runat="server" Text="Clave de autorización:"></asp:Label>
|
||||
</label>
|
||||
<label class="col-md-10 control-label">
|
||||
<asp:Label ID="LblCveAutorizacion" runat="server" ></asp:Label>
|
||||
</label>
|
||||
</div>
|
||||
<div id="DivOtrosIngresosEgresos" runat="server" visible="false" class="row">
|
||||
|
||||
<label class="col-md-2 control-label ">Otros:</label>
|
||||
|
||||
@@ -815,6 +815,11 @@ Partial Class Bancos_IE
|
||||
NumComplementos = ObjIE.DtResultados(0)("NumComplementos").ToString.ToEntero
|
||||
Dim CveIEEstadoCuenta As Integer = ObjIE.DtResultados(0)("CveIEEstadoCuenta").ToString.ToEntero
|
||||
|
||||
If Not String.IsNullOrEmpty(ObjIE.DtResultados(0)("CveAutorizacion").ToString) Then
|
||||
DivCveAutorizacion.Visible = True
|
||||
LblCveAutorizacion.Text = ObjIE.DtResultados(0)("CveAutorizacion").ToString()
|
||||
End If
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(99) Then
|
||||
'BtnActualizar.Visible = True
|
||||
TxtFechaDocumento.Enabled = True
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.btn-xs {
|
||||
.btn-xs {
|
||||
padding: 0px 5px;
|
||||
}
|
||||
|
||||
@@ -200,9 +200,9 @@
|
||||
<li>
|
||||
<asp:LinkButton ID="LkbRetiro" runat="server" OnClick="LkbRetiro_Click" Visible="false"> <i class="fa fa-ad-excel"></i> Retiro de Efectivo</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkCobrosEnTranscurso" runat="server" OnClick="LnkCobrosEnTranscurso_Click"><i class="fa fa-money"></i> Cobros en Transcurso</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkCobrosEnTranscurso" runat="server" OnClick="LnkCobrosEnTranscurso_Click"><i class="fa fa-money"></i> Cobros en Transcurso</asp:LinkButton>
|
||||
</li>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
@@ -273,13 +273,13 @@
|
||||
</div>
|
||||
<div class="portlet-body" style="display: none;">
|
||||
<div class="row">
|
||||
|
||||
|
||||
<div class="col-md-1">
|
||||
Solo pagadas:
|
||||
</div>
|
||||
<div class="col-md-1" style="padding-top:6px">
|
||||
<asp:CheckBox ID="ChkMostrarSoloPagados" CssClass="chksino" runat="server" Text="Ver Solo pagadas" />
|
||||
</div>
|
||||
<div class="col-md-1" style="padding-top: 6px">
|
||||
<asp:CheckBox ID="ChkMostrarSoloPagados" CssClass="chksino" runat="server" Text="Ver Solo pagadas" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -335,13 +335,18 @@
|
||||
<div class="col-md-1"><b>Folio:</b></div>
|
||||
<div class="col-md-2"> <label><asp:Literal ID="LtlFolio" runat="server"></asp:Literal></label> </div>
|
||||
|
||||
<div class="col-md-1"><b>
|
||||
<asp:Literal ID="LtLTipoSaldo" runat="server" Text="Total:"></asp:Literal></b></div>
|
||||
<div class="col-md-1"><b>
|
||||
<asp:TextBox ID="LtlSaldo" runat="server" Enabled="true" CssClass="TextBoxAsLabel" BorderStyle="None" BackColor="Transparent" ForeColor="#3c763d" Style="text-align: left"></asp:TextBox>
|
||||
</b></div>
|
||||
<div class="col-md-1">
|
||||
<b>
|
||||
<asp:Literal ID="LtLTipoSaldo" runat="server" Text="Total:"></asp:Literal></b>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<b>
|
||||
<asp:TextBox ID="LtlSaldo" runat="server" Enabled="true" CssClass="TextBoxAsLabel" BorderStyle="None" BackColor="Transparent" ForeColor="#3c763d" Style="text-align: left"></asp:TextBox>
|
||||
</b>
|
||||
</div>
|
||||
<div class="col-md-1" style="text-align: right;">
|
||||
<asp:LinkButton ID="LnkLiberar" runat="server" CssClass="btn btn-xs btn-success" Text="Liberar" OnClick="LnkLiberar_Click" /></div>
|
||||
<asp:LinkButton ID="LnkLiberar" runat="server" CssClass="btn btn-xs btn-success" Text="Liberar" OnClick="LnkLiberar_Click" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -423,6 +428,20 @@
|
||||
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender11" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator3" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="DivDatosCheque" runat="server" visible="false" style="padding-top: 8px;">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<label class="col-md-2">Clave de autorización:</label>
|
||||
<div class="col-md-4">
|
||||
<asp:TextBox ID="TxtClaveAutorizacion" CssClass="form-control input-sm " runat="server" MaxLength="50" Width="100%" ClientIDMode="Static"></asp:TextBox>
|
||||
</div>
|
||||
<label class="col-md-2">¿Quién autorizó?:</label>
|
||||
<div class="col-md-4">
|
||||
<asp:TextBox ID="TxtAutorizo" CssClass="form-control input-sm " runat="server" MaxLength="50" Width="100%" ClientIDMode="Static"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="chequesie1" id="DivTransferencia" runat="server">
|
||||
@@ -515,43 +534,44 @@
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<asp:GridView ID="GvD" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontró ningun corte"
|
||||
DataKeyNames="CveVenta,CveIE,CveTipoTransaccion,CveCuenta,SerieFolio"
|
||||
ToolTip="Reporte de Cortes" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn ScrollAD" Style="position: static" UseAccessibleHeader="false" GridLines="None">
|
||||
<Columns>
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
|
||||
<HeaderTemplate>
|
||||
Serie - Folio
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:HyperLink ID="LBDescripcion" runat="server" Text='<%# Eval("SerieFolio") %>' NavigateUrl='<%# Eval("CveVenta", "/Ventas/Ventas.aspx?CveVenta={0}")%>' ></asp:HyperLink>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField HeaderText="Cliente" DataField="NombreComercial" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:TemplateField HeaderText="Total" ItemStyle-HorizontalAlign="Right">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblTotal" Text='<%# Eval("ImportePagado", "{0:N2}") %>' runat="server"></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField HeaderText="Método Pago" DataField="MetodoPago" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Right" HeaderText="" ItemStyle-Width="80">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="LnkEditarPago" runat="server" AlternateText="Editar" Visible="false" CausesValidation="False" CssClass="btn btn-circle btn-sm green" OnClick="LnkEditarPago_Click" Text="<i class='fa fa-pencil'></i>" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<HeaderStyle CssClass="Titulos" />
|
||||
<RowStyle CssClass="Texto" />
|
||||
<AlternatingRowStyle CssClass="TextoAlterno" />
|
||||
</asp:GridView>
|
||||
<asp:GridView ID="GvD" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontró ningun corte"
|
||||
DataKeyNames="CveVenta,CveIE,CveTipoTransaccion,CveCuenta,SerieFolio"
|
||||
ToolTip="Reporte de Cortes" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn ScrollAD" Style="position: static" UseAccessibleHeader="false" GridLines="None">
|
||||
<Columns>
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
|
||||
<HeaderTemplate>
|
||||
Serie - Folio
|
||||
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:HyperLink ID="LBDescripcion" runat="server" Text='<%# Eval("SerieFolio") %>' NavigateUrl='<%# Eval("CveVenta", "/Ventas/Ventas.aspx?CveVenta={0}")%>'></asp:HyperLink>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField HeaderText="Cliente" DataField="NombreComercial" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:TemplateField HeaderText="Total" ItemStyle-HorizontalAlign="Right">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblTotal" Text='<%# Eval("ImportePagado", "{0:N2}") %>' runat="server"></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField HeaderText="Método Pago" DataField="MetodoPago" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Right" HeaderText="" ItemStyle-Width="80">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="LnkEditarPago" runat="server" AlternateText="Editar" Visible="false" CausesValidation="False" CssClass="btn btn-circle btn-sm green" OnClick="LnkEditarPago_Click" Text="<i class='fa fa-pencil'></i>" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<HeaderStyle CssClass="Titulos" />
|
||||
<RowStyle CssClass="Texto" />
|
||||
<AlternatingRowStyle CssClass="TextoAlterno" />
|
||||
</asp:GridView>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ContentTemplate>
|
||||
@@ -574,7 +594,7 @@
|
||||
<td colspan="1"> </td>
|
||||
<td colspan="1"> </td>
|
||||
</tr>
|
||||
<tr align="left" >
|
||||
<tr align="left">
|
||||
<td>
|
||||
<asp:Label runat="server" Font-Bold="true" ID="Label3">Sucursal:</asp:Label>
|
||||
</td>
|
||||
@@ -591,7 +611,7 @@
|
||||
<asp:RegularExpressionValidator ID="REVCaja" runat="server" ControlToValidate="TxtDineroCaja" Display="None" ErrorMessage="El campo <b>''Dinero''</b> no tiene el formato correcto, por favor corrija e intente de nuevo (Solo formato numérico)." ValidationExpression="^([1-9]{1}[\d]{0,2}(\,[\d]{3})*(\.[\d]{0,4})?|[1-9]{1}[\d]{0,}(\.[\d]{0,4})?|0(\.[\d]{0,2})?|(\.[\d]{1,4})?)$" ValidationGroup="GprIniciarTruno"></asp:RegularExpressionValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="REVCaja" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1"> </td>
|
||||
<td colspan="1"> </td>
|
||||
@@ -763,7 +783,7 @@
|
||||
<asp:DropDownList ID="DdlCuentaGastoDestino" runat="server" CssClass="form-control input-sm select2me" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" Width="100%"></asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@@ -913,54 +933,54 @@
|
||||
|
||||
|
||||
|
||||
<div id="DVModalPagos" class="modal ADS fade" role="dialog">
|
||||
<div id="DVModalPagos" class="modal ADS fade" role="dialog">
|
||||
|
||||
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalPago" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalPago" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="modal-content">
|
||||
<div class="modal-header ">
|
||||
<h4 class="modal-title">
|
||||
<asp:Label ID="LblModalPagoTitulo" runat="server">Editar Pago</asp:Label>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body" >
|
||||
<div class="modal-content">
|
||||
<div class="modal-header ">
|
||||
<h4 class="modal-title">
|
||||
<asp:Label ID="LblModalPagoTitulo" runat="server">Editar Pago</asp:Label>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="form-group col-md-12 form-md-line-input">
|
||||
<asp:DropDownList ID="DdlTipoTransaccion" CssClass="form-control input-sm select2me" ClientIDMode="Static" runat="server" DataTextField="TipoTransaccion" DataValueField="CveTipoTransaccion" ValidationGroup="GrpGuardarPago" Width="100%" >
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVTipoTransaccion" runat="server" ControlToValidate="DdlTipoTransaccion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de Transaccion''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardarPago"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCOTipoTransaccion" runat="server" HighlightCssClass="vco" TargetControlID="RFVTipoTransaccion" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
<asp:HiddenField ID="HdnTipoTransaccion" runat="server" Value="" />
|
||||
<asp:Label runat="server" Style="width: 90%; color: #888888;" AssociatedControlID="DdlTipoTransaccion">Movimiento:</asp:Label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
<div class="form-group col-md-12 form-md-line-input">
|
||||
<asp:DropDownList ID="DdlCuenta" CssClass="form-control input-sm select2me" ClientIDMode="Static" runat="server" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" ValidationGroup="GrpGuardarPago" Enabled="false" Width="100%">
|
||||
<asp:DropDownList ID="DdlTipoTransaccion" CssClass="form-control input-sm select2me" ClientIDMode="Static" runat="server" DataTextField="TipoTransaccion" DataValueField="CveTipoTransaccion" ValidationGroup="GrpGuardarPago" Width="100%">
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVTipoTransaccion" runat="server" ControlToValidate="DdlTipoTransaccion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de Transaccion''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardarPago"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCOTipoTransaccion" runat="server" HighlightCssClass="vco" TargetControlID="RFVTipoTransaccion" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
<asp:HiddenField ID="HdnTipoTransaccion" runat="server" Value="" />
|
||||
<asp:Label runat="server" Style="width: 90%; color: #888888;" AssociatedControlID="DdlTipoTransaccion">Movimiento:</asp:Label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="form-group col-md-12 form-md-line-input">
|
||||
<asp:DropDownList ID="DdlCuenta" CssClass="form-control input-sm select2me" ClientIDMode="Static" runat="server" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" ValidationGroup="GrpGuardarPago" Enabled="false" Width="100%">
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVCuentaModal" runat="server" ControlToValidate="DdlCuenta" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardarPago"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="RFVCuentaModal" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
<asp:Label runat="server" Style="width: 90%; color: #888888;" AssociatedControlID="DdlCuenta">Cuenta:</asp:Label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:LinkButton ID="LnkDvModalPagoAceptar" ClientIDMode="Static" runat="server" CssClass="btn btn-primary" OnClick="LnkDvModalPagoAceptar_Click" Text="Aceptar" ValidationGroup="GrpGuardarPago" />
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:LinkButton ID="LnkDvModalPagoAceptar" ClientIDMode="Static" runat="server" CssClass="btn btn-primary" OnClick="LnkDvModalPagoAceptar_Click" Text="Aceptar" ValidationGroup="GrpGuardarPago" />
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -979,21 +999,21 @@
|
||||
<div class="modal-body">
|
||||
|
||||
<asp:GridView ID="GvModalCobrosEnTranscurso" runat="server" AutoGenerateColumns="False" Width="100%"
|
||||
EmptyDataText="Cobros en Transcursos" data-sort="true" ToolTip="Cobros en Transcurso"
|
||||
CssClass="ScrollAD table table-striped table-hover Widthall mysmallbtn" data-heighterror="320" data-freezecols="0" data-freezerows="0" GridLines="None"
|
||||
DataKeyNames="CveVenta,TipoDocto,Saldo,AtencionA,CveFormaPago33,SerieFolio">
|
||||
<Columns>
|
||||
<asp:BoundField HeaderText="Atención" DataField="AtencionA" />
|
||||
<asp:HyperLinkField HeaderText="Folio" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" DataTextField="SerieFolio" ItemStyle-HorizontalAlign="Center" />
|
||||
<asp:BoundField HeaderText="Fecha/Hora" DataField="Fecha" ItemStyle-HorizontalAlign="Center" />
|
||||
<asp:BoundField HeaderText="Importe" DataField="Saldo" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
|
||||
<asp:BoundField HeaderText="Usuario" DataField="UsuarioCobranza" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
|
||||
EmptyDataText="Cobros en Transcursos" data-sort="true" ToolTip="Cobros en Transcurso"
|
||||
CssClass="ScrollAD table table-striped table-hover Widthall mysmallbtn" data-heighterror="320" data-freezecols="0" data-freezerows="0" GridLines="None"
|
||||
DataKeyNames="CveVenta,TipoDocto,Saldo,AtencionA,CveFormaPago33,SerieFolio">
|
||||
<Columns>
|
||||
<asp:BoundField HeaderText="Atención" DataField="AtencionA" />
|
||||
<asp:HyperLinkField HeaderText="Folio" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" DataTextField="SerieFolio" ItemStyle-HorizontalAlign="Center" />
|
||||
<asp:BoundField HeaderText="Fecha/Hora" DataField="Fecha" ItemStyle-HorizontalAlign="Center" />
|
||||
<asp:BoundField HeaderText="Importe" DataField="Saldo" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
|
||||
<asp:BoundField HeaderText="Usuario" DataField="UsuarioCobranza" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1053,7 +1073,7 @@
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
</asp:Content>
|
||||
|
||||
@@ -72,6 +72,9 @@ Partial Class Ventas_PVCobranza
|
||||
If UsuarioActual.TienePermisoProceso(371) Then
|
||||
CargaCorteCaja()
|
||||
End If
|
||||
If UsuarioActual.CveEmpresa = 189 Then
|
||||
DivDatosCheque.Visible = True
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -253,9 +256,8 @@ Partial Class Ventas_PVCobranza
|
||||
End If
|
||||
|
||||
ObjMovtos.Dispose()
|
||||
GvDatos.DataBind()
|
||||
UpL.Update()
|
||||
|
||||
GvDatos.DataBind()
|
||||
|
||||
TxtImporteEfectivo.Text = ""
|
||||
TxtImporteCredito.Text = ""
|
||||
TxtImporteDebito.Text = ""
|
||||
@@ -263,6 +265,10 @@ Partial Class Ventas_PVCobranza
|
||||
TxtImporteTransferencia.Text = ""
|
||||
TxtImporteOtrosContado.Text = ""
|
||||
TxtCambio.Text = ""
|
||||
TxtClaveAutorizacion.Text = ""
|
||||
TxtAutorizo.Text = ""
|
||||
|
||||
UpL.Update()
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -381,8 +387,16 @@ Partial Class Ventas_PVCobranza
|
||||
End If
|
||||
|
||||
If LtlSaldo.Text.ToDecimal() > Pagado Then
|
||||
Alert("Favor de especificar el saldo total de pagar", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
If UsuarioActual.CveEmpresa = 189 Then
|
||||
If (LtlSaldo.Text.ToDecimal() - Pagado) > 6 Then
|
||||
Alert("Favor de especificar el saldo total de pagar", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
Else
|
||||
Alert("Favor de especificar el saldo total de pagar", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Dim PagadoSinEfectivo As Decimal = Pagado - TxtImporteEfectivo.Text.ToDecimal
|
||||
@@ -391,6 +405,18 @@ Partial Class Ventas_PVCobranza
|
||||
If PagadoSinEfectivo > LtlSaldo.Text.ToDecimal() Then
|
||||
Alert("El pago con los metodos de pago actuales no puede ser mayor al importe de la venta", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If DivDatosCheque.Visible AndAlso TxtImporteCheque.Text.ToDecimal() > 0 Then
|
||||
If String.IsNullOrEmpty(TxtClaveAutorizacion.Text.Trim()) Then
|
||||
Alert("La clave de autorización es necesaria", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If String.IsNullOrEmpty(TxtAutorizo.Text.Trim()) Then
|
||||
Alert("El nombre de la persona que autorizó es necesario", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim CveVenta As Integer = HdnCveVenta.Value.ToEntero
|
||||
@@ -472,7 +498,12 @@ Partial Class Ventas_PVCobranza
|
||||
End If
|
||||
|
||||
If SaldoPendiente > 0 AndAlso TxtImporteCheque.Text.ToDecimal > 0 Then
|
||||
MsgError = RegistraIE(3, DdlCuentaCheque.SelectedValue.ToEntero, TxtImporteCheque.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2, tCveCorte)
|
||||
Dim Obs As String = ""
|
||||
If DivDatosCheque.Visible Then
|
||||
Obs = $"{VentaActual.SerieFolio} - Autorizó: {TxtAutorizo.Text}"
|
||||
End If
|
||||
|
||||
MsgError = RegistraIE(3, DdlCuentaCheque.SelectedValue.ToEntero, TxtImporteCheque.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2, tCveCorte, Obs:=Obs, CveAutorizacion:=TxtClaveAutorizacion.Text.Trim())
|
||||
SaldoPendiente -= TxtImporteCheque.Text.ToDecimal
|
||||
PagoAplicado += TxtImporteCheque.Text.ToDecimal
|
||||
End If
|
||||
@@ -496,7 +527,13 @@ Partial Class Ventas_PVCobranza
|
||||
End If
|
||||
|
||||
If SaldoPendiente > 0 Then
|
||||
MsgError = "Tiene saldo pendiente por aplicar"
|
||||
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
|
||||
If SaldoPendiente > 6 Then
|
||||
MsgError = "Tiene saldo pendiente por aplicar"
|
||||
End If
|
||||
Else
|
||||
MsgError = "Tiene saldo pendiente por aplicar"
|
||||
End If
|
||||
End If
|
||||
|
||||
If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaCorte(CveVenta, UsuarioActual.CveEmpresa, tCveCorte) Then
|
||||
@@ -708,11 +745,14 @@ Partial Class Ventas_PVCobranza
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Private Function RegistraIE(Metodo As Integer, CveBancoCuenta As Integer, ImportePago As Decimal, Fecha As Date, CvePrePoliza As Integer, VentaActual As Venta, ByRef ObjIE As ClsBancos, ByRef ObjConta As ClsContabilidad, ByRef ObjVentas As ClsVentas, tCveCorte As Integer) As String
|
||||
Private Function RegistraIE(Metodo As Integer, CveBancoCuenta As Integer, ImportePago As Decimal, Fecha As Date, CvePrePoliza As Integer, VentaActual As Venta, ByRef ObjIE As ClsBancos, ByRef ObjConta As ClsContabilidad, ByRef ObjVentas As ClsVentas, tCveCorte As Integer, Optional Obs As String = "", Optional CveAutorizacion As String = "") As String
|
||||
Dim Retorno As String = ""
|
||||
Dim CveIEPago As Integer = 0
|
||||
Dim ErrorConta As Boolean
|
||||
CveIEPago = ObjIE.AddBancos_IE(CveBancoCuenta, Metodo, Fecha, "-1", VentaActual.ClienteNombre, ImportePago, 1, 1, VentaActual.SerieFolio, "", False, True, 0, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=tCveCorte)
|
||||
If String.IsNullOrEmpty(Obs) Then
|
||||
Obs = VentaActual.SerieFolio
|
||||
End If
|
||||
CveIEPago = ObjIE.AddBancos_IE(CveBancoCuenta, Metodo, Fecha, "-1", VentaActual.ClienteNombre, ImportePago, 1, 1, Obs, "", False, True, 0, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=tCveCorte, CveAutorizacion:=CveAutorizacion)
|
||||
If CveIEPago > 0 Then
|
||||
Dim Pago As New VentaPago
|
||||
Pago.ImportePagoVenta = ImportePago
|
||||
|
||||
@@ -570,7 +570,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
else
|
||||
{
|
||||
//SI REGISTRA SALIDA DE ALMACÉN EN AUTOMÁTICO Y ES DEVOLUCION QUE REALIZE EL MOVMIENTO DE SALIDA DE ALMACEN
|
||||
if (UsuarioActual.Empresa.Funcionalidad(567) == "1" && factura.TipoDocto == "Dev" && factura.SaldoAlmacen != 0)
|
||||
if ((UsuarioActual.Empresa.Funcionalidad(567) == "1" || UsuarioActual.Empresa.Funcionalidad(531) == "1") && factura.TipoDocto == "Dev" && factura.SaldoAlmacen != 0)
|
||||
{
|
||||
factura.RealizarDevolucionAlmacen = true;
|
||||
}
|
||||
|
||||
@@ -1479,7 +1479,7 @@
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="LnkExistencias" runat="server" Visible="false" AlternateText="Ver Existencias" CausesValidation="False" CommandName="Existencias" CommandArgument='<%# GvPS.Rows.Count.ToString() %>'
|
||||
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-eye'></i>" />
|
||||
CssClass="btn btn-circle btn-sm purple" Text="<i class='fa fa-eye'></i>" />
|
||||
<asp:LinkButton ID="LnkDescuentos" runat="server" Visible="false" AlternateText="Descuento" CausesValidation="False" CommandName="Descuento" CommandArgument='<%# GvPS.Rows.Count.ToString() %>'
|
||||
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-percent'></i>" />
|
||||
<asp:LinkButton ID="imgClone" runat="server" AlternateText="Clonar" CausesValidation="False" CommandName="Clonar" CommandArgument='<%# GvPS.Rows.Count.ToString() %>'
|
||||
@@ -8197,6 +8197,14 @@
|
||||
<i></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="divGiro" runat="server" visible="false" style="padding-left: 16px;">
|
||||
<div class="form-group form-md-line-input input-iconright col-xs-6">
|
||||
<asp:DropDownList ID="DdlGiro" DataValueField="CveClienteClasificacion" DataTextField="ClienteClasificacion" Width="100%" runat="server" CssClass="form-control select2me">
|
||||
</asp:DropDownList>
|
||||
<label for="<%= DdlGiro.ClientID.ToString()%>">Giro:</label>
|
||||
<i></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="DivBotonesAgregarCliente" runat="server" visible="false" class="modal-footer">
|
||||
<asp:Button ID="BtnAgregarCliente" runat="server" CssClass="btn btn-primary" Text="Agregar" ValidationGroup="GrpGuardarCliente" />
|
||||
|
||||
@@ -3733,7 +3733,7 @@ Partial Class Ventas
|
||||
End Sub
|
||||
|
||||
Private Sub CargaListasPreciosSubProyectos(CvePS As Integer)
|
||||
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
|
||||
If UsuarioActual.CveEmpresa = 189 Then
|
||||
DivPrecioLista.Visible = True
|
||||
|
||||
Using ObjVta As New ClsVentas
|
||||
@@ -8790,7 +8790,7 @@ Partial Class Ventas
|
||||
End If
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
|
||||
If UsuarioActual.CveEmpresa = 189 Then
|
||||
e.Row.FCLinkButton("LnkExistencias").Visible = True
|
||||
End If
|
||||
|
||||
@@ -9149,7 +9149,11 @@ Partial Class Ventas
|
||||
Dim PrecioLista As String = ""
|
||||
If UsuarioActual.Empresa.Funcionalidad(109) = "1" OrElse UsuarioActual.Empresa.Funcionalidad(360) = "1" Then
|
||||
CvePrecioLista = GvPS.Rows(e.RowIndex).FCDropDownList("DdlPrecioListaEdit").SelectedValue.ToEntero()
|
||||
PrecioLista = GvPS.Rows(e.RowIndex).FCDropDownList("DdlPrecioListaEdit").SelectedItem.Text.Split("-"c)(0)
|
||||
If UsuarioActual.CveEmpresa = 189 Then
|
||||
PrecioLista = GvPS.Rows(e.RowIndex).FCDropDownList("DdlPrecioListaEdit").SelectedItem.Text.Split("-"c)(0)
|
||||
Else
|
||||
PrecioLista = GvPS.Rows(e.RowIndex).FCDropDownList("DdlPrecioListaEdit").SelectedItem.Text
|
||||
End If
|
||||
End If
|
||||
|
||||
AgregarProductoServicio(Cantidad, DdlUM.SelectedValue.ToEntero(), DdlUM.SelectedItem.Text, DdlCla.SelectedValue.ToEntero(), DdlCla.SelectedItem.Text,
|
||||
@@ -17937,7 +17941,7 @@ Partial Class Ventas
|
||||
If ObjPrecioSugerido.CvePrecioLista > 0 AndAlso DivPrecioLista.Visible Then
|
||||
DdlPrecioLista.SelectedValueExist(ObjPrecioSugerido.CvePrecioLista)
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
|
||||
If UsuarioActual.CveEmpresa = 189 Then
|
||||
If DirectCast(DdlPrecioLista.DataSource, DataTable) IsNot Nothing Then
|
||||
Dim dt = DirectCast(DdlPrecioLista.DataSource, DataTable)
|
||||
If dt IsNot Nothing Then
|
||||
@@ -19456,7 +19460,12 @@ Partial Class Ventas
|
||||
If DivPrecioLista.Visible Then
|
||||
If DdlPrecioLista.SelectedValue.ToEntero() > 0 AndAlso DdlPrecioLista.SelectedValue.ToEntero() = Me.CvePrecioLista Then
|
||||
CvePrecioListaPS = Me.CvePrecioLista
|
||||
PrecioListaPS = DdlPrecioLista.SelectedItem.Text.Split("-"c)(0)
|
||||
If UsuarioActual.CveEmpresa = 189 Then
|
||||
PrecioListaPS = DdlPrecioLista.SelectedItem.Text.Split("-"c)(0)
|
||||
Else
|
||||
PrecioListaPS = DdlPrecioLista.SelectedItem.Text
|
||||
End If
|
||||
|
||||
Else
|
||||
'sino es la seleccionada se recalcula de nuevo
|
||||
CargaPrecioLista(DdlPS.SelectedValue.ToEntero)
|
||||
@@ -24457,10 +24466,15 @@ Partial Class Ventas
|
||||
DivBotonesAgregarCliente.Visible = False
|
||||
DivFormaCliente.Visible = False
|
||||
divRegimenCliente.Visible = False
|
||||
divGiro.Visible = False
|
||||
UpAgregarCliente.Update()
|
||||
CargaEstados()
|
||||
TxtRFCCliente.Focus()
|
||||
|
||||
If UsuarioActual.CveEmpresa = 189 Then
|
||||
CargaGiro()
|
||||
End If
|
||||
|
||||
RegistraScript("showDivEC();")
|
||||
End Sub
|
||||
|
||||
@@ -24538,6 +24552,10 @@ Partial Class Ventas
|
||||
|
||||
End If
|
||||
|
||||
If UsuarioActual.CveEmpresa = 189 Then
|
||||
divGiro.Visible = True
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub CargaComboCFDICliente()
|
||||
@@ -24630,7 +24648,7 @@ Partial Class Ventas
|
||||
TxtColoniaCliente.Text.Trim, TxtLocalidadCliente.Text.Trim, TxtCiudadCliente.Text.Trim, DdlEstadoSAT.SelectedValue.ToEntero,
|
||||
TxtRFCCliente.Text.Trim, TxtCPCliente.Text.Trim, TxtTelefonoCliente.Text.Trim, TxtCorreoCliente.Text.Trim,
|
||||
DdlSubProyectoDatos.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, "", -1, -1, CvePrecioLista:=CvePrecioLista,
|
||||
RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona, CveRegimenFiscal:=CveRegimenFiscal, CveUsoCFDI:=CveUsoCFDI) Then
|
||||
RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona, CveRegimenFiscal:=CveRegimenFiscal, CveUsoCFDI:=CveUsoCFDI, CveClienteClasificacion:=DdlGiro.SelectedValue.ToEntero()) Then
|
||||
|
||||
If ObjCliente.DtResultados.Rows.Count > 0 Then
|
||||
RegistraScript("hideDivEC();")
|
||||
@@ -25346,15 +25364,9 @@ Partial Class Ventas
|
||||
|
||||
LtlVerExistenciasPS.Text = $"Existencias: {GvRow.DataKey("PS")}"
|
||||
|
||||
Dim RestringirAlmacenes As Integer = -1
|
||||
If UsuarioActual.CveEmpresa = 119 Then
|
||||
RestringirAlmacenes = 1 'restringue los almacenes:Consignación,Productos Financieros Asignados,,roductos Financieros,Consumo Interno,Activo Fijo,Merma,Consignación de Contrato,Devolucion proveedor,
|
||||
End If
|
||||
Dim RestringirAlmacenes As Integer = -1
|
||||
|
||||
Dim BuscarEnTabla As Boolean = False
|
||||
If UsuarioActual.Empresa.Funcionalidad(715) = "1" Then
|
||||
BuscarEnTabla = True
|
||||
End If
|
||||
Dim BuscarEnTabla As Boolean = True
|
||||
|
||||
Dim ObjInventarios As New ClsInventarios()
|
||||
If ObjInventarios.GetExistenciasProducto(GvRow.DataKey("CvePS").ToEntero(), -1, UsuarioActual.CveEmpresa, -1, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"),
|
||||
@@ -38891,5 +38903,13 @@ Partial Class Ventas
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CargaGiro()
|
||||
Dim Dt As DataTable = GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa)
|
||||
DdlGiro.DataSource = Dt
|
||||
DdlGiro.DataBind()
|
||||
DdlGiro.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
UpAgregarCliente.Update()
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
|
||||
Reference in New Issue
Block a user