Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -162,6 +162,9 @@ Public Class ClsClientes
|
||||
Public Property Nombres As String
|
||||
Public Property RequiereOC As Boolean
|
||||
|
||||
Public Property CargoUsados As Boolean
|
||||
Public Property BonificacionUsado As Boolean
|
||||
|
||||
|
||||
Public ReadOnly Property DtResultados() As DataTable
|
||||
Get
|
||||
@@ -417,6 +420,8 @@ Public Class ClsClientes
|
||||
_ApellidoMaterno = Data(0)("ApellidoMaterno").ToString
|
||||
_Nombres = Data(0)("Nombres").ToString
|
||||
_RequiereOC = CBool(Data(0)("RequiereOC"))
|
||||
_CargoUsados = CBool(Data(0)("CargoUsado"))
|
||||
_BonificacionUsado = CBool(Data(0)("BonificacionUsado"))
|
||||
|
||||
End If
|
||||
Retorno = True
|
||||
@@ -563,7 +568,7 @@ Public Class ClsClientes
|
||||
Optional ObservacionRevsion As String = "-1", Optional ReferenciaFiscal As String = "-1", Optional Celular As String = "-1", Optional ExtOtros As String = "-1", Optional CveUsoCFDI As Integer = -1, Optional CveFormaPago33 As Integer = -1, Optional CveMetodoPago33 As Integer = -1, Optional DesglosaIEPS As Boolean = True,
|
||||
Optional AplicaComercioExterior As Boolean = False, Optional CveTipoOperacion As Integer = -1, Optional CvePedimento As Integer = -1, Optional CveIncoterm As Integer = -1, Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveColonia As Integer = -1,
|
||||
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) As Boolean
|
||||
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) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
|
||||
@@ -695,6 +700,8 @@ Public Class ClsClientes
|
||||
.Add("@LG", SqlDbType.VarChar).Value = LG
|
||||
.Add("@EsDistribuidor", SqlDbType.Bit).Value = EsDistribuidor
|
||||
.Add("@TipoCliente", SqlDbType.Int).Value = TipoCliente
|
||||
.Add("@CargoUsado", SqlDbType.Bit).Value = CargoUsado
|
||||
.Add("@BonificacionUsado", SqlDbType.Bit).Value = BonificacionUsado
|
||||
|
||||
.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
|
||||
End With
|
||||
@@ -740,7 +747,7 @@ Public Class ClsClientes
|
||||
Optional AplicaComercioExterior As Boolean = False, Optional CveTipoOperacion As Integer = -1, Optional CvePedimento As Integer = -1, Optional CveIncoterm As Integer = -1, Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveColonia As Integer = -1,
|
||||
Optional CveMotivoTraslado As Integer = 0, Optional NumRegIdTrib As String = "-1", Optional ComExtEstado As String = "-1", Optional ComExtMunicipio As String = "-1", Optional ComExtColonia As String = "-1",
|
||||
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) As Boolean
|
||||
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) As Boolean
|
||||
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
@@ -888,6 +895,8 @@ Public Class ClsClientes
|
||||
.Add("@LG", SqlDbType.VarChar).Value = LG
|
||||
.Add("@EsDistribuidor", SqlDbType.Bit).Value = EsDistribuidor
|
||||
.Add("@TipoCliente", SqlDbType.Int).Value = TipoCliente
|
||||
.Add("@CargoUsado", SqlDbType.Bit).Value = CargoUsado
|
||||
.Add("@BonificacionUsado", SqlDbType.Bit).Value = BonificacionUsado
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
|
||||
@@ -1044,9 +1044,9 @@ Public Class ClsContabilidad
|
||||
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
'No modificar esta seccion bajo ninguna circunstancia
|
||||
'No modificar esta seccion bajo ninguna circunstancia -- Empresa.CvePlataforma = 3 Or
|
||||
'*****************************************************
|
||||
If Empresa.CvePlataforma = 3 Or (CveUsuario.Contiene(100, 1425) And Empresa.CveEmpresa = 1) Then
|
||||
If (CveUsuario.Contiene(100, 1425) And Empresa.CveEmpresa = 1) Then
|
||||
Retorno = ContabilizarPrePolizaSIG(CvePrePoliza, CveUsuario, Empresa, Fecha, Concepto)
|
||||
Return Retorno
|
||||
End If
|
||||
@@ -5809,6 +5809,27 @@ Public Class ClsContabilidad
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "OCDETALLE ALMACEN"
|
||||
|
||||
Public Function GetOCDetalleAlmacen(MaxDiferencia As Decimal, CveEmpresa As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Conta_OCDetalleAlmacen")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@MaxDiferencia", SqlDbType.Money).Value = MaxDiferencia
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener los datos de oc detalle almacen", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "IDisposable Support"
|
||||
' IDisposable
|
||||
Protected Overridable Sub Dispose(disposing As Boolean)
|
||||
|
||||
@@ -4531,31 +4531,38 @@ Public Class ClsPaginas
|
||||
|
||||
'Pyme 2017
|
||||
PaginaDict.Add("/PyME/Sistemas/RegistroEmpresa.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Sistemas/WizardRegistro.aspx".ToUpper(), -1)
|
||||
'PaginaDict.Add("/Compras/Efacturas.aspx".ToUpper(), 2007)
|
||||
'PaginaDict.Add("/Compras/Compras.aspx".ToUpper(), 2008)
|
||||
'PaginaDict.Add("/Compras/Proveedores.aspx".ToUpper(), 2009)
|
||||
'PaginaDict.Add("/OC/OC.aspx".ToUpper(), 2011)
|
||||
'PaginaDict.Add("/OC/RepOC.aspx".ToUpper(), 2012)
|
||||
|
||||
|
||||
'PaginaDict.Add("/Ventas/CatPS.aspx".ToUpper(), 2033)
|
||||
'PaginaDict.Add("/Ventas/CatPS.aspx".ToUpper(), 2034)
|
||||
|
||||
''PaginaDict.Add("/Sistemas/WizardRegistro.aspx".ToUpper(), 2035)
|
||||
'PaginaDict.Add("/Planeacion/CatSucursales.aspx".ToUpper(), 2036)
|
||||
'PaginaDict.Add("/Planeacion/CatFolios.aspx".ToUpper(), 2037)
|
||||
'PaginaDict.Add("/Sistemas/CatRoles.aspx".ToUpper(), 2038)
|
||||
'PaginaDict.Add("/Sistemas/Usuarios.aspx".ToUpper(), 2039)
|
||||
'PaginaDict.Add("/Sistemas/CatProcesos.aspx".ToUpper(), 2040)
|
||||
|
||||
|
||||
|
||||
|
||||
'CONTSIG (CONTabilidad al SIGuiente nivel)
|
||||
|
||||
|
||||
|
||||
PaginaDict.Add("/PyME/Sistemas/WizardRegistro.aspx".ToUpper(), -1)
|
||||
|
||||
|
||||
PaginaDict.Add("/Contabilidad/OCDetalleAlmacen.aspx".ToUpper(), -1)
|
||||
|
||||
|
||||
|
||||
|
||||
'PaginaDict.Add("/Compras/Efacturas.aspx".ToUpper(), 2007)
|
||||
'PaginaDict.Add("/Compras/Compras.aspx".ToUpper(), 2008)
|
||||
'PaginaDict.Add("/Compras/Proveedores.aspx".ToUpper(), 2009)
|
||||
'PaginaDict.Add("/OC/OC.aspx".ToUpper(), 2011)
|
||||
'PaginaDict.Add("/OC/RepOC.aspx".ToUpper(), 2012)
|
||||
|
||||
|
||||
'PaginaDict.Add("/Ventas/CatPS.aspx".ToUpper(), 2033)
|
||||
'PaginaDict.Add("/Ventas/CatPS.aspx".ToUpper(), 2034)
|
||||
|
||||
''PaginaDict.Add("/Sistemas/WizardRegistro.aspx".ToUpper(), 2035)
|
||||
'PaginaDict.Add("/Planeacion/CatSucursales.aspx".ToUpper(), 2036)
|
||||
'PaginaDict.Add("/Planeacion/CatFolios.aspx".ToUpper(), 2037)
|
||||
'PaginaDict.Add("/Sistemas/CatRoles.aspx".ToUpper(), 2038)
|
||||
'PaginaDict.Add("/Sistemas/Usuarios.aspx".ToUpper(), 2039)
|
||||
'PaginaDict.Add("/Sistemas/CatProcesos.aspx".ToUpper(), 2040)
|
||||
|
||||
|
||||
|
||||
|
||||
'CONTSIG (CONTabilidad al SIGuiente nivel)
|
||||
|
||||
|
||||
|
||||
PaginaDict.Add("/Compras/RepCxPCaudillo.aspx".ToUpper(), -1)
|
||||
|
||||
|
||||
|
||||
@@ -417,7 +417,7 @@ Partial Class Bancos_FluctuacionCambiaria
|
||||
Total = gvr.DataKey("Fluctuacion").ToDecimal.RoundSQL
|
||||
|
||||
If gvr.DataKey("CveIE").ToEntero = 0 Then
|
||||
If Total < 0 Then
|
||||
If Total > 0 Then
|
||||
CveConceptoContable = 64
|
||||
CveCuenta = CveCuentaGanancia
|
||||
idCta = IdCtaGanancia
|
||||
|
||||
@@ -565,7 +565,7 @@ Partial Class Bancos_ProveedoresAbonar
|
||||
|
||||
Dim FiltroInv As String = ""
|
||||
If UsuarioActual.Empresa.Funcionalidad(134).ToEntero > 0 Then
|
||||
Dim PorcentajeSaldo = e.Row.DBCampo("ImporteAlmacenPorcentaje").ToString.ToDouble + e.Row.DBCampo("ImporteServiciosPorcentaje").ToString.ToDouble
|
||||
Dim PorcentajeSaldo = e.Row.DBCampo("ImporteAlmacenPorcentaje").ToString.ToDouble + e.Row.DBCampo("ImporteServiciosPorcentaje").ToString.ToDouble + e.Row.DBCampo("ImporteDevolucionPorcentaje").ToString.ToDouble
|
||||
Dim SaldoInv = (e.Row.DBCampo("Saldo").ToString.ToDouble * (PorcentajeSaldo / 100))
|
||||
If UsuarioActual.Empresa.Funcionalidad(134) = "1" Then 'cuando es proporcional
|
||||
FiltroInv = $"FnCambia({e.Row.FCCheckBox("Chk").ClientID},this,{SaldoInv},1,'{"El importe no debe exceder lo recibido en almacén"}',1);"
|
||||
@@ -605,11 +605,17 @@ Partial Class Bancos_ProveedoresAbonar
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0 Or UsuarioActual.Empresa.Funcionalidad(134).ToEntero > 0 Then
|
||||
e.Row.FCLabel("LbEstatusInv").Attributes.Add("title", String.Format("Importe Almacen: ${0} ({1}%) <br/> {2} <i>Importes <b>SIN</b> IVA</i>", e.Row.DBCampo("ImporteAlmacen"), e.Row.DBCampo("ImporteAlmacenPorcentaje"), If(e.Row.DBCampo("ImporteServicios").ToDouble > 0, String.Format("Importe Servicios: ${0} ({1}%) <br/>", e.Row.DBCampo("ImporteServicios"), e.Row.DBCampo("ImporteServiciosPorcentaje")), "")))
|
||||
Dim Str As New StringBuilder
|
||||
Str.AppendFormat("Importe Almacen: ${0} ({1}%) <br/>", e.Row.DBCampo("ImporteAlmacen").FormatoNumero, e.Row.DBCampo("ImporteAlmacenPorcentaje"))
|
||||
If e.Row.DBCampo("ImporteServicios").ToDouble > 0 Then Str.AppendFormat("Importe Servicios: ${0} ({1}%) <br/>", e.Row.DBCampo("ImporteServicios").FormatoNumero, e.Row.DBCampo("ImporteServiciosPorcentaje"))
|
||||
If e.Row.DBCampo("ImporteDevolucion").ToDouble > 0 Then Str.AppendFormat("Importe Devuelto: ${0} ({1}%) <br/>", e.Row.DBCampo("ImporteDevolucion").FormatoNumero, e.Row.DBCampo("ImporteDevolucionPorcentaje"))
|
||||
Str.AppendFormat(" <i> Importes <b> SIN</b> IVA</i>")
|
||||
|
||||
e.Row.FCLabel("LbEstatusInv").Attributes.Add("title", Str.ToString)
|
||||
Select Case e.Row.DBCampo("EstatusInventario").ToEntero
|
||||
Case 1
|
||||
e.Row.FCLabel("LbEstatusInv").Text = "<i Class='fa fa-flag-o' aria-hidden='true'></i>"
|
||||
e.Row.FCLabel("LbEstatusInv").ForeColor = Drawing.Color.Red
|
||||
e.Row.FCLabel("LbEstatusInv").ForeColor = Drawing.Color.Red
|
||||
If UsuarioActual.Empresa.Funcionalidad(134).ToEntero.Contiene(1, 2) Then ' si se recibió mercancía se paga lo proporcional
|
||||
If UsuarioActual.CveEmpresa = 72 Then
|
||||
If e.Row.DBCampo("Fecha").ToDate > "12/02/2017".ToDate Then
|
||||
@@ -637,7 +643,7 @@ Partial Class Bancos_ProveedoresAbonar
|
||||
End If
|
||||
|
||||
End If
|
||||
Case 3
|
||||
Case 3
|
||||
e.Row.FCLabel("LbEstatusInv").Text = "<i Class='fa fa-flag' aria-hidden='true'></i>"
|
||||
e.Row.FCLabel("LbEstatusInv").ForeColor = Drawing.Color.Green
|
||||
Case Else
|
||||
@@ -649,7 +655,7 @@ Partial Class Bancos_ProveedoresAbonar
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
If UsuarioActual.Empresa.Funcionalidad(306) = "1" And e.Row.DBCampo("AplicaNotaCredito").ToString = "True" Then
|
||||
e.Row.FCCheckBox("Chk").Enabled = False
|
||||
End If
|
||||
|
||||
@@ -6196,6 +6196,7 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
|
||||
|
||||
Dim RegistroCuentaPuente As Boolean = False
|
||||
'NC CON PRODUCTOS - CUENTA PUENTE
|
||||
If UsuarioActual.CveEmpresa.Contiene(119) AndAlso UsuarioActual.Empresa.UsaInventarios AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
|
||||
|
||||
@@ -6213,6 +6214,7 @@ Partial Class Compras_Compras
|
||||
Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}"
|
||||
|
||||
If importeMovimiento > 0 Or TxtTotal.Text.ToDecimal = 0 Then
|
||||
RegistroCuentaPuente = True
|
||||
'Conta ContPAQ
|
||||
If IdCtaContable = 0 Then
|
||||
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 68))("ConceptoContable").ToString)
|
||||
@@ -6255,7 +6257,7 @@ Partial Class Compras_Compras
|
||||
|
||||
|
||||
|
||||
If Not ChkNCInvNC.Checked OrElse Not ListaDocumentos.Count > 0 Then
|
||||
If Not ChkNCInvNC.Checked OrElse Not RegistroCuentaPuente Then
|
||||
'GASTO
|
||||
If UsuarioActual.CveEmpresa = 119 Then
|
||||
DT = TmpDT
|
||||
@@ -6494,7 +6496,7 @@ Partial Class Compras_Compras
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento, ImporteME:=importeMovimiento, CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza) Then
|
||||
IdCtaContable = CtaProveedorComplementaria
|
||||
CveCuenta = CveCuentaProveedorComplementaria
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMN - importeMovimiento, Referencia, 234, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN - importeMovimiento, ImporteME:=importeMovimiento, CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMN - importeMovimiento, Referencia, 234, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN - importeMovimiento, ImporteME:=importeMovimiento, CveCuenta:=CveCuenta, Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit Select
|
||||
End If
|
||||
|
||||
@@ -190,6 +190,7 @@ Partial Class Compras_RepRembolsoComprobaciones
|
||||
If ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
|
||||
If ObjMov.ValorPolizaDescuadre > 0 Then
|
||||
GuardaLogAD($"Compras/RepRembolsoComprobaciones - Unificar | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
|
||||
Alert(ObjMov.MensajePolizaDescuadre, TipoMensaje.MsgError)
|
||||
TieneError = True
|
||||
End If
|
||||
End If
|
||||
|
||||
53
Contabilidad/OCDetalleAlmacen.aspx
Normal file
53
Contabilidad/OCDetalleAlmacen.aspx
Normal file
@@ -0,0 +1,53 @@
|
||||
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="OCDetalleAlmacen.aspx.vb" Inherits="Contabilidad_OCDetalleAlmacen" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="HA" Runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="C" Runat="Server">
|
||||
|
||||
<asp:UpdatePanel ID="UPCuerpo" runat="server">
|
||||
<ContentTemplate>
|
||||
<asp:Button id ="BtnProcesarRegistros" runat="server" Text="Procesar" CssClass="btn btn-primary" OnClick="BtnProcesarRegistros_Click" />
|
||||
|
||||
<br />
|
||||
<br />
|
||||
|
||||
|
||||
<asp:GridView ID="GvDAtos" runat="server" AutoGenerateColumns="false"
|
||||
DataKeyNames="Cargo,Abono,dif,CveMoneda,Fecha,Referencia,CveOrdenCompraDetalle,CveOrdenCompra,CveProveedor,CveCompra,Folio" CssClass="table table-hover table-advance " >
|
||||
<Columns>
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="center" ItemStyle-Width="60px" HeaderText="">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox ID="Chk" runat="server" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:BoundField DataField="CvePrePoliza" HeaderText="CvePrePoliza"></asp:BoundField>
|
||||
<asp:BoundField DataField="Folio" HeaderText="Folio OC"></asp:BoundField>
|
||||
<asp:BoundField DataField="CveOCDetalle" HeaderText="CveOCDetalle"></asp:BoundField>
|
||||
<asp:BoundField DataField="Cargo" HeaderText="Cargo" DataFormatString="{0:C2}" ></asp:BoundField>
|
||||
<asp:BoundField DataField="Abono" HeaderText="Abono" DataFormatString="{0:C2}"></asp:BoundField>
|
||||
<asp:BoundField DataField="Dif" HeaderText="Dif" DataFormatString="{0:C2}" ></asp:BoundField>
|
||||
<asp:BoundField DataField="CveCompra" HeaderText="CveCompra"></asp:BoundField>
|
||||
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</ContentTemplate>
|
||||
|
||||
|
||||
|
||||
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
|
||||
</asp:Content>
|
||||
|
||||
163
Contabilidad/OCDetalleAlmacen.aspx.vb
Normal file
163
Contabilidad/OCDetalleAlmacen.aspx.vb
Normal file
@@ -0,0 +1,163 @@
|
||||
|
||||
Imports System.Data
|
||||
Imports Extensiones
|
||||
|
||||
Partial Class Contabilidad_OCDetalleAlmacen
|
||||
Inherits ClsPaginas
|
||||
|
||||
|
||||
Property DTDatos As DataTable
|
||||
Get
|
||||
If ViewState("DTDatos") Is Nothing Then
|
||||
Return New DataTable
|
||||
Else
|
||||
Return DirectCast(ViewState("DTDatos"), DataTable)
|
||||
End If
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DTDatos") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Private Sub Contabilidad_OCDetalleAlmacen_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
|
||||
If Not Page.IsPostBack Then
|
||||
CargaDatos()
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDatos()
|
||||
|
||||
|
||||
Dim ObjConta As New ClsContabilidad
|
||||
|
||||
|
||||
|
||||
If ObjConta.GetOCDetalleAlmacen(1000D, UsuarioActual.CveEmpresa) Then
|
||||
|
||||
If ObjConta.DtResultados.Rows.Count > 0 Then
|
||||
DTDatos = ObjConta.DtResultados
|
||||
GvDAtos.DataSource = DTDatos
|
||||
Alert($"Se encontraron {ObjConta.DtResultados.Rows.Count} registros.")
|
||||
Else
|
||||
DTDatos = Nothing
|
||||
Alert("Nos se encontraron registros por proocesar ")
|
||||
GvDAtos.DataSource = Nothing
|
||||
End If
|
||||
Else
|
||||
DTDatos = Nothing
|
||||
GvDAtos.DataSource = Nothing
|
||||
End If
|
||||
|
||||
GvDAtos.DataBind()
|
||||
|
||||
ObjConta.Dispose()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Protected Sub BtnProcesarRegistros_Click(sender As Object, e As EventArgs)
|
||||
|
||||
|
||||
Dim ObjConta As New ClsContabilidad
|
||||
ObjConta.IniciaTransacSQL()
|
||||
|
||||
Dim modulo As String = "OC Ajuste Manual"
|
||||
Dim ErrorProcesamiento As Boolean = False
|
||||
Dim mensaje As String = ""
|
||||
Dim ContadorProcesados As Integer = 0
|
||||
|
||||
For Each GvDrow As GridViewRow In GvDAtos.Rows
|
||||
|
||||
Dim CvePrePoliza As Integer = 0
|
||||
Dim Cargo As Decimal = GvDrow.DataKey("Cargo").ToString.ToDecimal
|
||||
Dim Abono As Decimal = GvDrow.DataKey("Abono").ToString.ToDecimal
|
||||
Dim Diferencia As Decimal = Math.Abs(GvDrow.DataKey("dif").ToString.ToDecimal)
|
||||
Dim CveMoneda As Integer = GvDrow.DataKey("CveMoneda").ToString.ToEntero
|
||||
Dim Fecha As Date = GvDrow.DataKey("Fecha").ToString.ToDate
|
||||
Dim Referencia As String = GvDrow.DataKey("Referencia").ToString
|
||||
Dim CveOCDetalle As Integer = GvDrow.DataKey("CveOrdenCompraDetalle").ToString.ToEntero
|
||||
Dim CveOC As Integer = GvDrow.DataKey("CveOrdenCompra").ToString.ToEntero
|
||||
Dim CveProveedor As Integer = GvDrow.DataKey("CveProveedor").ToString.ToEntero
|
||||
Dim CveCompra As Integer = GvDrow.DataKey("CveCompra").ToString.ToEntero
|
||||
Dim Folio As String = GvDrow.DataKey("Folio").ToString
|
||||
|
||||
|
||||
Dim CveCuenta176 As Integer = 55169
|
||||
Dim IdCtaCuenta176 As Integer = 1245
|
||||
|
||||
Dim CveCuenta177 As Integer = 55294
|
||||
Dim IdCtaCuenta177 As Integer = 1148
|
||||
|
||||
Dim Chk As CheckBox = GvDrow.FCCheckBox("Chk")
|
||||
|
||||
|
||||
If Chk IsNot Nothing AndAlso Chk.Checked Then
|
||||
CvePrePoliza = ObjConta.AddPrePolizas(modulo, 3, Diferencia, Diferencia, CveMoneda, Fecha, modulo, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
|
||||
GvDrow.Cells(1).Text = CvePrePoliza.ToString
|
||||
mensaje = mensaje & $"CvePrePoliza {CvePrePoliza } OC: {Folio} Importe :{Diferencia} <br>"
|
||||
|
||||
|
||||
If CvePrePoliza > 0 Then
|
||||
|
||||
If Cargo > Abono Then
|
||||
If (ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, Diferencia, Referencia, 176, Referencia, Fecha, IdCtaCuenta176, -1, ImporteME:=0, ImporteMX:=Diferencia, CveCompra:=CveCompra, Contabilizable:=1, CveOC:=CveOC, CveOCDetalle:=CveOCDetalle, CveProveedor:=CveProveedor)) Then
|
||||
|
||||
If (ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, -Diferencia, Referencia, 177, Referencia, Fecha, IdCtaCuenta177, -1, ImporteME:=-0, ImporteMX:=-Diferencia, CveCompra:=CveCompra, Contabilizable:=1, CveOC:=CveOC, CveOCDetalle:=CveOCDetalle, CveProveedor:=CveProveedor)) Then
|
||||
ContadorProcesados = ContadorProcesados + 1
|
||||
Else
|
||||
ErrorProcesamiento = True
|
||||
Exit For
|
||||
End If
|
||||
Else
|
||||
ErrorProcesamiento = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
Else
|
||||
If (ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, -Diferencia, Referencia, 176, Referencia, Fecha, IdCtaCuenta176, -1, ImporteME:=-0, ImporteMX:=-Diferencia, CveCompra:=CveCompra, Contabilizable:=1, CveOC:=CveOC, CveOCDetalle:=CveOCDetalle, CveProveedor:=CveProveedor)) Then
|
||||
|
||||
If (ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, Diferencia, Referencia, 177, Referencia, Fecha, IdCtaCuenta177, -1, ImporteME:=0, ImporteMX:=Diferencia, CveCompra:=CveCompra, Contabilizable:=1, CveOC:=CveOC, CveOCDetalle:=CveOCDetalle, CveProveedor:=CveProveedor)) Then
|
||||
ContadorProcesados = ContadorProcesados + 1
|
||||
Else
|
||||
ErrorProcesamiento = True
|
||||
Exit For
|
||||
End If
|
||||
Else
|
||||
ErrorProcesamiento = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
Next
|
||||
|
||||
|
||||
DTDatos.AcceptChanges()
|
||||
|
||||
If Not ErrorProcesamiento Then
|
||||
|
||||
ObjConta.Commit()
|
||||
'ObjConta.RollBack() '
|
||||
'BtnProcesarRegistros.Enabled = False
|
||||
Alert($"PrePolizas agregadas correctamente <br> registros procesados: {ContadorProcesados} <br> {mensaje}")
|
||||
Else
|
||||
ObjConta.RollBack()
|
||||
End If
|
||||
|
||||
ObjConta.Dispose()
|
||||
|
||||
|
||||
CargaDatos()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||
@@ -158,6 +158,14 @@ Partial Class ContabilidadC_RegPrePoliza
|
||||
ViewState("IndiceGrid") = value
|
||||
End Set
|
||||
End Property
|
||||
Public Property IdPoliza As Integer
|
||||
Get
|
||||
Return CType(ViewState("IdPoliza"), Integer)
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("IdPoliza") = value
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
@@ -174,6 +182,7 @@ Partial Class ContabilidadC_RegPrePoliza
|
||||
Observaciones = "-1"
|
||||
Beneficiario = "-1"
|
||||
Actualizar = False
|
||||
IdPoliza = -1
|
||||
|
||||
Dim dt As DataTable = Nothing
|
||||
' If UsuarioActual.Empresa.UsaContabilidad Then
|
||||
@@ -401,10 +410,15 @@ Partial Class ContabilidadC_RegPrePoliza
|
||||
LnkComplementoPago.Visible = True
|
||||
End If
|
||||
|
||||
IdPoliza = dr("IdPoliza").ToString.ToEntero
|
||||
If dr("IdPoliza").ToString.ToEntero > 0 Then
|
||||
HplContabilizada.NavigateUrl = String.Format("RegPoliza.aspx?IdPoliza={0}", dr("IdPoliza"))
|
||||
divContabilziada.Visible = True
|
||||
BtnEliminar.Visible = False
|
||||
If UsuarioActual.CveUsuario = 100 Then
|
||||
BtnContabilizar.Visible = True
|
||||
BtnContabilizar.Text = "Actualizar Poliza"
|
||||
End If
|
||||
ElseIf TxtTotalCargos.Text.ToDouble = TxtTotalAbonos.Text.ToDouble Then
|
||||
'sino está contabilizada, se activa el botón
|
||||
BtnContabilizar.Visible = True
|
||||
@@ -1428,7 +1442,7 @@ Partial Class ContabilidadC_RegPrePoliza
|
||||
|
||||
Dim ObjConta As New ClsContabilidad
|
||||
|
||||
If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
|
||||
If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, pIDPoliza:=If(IdPoliza > 0, IdPoliza, -1)) Then
|
||||
Alert(String.Format("Prepóliza contabilizada. <br/><br/>Folio:<a Class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Ver Póliza</a>", ObjConta.ContaIdPoliza), ModExtensiones.TipoMensaje.MsgInformacion)
|
||||
Else
|
||||
|
||||
|
||||
5329
Empresas/141/Formatos/Cotizacion.rdlc
Normal file
5329
Empresas/141/Formatos/Cotizacion.rdlc
Normal file
File diff suppressed because it is too large
Load Diff
5329
Empresas/141/Formatos/Factura.rdlc
Normal file
5329
Empresas/141/Formatos/Factura.rdlc
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@@ -761,6 +761,8 @@ Partial Class General_SaldosIniciales
|
||||
Dim CveVendedor As Integer = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveVendedor", $"Vendedor = '{Vendedor}'").ToString.ToEntero
|
||||
Dim CveClasificación As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", $"Clasificacion = '{Clasificacion}'").ToString.ToEntero
|
||||
Dim EsDistribuidor As Boolean = If(Row("Es distribuidor").ToString = "si", True, False)
|
||||
Dim CargoUsado As Boolean = If(Row("CargoUsado").ToString = "si", True, False)
|
||||
Dim BonificacionUsado As Boolean = If(Row("BonificacionUsado").ToString = "si", True, False)
|
||||
|
||||
If CveCliente > 0 Then
|
||||
ExisteCliente = True
|
||||
@@ -773,7 +775,7 @@ Partial Class General_SaldosIniciales
|
||||
'End If
|
||||
Else
|
||||
If Not ObjClientes.AddCliente(RazonSocial, RazonSocial, Calle, "", "", Colonia, "", "", Estado, Pais, RFC, CodigoPostal, "", "", Contacto, "", "", "", "", -1, False, 0, 0, False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, "", CveVendedor, -1, -1,
|
||||
"-1", "-1", -1, "-1", -1, "0", -1, "0", 0, "", 0, "", 0, "", 0, "", "", "", Codigo, 0, "", 1, False, "", "", "", False, "", "", "", "", "", False, "", "", "", False, 0, -1, EsDistribuidor:=EsDistribuidor, CveClienteClasificacion:=CveClasificación) Then
|
||||
"-1", "-1", -1, "-1", -1, "0", -1, "0", 0, "", 0, "", 0, "", 0, "", "", "", Codigo, 0, "", 1, False, "", "", "", False, "", "", "", "", "", False, "", "", "", False, 0, -1, EsDistribuidor:=EsDistribuidor, CveClienteClasificacion:=CveClasificación, CargoUsado:=CargoUsado, BonificacionUsado:=BonificacionUsado) Then
|
||||
ErrorClientes = True
|
||||
RFC.GuardaLog
|
||||
Exit For
|
||||
|
||||
@@ -3555,15 +3555,16 @@ Partial Class Inventarios_EntradasSalidas
|
||||
|
||||
'MOVIMIENTO DE ENTRADA
|
||||
If DtMovimientosEntradaInvFisico.Rows.Count > 0 Then
|
||||
Dim FolioEntrada As Integer = ObjInventario.GetFolioSiguiente(2, UsuarioActual.CveEmpresa)
|
||||
CveMovimientoEntrada = ObjInventario.AddMovimiento(DdlAlmacenInventarioFisico.SelectedValue.ToEntero, 2, 1, Fecha, FolioEntrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtIFDescripcion.Text.Trim)
|
||||
|
||||
Dim FolioEntrada As Integer = ObjInventario.GetFolioSiguiente(32, UsuarioActual.CveEmpresa)
|
||||
CveMovimientoEntrada = ObjInventario.AddMovimiento(DdlAlmacenInventarioFisico.SelectedValue.ToEntero, 32, 1, Fecha, FolioEntrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtIFDescripcion.Text.Trim)
|
||||
Else
|
||||
CveMovimientoEntrada = -1
|
||||
End If
|
||||
|
||||
'MOVIMIENTO DE SALIDA
|
||||
If DtMovimientosSalidaInvFisico.Rows.Count > 0 Then
|
||||
Dim FolioSalida As Integer = ObjInventario.GetFolioSiguiente(3, UsuarioActual.CveEmpresa)
|
||||
CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenInventarioFisico.SelectedValue.ToEntero, 3, 1, Fecha, FolioSalida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveMovimientoRelacionado:=CveMovimientoEntrada, Observaciones:=TxtIFDescripcion.Text.Trim)
|
||||
Dim FolioSalida As Integer = ObjInventario.GetFolioSiguiente(34, UsuarioActual.CveEmpresa)
|
||||
CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenInventarioFisico.SelectedValue.ToEntero, 34, 1, Fecha, FolioSalida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveMovimientoRelacionado:=CveMovimientoEntrada, Observaciones:=TxtIFDescripcion.Text.Trim)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
@@ -181,6 +181,7 @@ Partial Class Inventarios_KardexAlmacen
|
||||
|
||||
e.Row.HorizontalAlign = HorizontalAlign.Right
|
||||
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Left
|
||||
e.Row.Cells(2).HorizontalAlign = HorizontalAlign.Left
|
||||
Dim Index As Integer = 0
|
||||
|
||||
For Each Cells As TableCell In e.Row.Cells
|
||||
|
||||
@@ -298,7 +298,9 @@
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<asp:Button ID="btnGuardarEstatusUsuariosREQ" Text="Guardar" runat="server" Visible="true" CssClass="btn btn-primary" />
|
||||
<div style="width:100%;text-align:center">
|
||||
<asp:Button ID="btnGuardarEstatusUsuariosREQ" Text="Guardar" runat="server" Visible="true" CssClass="btn btn-primary" />
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
@@ -328,9 +330,10 @@
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlTipoEstatus" runat="server" CssClass="form-control select2me js-Impuesto-programmatic" Width="100%">
|
||||
<asp:ListItem Value="1" Text="Inicial"></asp:ListItem>
|
||||
<asp:ListItem Value="2" Text="Proceso"></asp:ListItem>
|
||||
<asp:ListItem Value="3" Text="Terminada"></asp:ListItem>
|
||||
<asp:ListItem Value="4" Text="Cancelada"></asp:ListItem>
|
||||
<asp:ListItem Value="2" Text="Asignación"></asp:ListItem>
|
||||
<asp:ListItem Value="3" Text="Proceso"></asp:ListItem>
|
||||
<asp:ListItem Value="4" Text="Terminada"></asp:ListItem>
|
||||
<asp:ListItem Value="5" Text="Cancelada"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<label for="<%= DdlTipoEstatus.ClientID.ToString()%>">Tipo Estatus:</label>
|
||||
</div>
|
||||
|
||||
@@ -2829,7 +2829,7 @@ Partial Class Sistemas_UsuarioDetalle
|
||||
If CveEstatus > 0 Then
|
||||
If Row.FCCheckBox("chkEstatus" + r.ToString).Checked = False And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero > 0 Then
|
||||
'Eliminar el registro existente
|
||||
If Not ObjOS.RemoveEstatusUsuarios(Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero) Then
|
||||
If Not ObjOS.RemoveEstatusUsuarios(Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero, -1) Then
|
||||
HuboErrores = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
@@ -584,7 +584,14 @@
|
||||
</asp:DropDownList>
|
||||
<label for="<%= DdlTipoCliente.ClientID.ToString()%>">Tipo de Cliente:</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<label>Cargo Usado:</label>
|
||||
<asp:CheckBox ID="ChkCargoUsado" runat="server" CssClass="make-switchsd" data-size="small" Text="" ClientIDMode="Static" />
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<label>Bonificación Usado:</label>
|
||||
<asp:CheckBox ID="ChkBonificacionUsado" runat="server" CssClass="make-switchsd" data-size="small" Text="" ClientIDMode="Static" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -400,6 +400,44 @@ Partial Class Clientes
|
||||
ViewState("DtPagos") = value
|
||||
End Set
|
||||
End Property
|
||||
'Private Property EstatusAnteriorCliente As Boolean
|
||||
' Get
|
||||
' If ViewState("EstatusAnteriorCliente") Is Nothing Then
|
||||
' Return True
|
||||
' Else
|
||||
' Return Boolean.Parse(ViewState("EstatusAnteriorCliente").ToString)
|
||||
' End If
|
||||
' End Get
|
||||
' Set(value As Boolean)
|
||||
' ViewState("EstatusAnteriorCliente") = value
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
Private Property CargoUsado As Boolean
|
||||
Get
|
||||
If ViewState("CargoUsado") Is Nothing Then
|
||||
Return True
|
||||
Else
|
||||
Return Boolean.Parse(ViewState("CargoUsado").ToString)
|
||||
End If
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
ViewState("CargoUsado") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property BonificacionUsado As Boolean
|
||||
Get
|
||||
If ViewState("BonificacionUsado") Is Nothing Then
|
||||
Return True
|
||||
Else
|
||||
Return Boolean.Parse(ViewState("BonificacionUsado").ToString)
|
||||
End If
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
ViewState("BonificacionUsado") = value
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
#Region "Documentacion"
|
||||
@@ -1372,7 +1410,8 @@ Partial Class Clientes
|
||||
|
||||
ChkDesglosarIEPS.Checked = ObjClientes.DesglosaIEPS
|
||||
DdlCorporativo.SelectedValueExist(ObjClientes.CveClienteCorporativo.ToString)
|
||||
|
||||
ChkCargoUsado.Checked = ObjClientes.CargoUsados
|
||||
ChkBonificacionUsado.Checked = ObjClientes.BonificacionUsado
|
||||
'COMERCIO EXTERIOR
|
||||
ChkAplicaComercioExterior.Checked = ObjClientes.AplicaComercioExterior
|
||||
DdlTipoOperacion.SelectedValueExist(ObjClientes.CveTipoOperacion)
|
||||
|
||||
@@ -21316,7 +21316,7 @@ Partial Class Ventas
|
||||
AgregarProductoServicio(tCantidad, Dr("CveUM").ToString.ToEntero, Dr("UM").ToString, Dr("CveClasificacion").ToString.ToEntero, Dr("Clasificacion").ToString,
|
||||
Dr("CvePS").ToString.ToEntero, Dr("PS").ToString, Dr("Obs").ToString, Dr("PU").ToString.ToDecimal, Dr("Descuento").ToString.ToDecimal,
|
||||
Dr("CveProyecto").ToString.ToEntero, Dr("Proyecto").ToString, Dr("CveSubProyecto").ToString.ToEntero, Dr("SubProyecto").ToString,
|
||||
CveContratoDetalle:=Dr("CveContratoDetalle").ToString.ToEntero, CveVentaDetalleCotizacion:=Dr("CveVentaDetalle").ToString.ToEntero)
|
||||
CveContratoDetalle:=Dr("CveContratoDetalle").ToString.ToEntero, CveVentaDetalleCotizacion:=Dr("CveVentaDetalle").ToString.ToEntero, SeActualiza:=True)
|
||||
Next
|
||||
CalculaTotalesVenta()
|
||||
Return True
|
||||
|
||||
Reference in New Issue
Block a user