diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb index 4b95212e9..72acf9130 100644 --- a/App_Code/ClsGenerales.vb +++ b/App_Code/ClsGenerales.vb @@ -3684,7 +3684,7 @@ Public Class ClsGenerales Public Function AddGralTimbre(TipoDocto As String, CveSubProyecto As Integer, Fecha As DateTime, CveUsuario As Integer, CveEmpresa As Integer, Optional Serie As String = "-1", Optional Folio As Integer = -1, Optional Estatus As Integer = 0, - Optional CveEntregaAlmacen As Integer = -1, Optional AplicaCP As Boolean = False) As Integer + Optional CveEntregaAlmacen As Integer = -1, Optional AplicaCP As Boolean = False, Optional CveVenta As Integer = -1) As Integer Dim Retorno As Integer = -1 DataAdapter("PA_Gral_TimbreAdd") @@ -3701,6 +3701,7 @@ Public Class ClsGenerales .Add("@AplicaCP", SqlDbType.Bit).Value = AplicaCP .Add("@CveEntregaAlmacen", SqlDbType.Int).Value = CveEntregaAlmacen .Add("@CveSubProyectoOrigen", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveVenta", SqlDbType.Int).Value = CveVenta .Add("@CveTimbre", SqlDbType.Int).Direction = ParameterDirection.Output .Add("@FolioInsertado", SqlDbType.Int).Direction = ParameterDirection.Output @@ -3722,7 +3723,7 @@ Public Class ClsGenerales Return Retorno End Function - Public Function GetGralTimbre(CveTimbre As Integer, TipoDocto As String, FechaI As Date, FechaF As Date, Estatus As Integer, CveEmpresa As Integer, CveMovimiento As Integer) As Boolean + Public Function GetGralTimbre(CveTimbre As Integer, TipoDocto As String, FechaI As Date, FechaF As Date, Estatus As Integer, CveEmpresa As Integer, CveMovimiento As Integer, Optional CveVenta As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Gral_TimbreGet") @@ -3734,7 +3735,7 @@ Public Class ClsGenerales .Add("@Estatus", SqlDbType.Int).Value = Estatus .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento - + .Add("@CveVenta", SqlDbType.Int).Value = CveVenta End With Try diff --git a/App_Code/Timbres.vb b/App_Code/Timbres.vb index 654f5ae7f..6fdac527d 100644 --- a/App_Code/Timbres.vb +++ b/App_Code/Timbres.vb @@ -218,7 +218,7 @@ Public Class Timbres Dim Ubica As New CFDICartaPorteUbicacion Ubica.TipoEstacion = "" Ubica = New CFDICartaPorteUbicacion With {.TipoUbicacion = "Origen", .IDUbicacion = "OR000001", .RFCRemitenteDestinatario = drT("RemitenteRFC").ToString, - .FechaHoraSalidaLlegada = FechaSalida.ToString("yyyy-MM-ddTHH:mm:ss"),' "2021-08-23T11:13:01", + .FechaHoraSalidaLlegada = FechaSalida.ToString("yyyy-MM-ddTHH:mm:ss"),' "2021-08-23T11:13:01", .NombreRemitenteDestinatario = drT("RemitenteNombre").ToString, .Domicilio = DomOrigen} CartaPorte.Ubicaciones.Add(Ubica) @@ -365,22 +365,268 @@ Public Class Timbres End If Return Timbre End Function - Public Function Timbrar() As Boolean - Dim Respuesta As Boolean = False - - Dim ObjTimbrado As New Timbrado - - If ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) Then - Respuesta = True - Else - Respuesta = False - _MsgError.AppendLine(ObjTimbrado.MensajeErrorCFDI) - End If - - Return Respuesta - - End Function - - -End Class + Public Class MMensajeCartaPorte + Public Property TieneError As Boolean + Public Property Mensaje As String + Public Property CveMovimiento As Integer + Public Property FechaSalida As DateTime + Public Property CartaPorte As CFDICartaPorte + End Class + + Public Shared Function PreParaCartaPorteFactura(CveTimbre As Integer, Obj As Modelos.Factura, UsuarioActual As Usuario) As MMensajeCartaPorte + Dim Retorno As New MMensajeCartaPorte + + Try + Dim CartaPorte As New CFDICartaPorte + + Dim _MsgError As New StringBuilder + Dim TieneError As Boolean = False + + CartaPorte.TranspInternac = "No" + CartaPorte.EntradaSalidaMercancia = "" + CartaPorte.ViaEntradaSalida = "" + + CartaPorte.Mercancias.UnidadPeso = "KGM" + CartaPorte.Mercancias.CargoporTasacion = 0 + + Dim FI As Date = New Date(1900, 1, 1) + Dim FF As Date = New Date(9999, 1, 1) + + Dim FechaLlegada As DateTime + Dim Distancia As Integer = 1 + + Dim ObjGrales As New ClsGenerales + + If ObjGrales.GetGralTimbre(CveTimbre, "Man", FI, FF, -1, UsuarioActual.CveEmpresa, -1) Then + + If ObjGrales.DtResultados.Rows.Count = 1 Then + Dim DtMovimientos As DataTable = Nothing + Dim drT As DataRow = ObjGrales.DtResultados.Rows(0) + + 'Timbre.Receptor.RFC = drT("DestinatarioRFC").ToString + 'Timbre.Receptor.Nombre = drT("DestinatarioNombre").ToString + + Retorno.CveMovimiento = drT("CveMovimientoAlmacen").ToString.ToEntero + Retorno.FechaSalida = drT("FechaEntrega").ToString.ToDateTime + + FechaLlegada = drT("FechaLlegada").ToString.ToDateTime + Distancia = drT("Distancia").ToString.ToEntero + + 'ObjFactura.Folio = drT("Folio").ToString.ToEntero + 'ObjFactura.Serie = drT("Serie").ToString + + 'Timbre.Comprobante.Serie = Obj.Serie + 'Timbre.Comprobante.Folio = Obj.Folio.ToString + + 'If drT("FolioFiscalRelacionado").ToString <> "" Then + + ' Timbre.CFDIRelacionados.TipoRelacion = "05" + ' Timbre.CFDIRelacionados.UUID.Add(drT("FolioFiscalRelacionado").ToString) + + 'End If + + If ObjGrales.GetGralMovimientosDetalleTimbre(CveTimbre, UsuarioActual.CveEmpresa) Then + DtMovimientos = ObjGrales.DtResultados + Else + TieneError = True + _MsgError.AppendLine("Error al obtener Movimientos") + End If + + 'ObjFactura.DtDetalle = DtMovimientos + + 'AplicaCP = Boolean.Parse(drT("AplicaCP").ToString) + + 'ObjFactura.CveSubProyecto = drT("CveSubProyecto").ToString.ToEntero + + 'ObjFactura.SetSubProyecto() + 'ObjFactura.SetSubProyectoMatriz() + + CartaPorte.FiguraTransporte.AutoTransporte.PermisoSCT = drT("ClaveTipoPermisoSCT").ToString '"TPAF01" + CartaPorte.FiguraTransporte.AutoTransporte.NumPermisoSCT = drT("NumPermisoSCT").ToString + CartaPorte.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil = drT("NombreAseguradora").ToString + CartaPorte.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil = drT("NumPolizaSeguro").ToString + CartaPorte.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente = drT("NombreAseguradoraMedioAmbiente").ToString + CartaPorte.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente = drT("NumPolizaSeguroMedioAmbiente").ToString + CartaPorte.FiguraTransporte.AutoTransporte.NombreSeguroCarga = drT("NombreAseguradoraCarga").ToString + CartaPorte.FiguraTransporte.AutoTransporte.PolizaSeguroCarga = drT("NumPolizaSeguroCarga").ToString + CartaPorte.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular = drT("ConfigCartaPorte").ToString + CartaPorte.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM = drT("Placa").ToString + CartaPorte.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM = drT("Anio").ToString.ToEntero + + If drT("ClaveTipoRemolque1").ToString <> "" Then + Dim Rem1 As New CFDICartaPorteRemolque With {.SubTipoRemolque = drT("ClaveTipoRemolque1"), .Placa = drT("PlacaRemolque1")} + CartaPorte.FiguraTransporte.AutoTransporte.Remolques.Add(Rem1) + End If + + If drT("ClaveTipoRemolque2").ToString <> "" Then + Dim Rem2 As New CFDICartaPorteRemolque With {.SubTipoRemolque = drT("ClaveTipoRemolque2"), .Placa = drT("PlacaRemolque2")} + CartaPorte.FiguraTransporte.AutoTransporte.Remolques.Add(Rem2) + End If + + + If drT("ClaveTipoRemolque1").ToString <> "" Then + Dim Rem1 As New CFDICartaPorteRemolque With {.SubTipoRemolque = drT("ClaveTipoRemolque1"), .Placa = drT("PlacaRemolque1")} + CartaPorte.FiguraTransporte.AutoTransporte.Remolques.Add(Rem1) + End If + + If drT("ClaveTipoRemolque2").ToString <> "" Then + Dim Rem2 As New CFDICartaPorteRemolque With {.SubTipoRemolque = drT("ClaveTipoRemolque2"), .Placa = drT("PlacaRemolque2")} + CartaPorte.FiguraTransporte.AutoTransporte.Remolques.Add(Rem2) + End If + + + Dim DomOrigen As CFDICartaPorteDomicilio = Nothing + DomOrigen = New CFDICartaPorteDomicilio With {.Calle = drT("DirOriCalle").ToString, + .Colonia = drT("DirOriClaveSATColonia").ToString, + .CP = drT("DirOriCP").ToString, + .Estado = drT("DirOriClaveSATEstado").ToString, + .Pais = drT("DirOriClaveSATPais").ToString, + .Municipio = drT("DIrOriClaveSATMunicipio").ToString, + .Localidad = drT("DirOriClaveSATLocalidad").ToString} + + Dim DomDestino As CFDICartaPorteDomicilio = Nothing + + + DomDestino = New CFDICartaPorteDomicilio With {.Calle = drT("DirDesCalle").ToString, + .Colonia = drT("DirDesClaveSATColonia").ToString, + .CP = drT("DirDesCP").ToString, + .Estado = drT("DirDesClaveSATEstado").ToString, + .Pais = drT("DirDesClaveSATPais").ToString, + .Municipio = drT("DirDesClaveSATMunicipio").ToString, + .Localidad = drT("DirDesClaveSATLocalidad").ToString} + + + Dim Ubica As New CFDICartaPorteUbicacion + Ubica.TipoEstacion = "" + Ubica = New CFDICartaPorteUbicacion With {.TipoUbicacion = "Origen", .IDUbicacion = "OR000001", .RFCRemitenteDestinatario = drT("RemitenteRFC").ToString, + .FechaHoraSalidaLlegada = Retorno.FechaSalida.ToString("yyyy-MM-ddTHH:mm:ss"),' "2021-08-23T11:13:01", + .NombreRemitenteDestinatario = drT("RemitenteNombre").ToString, + .Domicilio = DomOrigen} + CartaPorte.Ubicaciones.Add(Ubica) + Ubica = New CFDICartaPorteUbicacion With {.TipoUbicacion = "Destino", .IDUbicacion = "DE000001", .RFCRemitenteDestinatario = drT("DestinatarioRFC").ToString, + .FechaHoraSalidaLlegada = FechaLlegada.ToString("yyyy-MM-ddTHH:mm:ss"), + .NombreRemitenteDestinatario = drT("DestinatarioNombre").ToString, + .Domicilio = DomDestino, + .DistanciaRecorrida = Distancia} + + CartaPorte.Ubicaciones.Add(Ubica) + CartaPorte.FiguraTransporte.ClaveTransporte = "01" + + Dim DomicilioOperador As New CFDICartaPorteDomicilio With {.Calle = drT("FiguraDomicilio").ToString, + .NumeroExterior = drT("FiguraNumeroExterior").ToString, + .NumeroInterior = drT("FiguraNumeroInterior").ToString, + .Colonia = drT("FiguraClaveSATColonia").ToString, + .Municipio = drT("FiguraClaveSATMunicipio").ToString, + .Estado = drT("FiguraClaveSATEstado").ToString, + .CP = drT("FiguraCP").ToString} + + + + CartaPorte.FiguraTransporte.Operadores.Add(New CFDICartaPorteOperador With { + .RFCFigura = drT("FiguraRFC").ToString, + .NombreFigura = drT("FiguraChofer").ToString, + .NumLicencia = drT("FiguraLicencia").ToString, + .NumRegidTribFigura = drT("FiguraNumRegidTribFigura").ToString, + .ResidenciaFiscalFigura = drT("FiguraResidenciaFiscalFigura").ToString, + .Domicilio = DomicilioOperador}) + + + 'concepto único + Dim concepto As New CFDIConceptos With {.Cantidad = 1, + .Descripcion = "Flete", + .ValorUnitario = 0, + .Importe = 0, + .Descuento = 0, + .Unidad = "Servicio", + .ClaveUnidad = "E48", + .ClaveProdServ = "78101802", + .Noidentificacion = "", + .CuentaPredial = ""} + + + For Each drr As DataRow In DtMovimientos.Rows + + Dim tPS As String = "" + + If drr("PS").ToString.Length = 1 Then + tPS = drr("Obs").ToString + Else + If drr("PS").ToString.Length = 0 Then + tPS = "" + Else + tPS = String.Format("{0} {1}", drr("PS"), drr("Obs")) + End If + End If + + + Dim conceptoCarta As New CFDICartaPorteMercancia With { + .BienesTransp = drr("SATClaveProdServ").ToString, + .ClaveSTCC = "", 'para metodo ferroviario + .Cantidad = drr("Cantidad").ToString.ToDecimal, + .Descripción = tPS, + .ClaveUnidad = drr("SATClaveUM").ToString, + .Unidad = drr("UM").ToString, + .Dimensiones = drr("Dimensiones").ToString, + .PesoenKg = drr("PesoKg").ToString.ToDecimal, + .MaterialPeligroso = If(drr("ClaveMaterialPeligroso").ToString <> "", "Sí", ""), + .ClaveMaterialPeligroso = drr("ClaveMaterialPeligroso").ToString, + .Embalaje = drr("ClaveEmbalaje").ToString, + .DescripEmbalaje = drr("Embalaje").ToString, + .ValorMercancia = drr("PU").ToString.ToDecimal, + .Moneda = "MXN", 'temporal + .FraccionArrancelaria = "", + .UUIDComercioExt = "" + } + + Dim DetalleMercancia As New CFDICartaPorteMercanciaDetalleMercancia With {.PesoNeto = drr("PesoKg").ToString.ToDecimal, .NumPiezas = drr("Cantidad").ToString.ToDecimal} + conceptoCarta.DetalleMercancia = DetalleMercancia + + Dim MercanciaTransporta As New CFDICartaPorteMercanciaTransporta With {.Cantidad = drr("Cantidad").ToString.ToDecimal, .IDOrigen = "OR000001", .IDDestino = "DE000001"} + conceptoCarta.MercanciasCantidadTransporta.Add(MercanciaTransporta) + + CartaPorte.Mercancias.Mercancias.Add(conceptoCarta) + Next + + Retorno.CartaPorte = CartaPorte + + Else + TieneError = True + _MsgError.AppendLine("Consultar datos de timbrado") + End If + + ObjGrales.Dispose() + Else + _MsgError.AppendLine("Consultar datos de timbrado") + End If + + Retorno.TieneError = If(_MsgError.ToString().Length > 0, True, False) + Retorno.Mensaje = _MsgError.ToString() + + Catch ex As Exception + Retorno.TieneError = True + Retorno.Mensaje = ex.ToString() + End Try + + Return Retorno + + End Function + Public Function Timbrar() As Boolean + + Dim Respuesta As Boolean = False + + Dim ObjTimbrado As New Timbrado + + If ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) Then + Respuesta = True + Else + Respuesta = False + _MsgError.AppendLine(ObjTimbrado.MensajeErrorCFDI) + End If + + Return Respuesta + + End Function + + + End Class diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index cea8baf31..25e93633b 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -493,7 +493,7 @@
|
@@ -2445,148 +2445,150 @@
|
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <%--
-
- --%>
-
-
-
+
-
-
- Nombre:
-
-
-
-
-
-
-
- Calle:
-
-
-
- Núm.
-
-
- CP.
-
-
-
-
- Pais:
-
-
-
-
-
- Estado:
-
-
-
-
-
-
-
- Municipio:
-
-
-
-
- Colonia:
-
-
-
-
-
+
+
+
+
+
+
+ COMERCIO EXTERIOR
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%--
+
+ --%>
+
+
+
+
+
+
+
+ Nombre:
+
+
+
+
+
+
+
+ Calle:
+
+
+
+ Núm.
+
+
+ CP.
+
+
+
+
+ Pais:
+
+
+
+
+
+ Estado:
+
+
+
+
+
+
+
+ Municipio:
+
+
+
+
+ Colonia:
+
+
+
+
+
+
+
+ Convertir a unidad Aduana
+ |
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index ea2eb9187..f9e4b4cd6 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -1356,6 +1356,15 @@ Partial Class Ventas
ViewState("ListaAnticiposAplicados") = value
End Set
End Property
+
+ Private Property CveTimbreCartaPorteVenta As Integer
+ Get
+ Return If(IsNothing(ViewState("CveTimbreCartaPorteVenta")), -1, ViewState("CveTimbreCartaPorteVenta").ToString().ToEntero())
+ End Get
+ Set(value As Integer)
+ ViewState("CveTimbreCartaPorteVenta") = value
+ End Set
+ End Property
#End Region
#Region "Propiedades PuntoVenta"
@@ -2272,6 +2281,9 @@ Partial Class Ventas
UpFacturar.Update()
'CargaTiposDocumentos()
TrEmitir.Visible = False
+ If UsuarioActual.CveRol = 1 Then
+ DivCartaPorte.Visible = True
+ End If
ViewState("EstablecioFolio") = False
'ViewState("SubProyectoPorcentajeIVA") = 0
RefacturacionGeneroNC = False
@@ -2353,6 +2365,7 @@ Partial Class Ventas
End If
+
DdlSATPS.setEsWebService(True) : DdlSATPS.Attributes.Add("data-metodo", "getpssat")
DivPSSAT.Visible = True
@@ -2448,7 +2461,7 @@ Partial Class Ventas
CargaCuentasTerminal()
CargaDdlNCPS()
-
+ CargarCamiones()
'SI USUARIO USA AMORTIZACIÓN CONTABLE, se carga las tablas para usarlas mas adelante
If UsuarioActual.Empresa.UsaAC Then
@@ -2643,6 +2656,9 @@ Partial Class Ventas
ObjInventario.Dispose()
End If
+ If DdlTipoComprobante.SelectedValue = "Ing" Then
+ CargaVentaCortePorte(Me.CveVenta)
+ End If
End If
Else
@@ -4888,6 +4904,7 @@ Partial Class Ventas
If DbRowVenta("CveDireccionEnvio").ToString().ToEntero() > 0 AndAlso DbRowVenta("CveDireccionEnvio").ToString() IsNot Nothing Then
ChkDireccionEnvio.Checked = True
DdlDireccionEnvio.SelectedValueExist(DbRowVenta("CveDireccionEnvio").ToString().ToEntero())
+ DdlDireccionEnvio_SelectedIndexChanged(DdlDireccionEnvio, EventArgs.Empty)
DdlDireccionEnvio.Enabled = False
ChkDireccionEnvio.Enabled = False
DdlDireccionEnvio.Visible = True
@@ -4942,7 +4959,6 @@ Partial Class Ventas
End If
DdlSubProyectoDatos.SelectedValueExistInsert(DbRowVenta("CveSubProyecto").ToString(), DbRowVenta("SubProyecto").ToString())
DdlSubProyecto.SelectedValueExist(DbRowVenta("CveSubProyecto").ToString())
-
CargarAlmacenes()
If DdlSubProyectoCobranza.Items.Count = 0 Then
@@ -6014,6 +6030,7 @@ Partial Class Ventas
End If
End If
+ CargaDireccionCP()
ViewState("Vendedor") = ObjCliente.Vendedor
ViewState("CtaContable") = ObjCliente.CuentaContable
@@ -7088,6 +7105,8 @@ Partial Class Ventas
CargaVendedores()
+ CargaDireccionCP()
+
'SI LA VENTA YA ESTA REGISTRADA NO DEBE HABILITAR ACCIONES
If CveVenta <= 0 Then
LnkRemisiones.Visible = If(UsuarioActual.TienePermisoProceso(199), True, False) : LnkOCs.Visible = True : LnkCotizaciones.Visible = True : LnkPedido2SinFacturar.Visible = True : InicializaAplicarNCMasiva()
@@ -7099,6 +7118,7 @@ Partial Class Ventas
UpEstatus.Update()
UPCondicionesPago.Update()
UpCliente.Update()
+ UpEmitirTransitorio.Update()
End Sub
Private Function CargaCreditoDisponible(tCveCliente As Integer, tCveSucursalCliente As Integer, Optional ByRef ObjVentas As ClsVentas = Nothing) As Decimal
Dim Retorno As Decimal = 0
@@ -8158,6 +8178,17 @@ Partial Class Ventas
End If
End If
+ If ChkEmitirCartaPorte.Checked Then
+ If String.IsNullOrEmpty(TxtOrigenCP.Text.Trim()) Then
+ Alert("La carta porte no tiene un origen definido.", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+ If String.IsNullOrEmpty(TxtDestinoCP.Text.Trim()) Then
+ Alert("La carta porte no tiene un destino definido.", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+ End If
+
'CUANDO ES COTIZACION Y SE VA A FACTURAR SE HACE INGRESO
If DdlTipoComprobante.SelectedValue = "Cot" AndAlso BtnEmitirImprimir.Text = "Facturar" Then
DdlTipoComprobante.SelectedValue = "Ing"
@@ -8300,6 +8331,7 @@ Partial Class Ventas
End If
End If
+ 'SI NO TIENE AUTORIZACION VERIFICAR LIMITE DE CREDITO Y CANDADOS DE VENTA
'No exceder el limite de credito, Si no tiene contrato limita el credito, si tiene no hace nada. Si no tiene remisiones tampoco hace nada.
If Me.CveAutorizacion <= 0 AndAlso (Not CveContrato > 0 Or CveContratoTipo.Contiene(28)) AndAlso (Not NuevaFactura = 1) AndAlso RBLPago.SelectedValue = "1" AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ant") AndAlso RemisionesLista.Count <= 0 AndAlso TxtTotal.Text.ToDecimal > 0 AndAlso Not CvePedidoA > 0 Then
'If UsuarioActual.Empresa.Funcionalidad(518) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(185) Then
@@ -8335,6 +8367,20 @@ Partial Class Ventas
Exit Sub
End If
ObjVentas.Dispose()
+
+ 'VERIFICA SI TIENE BLOQUEO POR DIAS VENCIDOS
+ If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
+ Dim Vta As New ClsVentas
+ Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa, TipoVerificacion:=2)
+ Dim OpcionMsg As String = String.Format("El Cliente se encuentra bloqueado por la siguiente razón: |