diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index 1d3e82ccf..4d42a9454 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -3219,7 +3219,7 @@ Partial Class Ventas
If ObjPVenta.DtResultados.Rows.Count > 0 Then
CveCorte = ObjPVenta.CveCorte
- Dim FechaICorte = ObjPVenta.FechaInicial.Date'.AddDays(-5)
+ Dim FechaICorte = ObjPVenta.FechaInicial.Date '.AddDays(-5)
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso FechaICorte < Now.Date Then
DebeCerrarCorte = True
LblMotivoBloqueo.Text = $"Existe un corte del día {FechaICorte.ToString("dd/MM/yyyy")}. Favor de cerrarlo para iniciar un nuevo corte."
@@ -4254,16 +4254,8 @@ Partial Class Ventas
Dim DbRowVenta As DataRow = ObjVentas.DtResultados.Rows(0)
Dim CveCliente As Integer = DbRowVenta("CveCliente").ToString().ToEntero()
HdnCveVenta.Value = CveVenta.ToString()
- Dim DtUsadosPendientes As DataTable = Nothing
- If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
- Dim ObjUsados As New ClsVentas
-
- If ObjUsados.GetVentasUsados(CveVenta, -1, DbRowVenta("Fecha").ToString().ToDateTime, UsuarioActual.CveEmpresa) Then
- DtUsadosPendientes = ObjUsados.DtResultados
- End If
- ObjUsados.Dispose()
- End If
+ Me.EsGarantia = CBool(DbRowVenta("EsGarantia"))
RFCReceptorVenta = DbRowVenta("RFCReceptor").ToString()
'Adjuntar archivo
@@ -4284,7 +4276,7 @@ Partial Class Ventas
ViewState("CveSubProyectoVenta") = DbRowVenta("CveSubProyecto").ToString().ToEntero()
- Me.EsGarantia = CBool(DbRowVenta("EsGarantia"))
+
Me.CveEstatusFacturaPadre = DbRowVenta("CveEstatusFacturaPadre").ToString().ToEntero()
'CargaEncabezado
@@ -5198,13 +5190,47 @@ Partial Class Ventas
End If
'Si es Empresa de Acumuladores
- If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
- 'Si ya se surtió y recibió
- If (DbRowVenta("SaldoAlmacen").ToString().ToDecimal > 0 And (DtUsadosPendientes Is Nothing Or DtUsadosPendientes.Rows.Count = 0)) OrElse (TmpDT.MAX("CveTipoPS") = "1") Then
- BtnsFacturar.Visible = True
- Else
- BtnsFacturar.Visible = False
+ If CveVenta > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso DbRowVenta("TipoDocto").ToString() = "Rem" AndAlso (GlobalDTEstatusFactura().FiltroPrimeroValor("TipoEstatus", $"CveEstatusFactura = {Me.CveEstatus}").ToEntero() <> 5) Then
+
+ BtnsFacturar.Visible = False
+
+ Dim DtUsadosPendientes As DataTable = Nothing
+ Dim DtGarantiasPendientes As DataTable = Nothing
+
+ Dim ObjUsados As New ClsVentas
+
+ If ObjUsados.GetVentasUsados(CveVenta, -1, DbRowVenta("Fecha").ToString().ToDateTime, UsuarioActual.CveEmpresa) Then
+ DtUsadosPendientes = ObjUsados.DtResultados.Copy()
End If
+
+ If ObjUsados.GetVentasGarantiaPendiente(CveVenta, Now, UsuarioActual.CveEmpresa) Then
+ DtGarantiasPendientes = ObjUsados.DtResultados.Copy()
+ End If
+
+ 'If ObjUsados.GetVentasGarantiaPendiente(CveVenta, -1, Now, UsuarioActual.CveEmpresa) Then
+ ' DtGarantiasPendientes = ObjUsados.DtResultados.Copy()
+ 'End If
+ ObjUsados.Dispose()
+
+ 'Si ya se surtió y recibió
+ If DbRowVenta("SaldoAlmacen").ToString().ToDecimal > 0 OrElse TmpDT.MAX("CveTipoPS") = "1" Then
+ BtnsFacturar.Visible = True
+ End If
+
+ 'VERIFICA SI TIENE USADOS O GARANTIAS PENDIENTES
+ If BtnsFacturar.Visible Then
+ If (Not EsGarantia AndAlso (DtUsadosPendientes IsNot Nothing AndAlso DtUsadosPendientes.Rows.Count > 0)) Then
+ BtnsFacturar.Visible = False
+ Alert("Tiene usados pendiente de recibir", TipoMensaje.MsgAdvertencia)
+ End If
+
+ If (EsGarantia AndAlso (DtGarantiasPendientes IsNot Nothing AndAlso DtGarantiasPendientes.Rows.Count > 0)) Then
+ Alert("Tiene garantías pendientes de recibir", TipoMensaje.MsgAdvertencia)
+ BtnsFacturar.Visible = False
+ End If
+ End If
+
+
LBFacturarAnticipo.Visible = UsuarioActual.TienePermisoProceso(274)
End If
@@ -5335,6 +5361,14 @@ Partial Class Ventas
End If
End If
+ If DdlTipoComprobante.SelectedValue = "Rem" Then
+ If GlobalDTEstatusFactura().FiltroPrimeroValor("TipoEstatus", $"CveEstatusFactura = {Me.CveEstatus}").ToEntero() = 5 Then
+ BtnsFacturar.Visible = False
+ BtnEmitirImprimir.Visible = False
+ BtnPermisoEditarRemision.Visible = False
+ End If
+ End If
+
UpPS.Update()
UpContado.Update()
UpEstatus.Update()
@@ -6713,19 +6747,21 @@ Partial Class Ventas
Else
'VERIFICAR RESTRICCIONES DEL CLIENTE
- If DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0 AndAlso RBLPago.SelectedValue = "2" Then
- Dim Vta As New ClsVentas
- Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa)
- Dim OpcionMsg As String = String.Format("El Cliente se encuentra bloqueado por la siguiente razón:
{0}", Vta.SerieVenta)
- Vta.Dispose()
- If Opcion > 0 Then
- Alert(OpcionMsg, TipoMensaje.MsgAdvertencia)
- BtnsFacturar.Visible = False
- BtnGenerarRemision.Visible = False
+ If Not UsuarioActual.Empresa.Funcionalidad(702).ToEntero() > 0 Then
+ If DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0 AndAlso RBLPago.SelectedValue = "2" Then
+ Dim Vta As New ClsVentas
+ Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa)
+ Dim OpcionMsg As String = String.Format("El Cliente se encuentra bloqueado por la siguiente razón:
{0}", Vta.SerieVenta)
+ Vta.Dispose()
+ If Opcion > 0 Then
+ Alert(OpcionMsg, TipoMensaje.MsgAdvertencia)
+ BtnsFacturar.Visible = False
+ BtnGenerarRemision.Visible = False
+ End If
End If
-
End If
+
End If
UPPCreditoDisponible.Update()
@@ -11504,7 +11540,7 @@ Partial Class Ventas
DdlTipoComprobante.Enabled = False
End If
- TAB.ActiveTab = TabGenerales
+ Tab.ActiveTab = TabGenerales
TabGenerales.Enabled = True
Updatetabs.Update()
UPObservaciones.Update()
@@ -11570,7 +11606,7 @@ Partial Class Ventas
ContratoDetalles.Visible = False
UPEstimaciones.Update()
- TAB.ActiveTab = TabGenerales
+ Tab.ActiveTab = TabGenerales
TabGenerales.Enabled = True
Updatetabs.Update()
End If
@@ -15342,7 +15378,7 @@ Partial Class Ventas
ErrorConta = True
End If
- If Not ErrorConta AndAlso Not ObjConta.PrePolizaSimplificacion(ObjFactura.CvePrePoliza, UsuarioActual.CveEmpresa) Then
+ If Not ErrorConta AndAlso Not ObjConta.PrePolizaSimplificacion(CvePrepoliza, UsuarioActual.CveEmpresa) Then
Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError)
End If
@@ -16507,7 +16543,7 @@ Partial Class Ventas
If objcompras.GetCompraDetallealmacen(0, DdlNCFactura.SelectedValue.ToEntero()) Then
GvInvNC.DataSource = objcompras.DtResultados
If objcompras.DtResultados.Rows.Count > 0 Then
- TAB.ActiveTabIndex = 1
+ Tab.ActiveTabIndex = 1
Updatetabs.Update()
End If
Else
@@ -16787,7 +16823,7 @@ Partial Class Ventas
End If
UpParametros.Update()
- TAB.ActiveTab = TabGenerales
+ Tab.ActiveTab = TabGenerales
Else
Alert("La empresa no contiene un producto asignado a la estimació", TipoMensaje.MsgInformacion)
End If
@@ -23621,7 +23657,7 @@ Partial Class Ventas
DdlContratosModal.Items.Insert(0, New ListItem("Seleccione", "0"))
UPEstimaciones.Update()
- TAB.ActiveTab = TabE
+ Tab.ActiveTab = TabE
TabGenerales.Enabled = False
Updatetabs.Update()
@@ -29911,7 +29947,7 @@ Partial Class Ventas
ContratoDetalles.Visible = False
UPEstimaciones.Update()
- TAB.ActiveTab = TabGenerales
+ Tab.ActiveTab = TabGenerales
TabGenerales.Enabled = True
Updatetabs.Update()
@@ -30472,7 +30508,7 @@ Partial Class Ventas
DdlMonedaModalPedido2.DataBind()
DdlMonedaModalPedido2.Items.Insert(0, New ListItem("Todas", "-1"))
- TAB.ActiveTab = TabGenerales
+ Tab.ActiveTab = TabGenerales
TabGenerales.Enabled = True
Updatetabs.Update()