-
+
+
+
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index 12b59b146..205aea07c 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -2319,6 +2319,7 @@ Partial Class Ventas
CargaMetodosPago()
'CargaFormaPago(-1)
CargaUsoCFDI()
+ CargaMotivosCancelacion()
CargaTiposRelacion()
CargaMonedas()
CargaVendedores()
@@ -2981,9 +2982,12 @@ Partial Class Ventas
If Me.CveDevolucion > 0 AndAlso Me.NuevaFactura = 1 Then
Dim TipoEstatus As Integer = GlobalDTEstatusFactura().FiltroPrimeroValor("TipoEstatus", $"CveEstatusFactura = {Me.ObjFacturaNC.CveEstatusFactura}").ToEntero()
If TipoEstatus <> 5 Then
- Alert($"El documento de tipo '{Me.ObjFacturaNC.TipodeComprobante}' a refacturar no ha sido cancelado. Favor de verificar el documento", TipoMensaje.MsgAdvertencia)
- BtnEmitirImprimir.Visible = False
- UpFacturar.Update()
+ 'ESTATUS DE CANCELACION PENDIENTE
+ If Not Me.ObjFacturaNC.CveEstatusFactura = 23 Then
+ Alert($"El documento de tipo '{Me.ObjFacturaNC.TipodeComprobante}' a refacturar no ha sido cancelado. Favor de verificar el documento", TipoMensaje.MsgAdvertencia)
+ BtnEmitirImprimir.Visible = False
+ UpFacturar.Update()
+ End If
End If
End If
End If
@@ -4187,7 +4191,7 @@ Partial Class Ventas
LblAlertRefacInv.Visible = True
End If
- If DdlTipoComprobante.SelectedValue.Contiene("Egs", "Ing", "Ant", "Dev", "Rem", "DPe", "RNC", "Pd2", "Cot") AndAlso Not CveEstatus.Contiene(4, 5, 10, 12, 13, 20) Then
+ If DdlTipoComprobante.SelectedValue.Contiene("Egs", "Ing", "Ant", "Dev", "Rem", "DPe", "RNC", "Pd2", "Cot") AndAlso Not CveEstatus.Contiene(4, 5, 10, 12, 13, 20, 23) Then
If UsuarioActual.TienePermisoProceso(159) Then
Dim TienePermiso As String = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, -1).FiltroPrimeroValor("CveSubProyecto", String.Format("CveSubProyecto = {0}", DbRowVenta("CveSubProyecto")))
If TienePermiso <> "" Then
@@ -5480,6 +5484,13 @@ Partial Class Ventas
DdlUsoCFDI.DataBind()
DdlSucursalUsoCFDI.DataBind()
End Sub
+
+ Private Sub CargaMotivosCancelacion()
+ DdlMotivoCancelacion.DataSource = GlobalDTSATMotivosCancelacion()
+ DdlMotivoCancelacion.DataBind()
+
+ DdlMotivoCancelacion.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ End Sub
Private Sub CargaTiposRelacion()
DdlTiposRelacion.DataSource = GlobalDTVtaTiposRelacion
DdlTipoRelacionARelacionar.DataSource = GlobalDTVtaTiposRelacion
@@ -8766,6 +8777,12 @@ Partial Class Ventas
Alert(ObjTimbrado.MensajeErrorCFDI, TipoMensaje.MsgError)
End If
+ If SeTimbro AndAlso (Me.CveDevolucion > 0 AndAlso Me.NuevaFactura = 1) Then
+ If Me.ObjFacturaNC IsNot Nothing Then
+ Me.ObjFacturaNC.CancelarPorRefacturacion(Me.ObjFacturaNC.CveMotivoCancelacion, Me.ObjFacturaNC.MotivoCancelacion, ObjTimbrado.UUID)
+ End If
+ End If
+
End If
'NOTA DE CREDITO DE REFACTURACION
@@ -20312,12 +20329,26 @@ Partial Class Ventas
Alert(sb.ToString(), TipoMensaje.MsgConfirmacion, JSBtnAceptar:=script, TextoConfirmacion:=" Si ", TextoCancelacion:=" No ")
End If
End Sub
+
+ Private Sub BtnMotivoRefacturacion_Click(sender As Object, e As System.EventArgs) Handles BtnMotivoRefacturacion.Click
+ CancelarDocumento(EsRefacturacion:=True)
+ End Sub
'BtnRefacturacionConfirmar
Private Sub BtnRefacturacionConfirmar_Click(sender As Object, e As System.EventArgs) Handles BtnRefacturacionConfirmar.Click
- CancelarDocumento(True)
+ DdlMotivoCancelacion.SelectedValueExist(1)
+ DdlMotivoCancelacion.Enabled = False
+
+ UpRefac.Update()
+ RegistraScript("$('#DivMotivoRefacturacion').modal({ backdrop: 'static', keyboard: false });", "R1")
+ 'CancelarDocumento(True)
End Sub
Private Sub BtnRefacturacionConfirmarAceptacion_Click(sender As Object, e As System.EventArgs) Handles BtnRefacturacionConfirmarAceptacion.Click
- CancelarDocumento(True)
+ DdlMotivoCancelacion.SelectedValueExist(1)
+ DdlMotivoCancelacion.Enabled = False
+
+ UpRefac.Update()
+ RegistraScript("$('#DivMotivoRefacturacion').modal({ backdrop: 'static', keyboard: false });", "R1")
+ 'CancelarDocumento(True)
End Sub
Private Sub BtnContabilizar_Click(sender As Object, e As System.EventArgs) Handles BtnContabilizar.Click
'Dim ObjMov As New ClsContabilidad
@@ -22997,7 +23028,13 @@ Partial Class Ventas
SWatch.Start()
If EsRefacturacion Then
- resp = ObjFacturaCancelacion.CancelarPorRefacturacion()
+
+ 'Dim msgBitacora As String = $"Motivo de refacturación: {TxtMotivoRefac.Text}"
+ 'Dim ObjE As New ClsOIEventos()
+ 'ObjE.AddEventoBitacora(msgBitacora, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveVenta)
+ 'ObjE.Dispose()
+
+ resp = ObjFacturaCancelacion.CancelarPorRefacturacion(DdlMotivoCancelacion.SelectedValue.ToEntero(), TxtMotivoRefac.Text)
Else
Dim ListaRemisionesCancelar As New List(Of Integer)
If ChkCanRem.Checked Then
@@ -23031,7 +23068,7 @@ Partial Class Ventas
If EsRefacturacion Then
If resp.CveEstatus = 20 Then
LigaRedirigir = $"/Ventas/RepCancelacionesPorRespuesta.aspx?CveVenta={CveVenta}"
- ElseIf resp.CveEstatus.Contiene(4, 5) Then
+ ElseIf resp.CveEstatus.Contiene(4, 5, 23) Then
LigaRedirigir = $"Ventas.aspx?CveDevolucion={CveVenta}&NuevaFactura=1"
Else
Alert(resp.Mensaje, resp.TipoMensaje, JSBtnAceptar:="BtnRefrescarPagina();")