-- vinculación de otros proveedores de oc
This commit is contained in:
@@ -6185,6 +6185,7 @@
|
||||
$get("TxtOC").value = Folio;
|
||||
$get("HdnVCveOC").value = CveOC;
|
||||
$get("HdnCveEstatusOC").value = CveEstatus;
|
||||
$get("HdnCveProveedorOC").value = CveProveedor;
|
||||
$get("BtnVOC").click();
|
||||
|
||||
}
|
||||
|
||||
@@ -6181,6 +6181,7 @@ Partial Class Compras_Compras
|
||||
Importe228 = ObjOC.DtResultados.FiltroPrimeroValor("Importe228").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteME228 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteME228").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteMN228 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteMN228").ToDecimal * Dr("Cantidad").ToString.ToDecimal
|
||||
Importe229 = ObjOC.DtResultados.FiltroPrimeroValor("Importe229").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteME229 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteME229").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteMN229 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteMN229").ToDecimal * Dr("Cantidad").ToString.ToDecimal
|
||||
ImporteCI176 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteCI176").ToDecimal
|
||||
Dim tCveColectiva As Integer = ObjOC.DtResultados.FiltroPrimeroValor("CveColectiva").ToEntero
|
||||
CveMovimientoAlmacen = ObjOC.DtResultados.FiltroPrimeroValor("CveMovimientoAlmacen").ToEntero
|
||||
Dim TCAjuste As Decimal = ObjOC.DtResultados.FiltroPrimeroValor("TipoCambioAjuste").ToDecimal
|
||||
'RMF. falta verificar el costo indirecto de la OC
|
||||
@@ -6191,8 +6192,8 @@ Partial Class Compras_Compras
|
||||
SumatoriaInventario += Importe228 + Importe229
|
||||
'se considera costoindirecto, para que la factura tiene en un concepto tipo servicio
|
||||
SumatoriaOCINV += (Dr(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total")).ToString.ToDecimal * tipoCambioActual) - (ImporteMN228 + ImporteMN229 - ImporteCI176)
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe228, ImporteMN228, ConceptoContabilizacionME, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=ImporteME228, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen, Contabilizable:=SeContabiliza) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe229, ImporteMN229, ConceptoContabilizacionMEComp, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=ImporteME229, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen, Contabilizable:=SeContabiliza) Then
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe228, ImporteMN228, ConceptoContabilizacionME, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=ImporteME228, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveColectiva:=tCveColectiva, Contabilizable:=SeContabiliza) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe229, ImporteMN229, ConceptoContabilizacionMEComp, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=ImporteME229, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveColectiva:=tCveColectiva, Contabilizable:=SeContabiliza) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
@@ -6205,7 +6206,7 @@ Partial Class Compras_Compras
|
||||
SumatoriaInventario += Importe176
|
||||
'se considera costoindirecto, para que la factura tiene en un concepto tipo servicio
|
||||
SumatoriaOCINV += (Dr(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total")).ToString.ToDecimal * tipoCambioActual) - (ImporteMN176 - ImporteCI176)
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe176, ImporteMN176, ConceptoContabilizacion, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=ImporteME176, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoAlmacen, Contabilizable:=SeContabiliza) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe176, ImporteMN176, ConceptoContabilizacion, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=ImporteME176, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveColectiva:=tCveColectiva, Contabilizable:=SeContabiliza) Then
|
||||
ErrorPrepoliza = True
|
||||
Exit For
|
||||
End If
|
||||
@@ -18636,6 +18637,7 @@ Partial Class Compras_Compras
|
||||
DtInvOCDiferencias.Columns.Add("TipoCambioAjuste", GetType(Double))
|
||||
DtInvOCDiferencias.Columns.Add("ConceptoSalida", GetType(Integer))
|
||||
DtInvOCDiferencias.Columns.Add("CveClasificacion", GetType(Integer))
|
||||
DtInvOCDiferencias.Columns.Add("CveColectiva", GetType(Integer))
|
||||
DtInvOCDiferencias.Columns.Add("PS", GetType(String))
|
||||
|
||||
|
||||
@@ -18655,6 +18657,7 @@ Partial Class Compras_Compras
|
||||
DrInvOCDiferencias("PUCompra") = Math.Round(gvr.FCTextBox("TxtPU").Text.ToDecimal, 6)
|
||||
DrInvOCDiferencias("CveMoneda") = dr2("CveMoneda").ToString.ToEntero
|
||||
DrInvOCDiferencias("CveClasificacion") = dr2("CveClasificacion").ToString.ToEntero
|
||||
DrInvOCDiferencias("CveColectiva") = dr2("CveColectiva").ToString.ToEntero
|
||||
DrInvOCDiferencias("FolioOC") = dr2("FolioOC").ToString
|
||||
DrInvOCDiferencias("CveProveedor") = dr2("CveProveedorOC").ToString.ToEntero
|
||||
DrInvOCDiferencias("PS") = dr2("PS").ToString
|
||||
@@ -18708,6 +18711,7 @@ Partial Class Compras_Compras
|
||||
Dim DiferenciaInvOC As Decimal = 0.0D
|
||||
Dim CveMovimientoAlmacen As Integer = -1
|
||||
Dim CveOCDetalle As Integer = -1
|
||||
Dim CveColectiva As Integer = -1
|
||||
Dim CveAlmacen As Integer = -1
|
||||
Dim Fecha As Date = TxtFecha.Text.ToDate
|
||||
Dim CveProveedorInvOC As Integer = -1
|
||||
@@ -18724,56 +18728,65 @@ Partial Class Compras_Compras
|
||||
Dim PUCompra As Decimal = 0.0D
|
||||
Dim CveMoneda As Integer = 1
|
||||
Dim PS As String = ""
|
||||
Dim TipoMovtoCosto As Boolean = False
|
||||
If UsuarioActual.CveEmpresa = 119 Then TipoMovtoCosto = True
|
||||
Dim TipoMovtoCosto As Boolean = True
|
||||
|
||||
'AJUSTES EN PREPOLIZA - SALIDA CONTABLE (CON SALIDA DE VENTA O SIN SALIDA)
|
||||
For Each DrDiferencias As DataRow In DtInvOCDiferencias.FiltraParametros("ConceptoSalida IN (0,1)").Rows
|
||||
CveOrdenCompra = DrDiferencias("CveOrdenCompra").ToString.ToEntero
|
||||
CveOCDetalle = DrDiferencias("CveOrdenCompraDetalle").ToString.ToEntero
|
||||
CveMoneda = DrDiferencias("CveMoneda").ToString.ToEntero
|
||||
DiferenciaInvOC = DrDiferencias("Diferencia").ToString.ToDecimal.RoundSQL()
|
||||
PUCompra = DrDiferencias("PUCompra").ToString.ToDecimal
|
||||
PS = DrDiferencias("PS").ToString
|
||||
tCveProveedor = DtInvOCDiferencias.MAX("CveProveedor").ToEntero
|
||||
ProveedorNombre = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", $"CveProveedor = {tCveProveedor}").ToString
|
||||
Fecha = TxtFecha.Text.ToDate
|
||||
CvePrePoliza = ObjConta.AddPrePolizas("Compras/OC-(OCAlmacen)", 74, 0, 0, 1, Fecha, ProveedorNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
|
||||
Fecha = TxtFecha.Text.ToDate
|
||||
SerieFolio = $"OC: {DrDiferencias("FolioOC").ToString}"
|
||||
tCveProveedor = DrDiferencias("CveProveedor").ToString.ToEntero
|
||||
ProveedorNombre = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", $"CveProveedor = {tCveProveedor}").ToString
|
||||
Dim ConceptoPartida As String = String.Format("{0} OC: {1} Inv: {2}", ProveedorNombre, DrDiferencias("FolioOC"), DrDiferencias("FolioAlmacen"))
|
||||
If CvePrePoliza > 0 Then
|
||||
|
||||
ConceptoSalida = DrDiferencias("ConceptoSalida").ToString.ToEntero
|
||||
CveAlmacen = DrDiferencias("CveAlmacen").ToString.ToEntero
|
||||
CveMovimientoAlmacen = DrDiferencias("CveMovimiento").ToString.ToEntero
|
||||
TCInvOC = DrDiferencias("TipoCambioAjuste").ToString.ToDecimal
|
||||
'AJUSTES EN PREPOLIZA - SALIDA CONTABLE (CON SALIDA DE VENTA O SIN SALIDA)
|
||||
For Each DrDiferencias As DataRow In DtInvOCDiferencias.FiltraParametros("ConceptoSalida IN (0,1)").Rows
|
||||
CveOrdenCompra = DrDiferencias("CveOrdenCompra").ToString.ToEntero
|
||||
CveOCDetalle = DrDiferencias("CveOrdenCompraDetalle").ToString.ToEntero
|
||||
CveMoneda = DrDiferencias("CveMoneda").ToString.ToEntero
|
||||
DiferenciaInvOC = DrDiferencias("Diferencia").ToString.ToDecimal.RoundSQL()
|
||||
PUCompra = DrDiferencias("PUCompra").ToString.ToDecimal
|
||||
CveColectiva = DrDiferencias("CveColectiva").ToString.ToEntero
|
||||
PS = DrDiferencias("PS").ToString
|
||||
|
||||
Dim CveClasificacionCostoOC As Integer = TmpDT.FiltroPrimeroValor("CveClasificacion", "ISNULL(TipoAF, 0) <> 2 And ISNULL(CveAlmacen, 0) = 0 And ISNULL(AplicaCostoIndirecto, 0) <> 1 And ISNULL(CveTipoPS, 0) = 2").ToEntero
|
||||
Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero
|
||||
|
||||
If DiferenciaInvOC.RoundSQL() <> 0 Then
|
||||
SerieFolio = $"OC: {DrDiferencias("FolioOC").ToString}"
|
||||
tCveProveedor = DrDiferencias("CveProveedor").ToString.ToEntero
|
||||
Dim ConceptoPartida As String = String.Format("{0} OC: {1} Inv: {2}", ProveedorNombre, DrDiferencias("FolioOC"), DrDiferencias("FolioAlmacen"))
|
||||
|
||||
If CveSubProyecto <= 0 Then
|
||||
Alert("Debe de asignar un sub proyecto o centro de costos.", TipoMensaje.MsgAdvertencia)
|
||||
Retorno = False
|
||||
End If
|
||||
ConceptoSalida = DrDiferencias("ConceptoSalida").ToString.ToEntero
|
||||
CveAlmacen = DrDiferencias("CveAlmacen").ToString.ToEntero
|
||||
CveMovimientoAlmacen = DrDiferencias("CveMovimiento").ToString.ToEntero
|
||||
TCInvOC = DrDiferencias("TipoCambioAjuste").ToString.ToDecimal
|
||||
|
||||
CvePrePoliza = ObjConta.AddPrePolizas("Compras/OC-(OCAlmacen)", 74, DiferenciaInvOC, DiferenciaInvOC, 1, Fecha, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
If CvePrePoliza > 0 Then
|
||||
Dim CveClasificacionCostoOC As Integer = TmpDT.FiltroPrimeroValor("CveClasificacion", "ISNULL(TipoAF, 0) <> 2 And ISNULL(CveAlmacen, 0) = 0 And ISNULL(AplicaCostoIndirecto, 0) <> 1 And ISNULL(CveTipoPS, 0) = 2").ToEntero
|
||||
Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero
|
||||
|
||||
If CveMoneda = 2 Then
|
||||
ImporteME = (DiferenciaInvOC / TCInvOC).RoundAD()
|
||||
ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundAD()
|
||||
If DiferenciaInvOC.RoundSQL() <> 0 Then
|
||||
|
||||
Dim DifImporte As Decimal = DiferenciaInvOC - (ImporteME + ImporteMEComp)
|
||||
If CveSubProyecto <= 0 Then
|
||||
Alert("Debe de asignar un sub proyecto o centro de costos.", TipoMensaje.MsgAdvertencia)
|
||||
Retorno = False
|
||||
End If
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -DiferenciaInvOC, -DiferenciaInvOC, 177, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto) Then
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
If CvePrePoliza > 0 Then
|
||||
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteME, ImporteME, 228, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMEComp, ImporteMEComp, 229, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then
|
||||
If DifImporte <> 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DifImporte, DifImporte, 69, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=DifImporte, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle, CveClasificacion:=CveClasificacionCostoOC, CveSubProyecto:=CveSubProyecto) Then
|
||||
If CveMoneda = 2 Then
|
||||
ImporteME = (DiferenciaInvOC / TCInvOC).RoundAD()
|
||||
ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundAD()
|
||||
|
||||
Dim DifImporte As Decimal = DiferenciaInvOC - (ImporteME + ImporteMEComp)
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, -DiferenciaInvOC, -DiferenciaInvOC, 177, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto) Then
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteME, ImporteME, 228, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMEComp, ImporteMEComp, 229, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then
|
||||
If DifImporte <> 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DifImporte, DifImporte, 69, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=DifImporte, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle, CveClasificacion:=CveClasificacionCostoOC, CveSubProyecto:=CveSubProyecto) Then
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
Else
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
@@ -18782,35 +18795,34 @@ Partial Class Compras_Compras
|
||||
Exit For
|
||||
End If
|
||||
Else
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
Else
|
||||
'2018.11.24 se cambia concepto 177, de cargo a abono negativo., petición MALL
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -DiferenciaInvOC, -DiferenciaInvOC, If(ConceptoSalida = 0, 177, 177), SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto, CveClasificacion:=CveClasificacionCostoOC) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DiferenciaInvOC, DiferenciaInvOC, 176, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle) Then
|
||||
'2018.11.24 se cambia concepto 177, de cargo a abono negativo., petición MALL
|
||||
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, -DiferenciaInvOC, -DiferenciaInvOC, If(ConceptoSalida = 0, 177, 177), SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto, CveClasificacion:=CveClasificacionCostoOC) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DiferenciaInvOC, DiferenciaInvOC, 176, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveColectiva:=CveColectiva) Then
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
Else
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
Else
|
||||
End If
|
||||
If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then
|
||||
Retorno = False
|
||||
Exit For
|
||||
End If
|
||||
|
||||
If Retorno Then
|
||||
If Not OCBitacora.AddEventoBitacora(String.Format("Se registró una póliza de ajuste por cambio de precio en producto: {0}", PS), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOC:=CveOrdenCompra) Then
|
||||
Retorno = False
|
||||
If Retorno Then
|
||||
If Not OCBitacora.AddEventoBitacora(String.Format("Se registró una póliza de ajuste por cambio de precio en producto: {0}", PS), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOC:=CveOrdenCompra) Then
|
||||
Retorno = False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
Next
|
||||
Else
|
||||
Alert("prepóliza de ajuste no registrada.", TipoMensaje.MsgAdvertencia)
|
||||
Retorno = False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
Reference in New Issue
Block a user