Utilizar RFC del receptor guardado en la venta al cancelar. Validaciones al cancelar
This commit is contained in:
@@ -4816,7 +4816,7 @@ Namespace Modelos
|
||||
Dim MensajeError As String = ""
|
||||
Dim ObjCancelacion As New Timbrado
|
||||
Dim TotalT As Decimal = ObjFactura.Total
|
||||
Dim RFCReceptor As String = ObjFactura.Cliente.RFC
|
||||
Dim RFCReceptor As String = If(String.IsNullOrEmpty(ObjFactura.RFCReceptor), ObjFactura.Cliente.RFC, ObjFactura.RFCReceptor)
|
||||
Dim CvePACCancelacion As Integer = ObjFactura.CvePAC
|
||||
|
||||
If CvePACCancelacion <= 0 Then
|
||||
@@ -4917,7 +4917,7 @@ Namespace Modelos
|
||||
CancelacionFecha = ObjCancelacion.CancelacionFecha
|
||||
CveEstatus = 5
|
||||
End If
|
||||
CancelacionAcuse = ObjCancelacion.CancelacionAcuse
|
||||
CancelacionAcuse = Resp.CancelacionAcuse
|
||||
SolicitudCancelacionAcuse = Resp.SolicitudCancelacionAcuse
|
||||
Else
|
||||
Retorno.Mensaje = "Los servicios de cancelación del SAT no se encuentran disponibles o presentan time out. Intente de nuevo en unos minutos.<br/>Origen del error: WebService www.sat.gob.mx"
|
||||
@@ -5000,7 +5000,7 @@ Namespace Modelos
|
||||
'End If
|
||||
CveEstatus = Resp.CveEstatus
|
||||
CancelacionFecha = Resp.CancelacionFecha
|
||||
CancelacionAcuse = ObjCancelacion.CancelacionAcuse
|
||||
CancelacionAcuse = Resp.CancelacionAcuse
|
||||
SolicitudCancelacionAcuse = Resp.SolicitudCancelacionAcuse
|
||||
Else
|
||||
Retorno.Mensaje = "Los servicios de cancelación del SAT no se encuentran disponibles o presentan time out. Intente de nuevo en unos minutos.<br/>Origen del error: WebService www.sat.gob.mx"
|
||||
@@ -5042,7 +5042,13 @@ Namespace Modelos
|
||||
|
||||
Dim msgBitacora As String = "Solicitud de cancelación de factura"
|
||||
If EsRefacturacion Then
|
||||
msgBitacora = "Solicitud de cancelación por refacturación"
|
||||
If Not String.IsNullOrEmpty(CancelacionAcuse) Then
|
||||
msgBitacora = $"Solicitud de cancelación por refacturación. SelloSAT: {CancelacionAcuse}"
|
||||
ElseIf Not String.IsNullOrEmpty(SolicitudCancelacionAcuse) Then
|
||||
msgBitacora = $"Solicitud de cancelación por refacturación. SelloSAT: {SolicitudCancelacionAcuse}"
|
||||
Else
|
||||
msgBitacora = "Solicitud de cancelación por refacturación."
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim ObjE As New ClsOIEventos()
|
||||
@@ -5154,7 +5160,7 @@ Namespace Modelos
|
||||
Dim EstatusDevolucion = 1
|
||||
If Not ObjVentas.UpdateVentasDevolucionAlmacen(EstatusDevolucion, CveVenta) Then
|
||||
ErrorCancelar = True
|
||||
MensajeError = "Ocurrió un error al solicitar la devolucion de almacen."
|
||||
MensajeError = "Ocurrió un error al solicitar la devolución de almacen."
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
@@ -775,22 +775,29 @@ Public Class Timbrado
|
||||
End Select
|
||||
|
||||
'valida que si se halla cancelado
|
||||
Dim VigenciaExtra = VerificarVigenciaSAT(FolioFiscal, RFCEmisor, RFCReceptor, Total.ToString(), True)
|
||||
If Retorno.Verificado AndAlso VigenciaExtra IsNot Nothing Then
|
||||
If VigenciaExtra.Estado.ToUpper = "VIGENTE" AndAlso Not VigenciaExtra.EstatusCancelacion.ToUpper.Contiene("EN PROCESO") Then
|
||||
Retorno.Estado = "VIGENTE"
|
||||
Retorno.CveEstatus = 23
|
||||
End If
|
||||
If VigenciaExtra.Estado.ToUpper = "VIGENTE" AndAlso VigenciaExtra.EstatusCancelacion.ToUpper.Contiene("EN PROCESO") Then
|
||||
Retorno.Estado = "EN PROCESO"
|
||||
Retorno.CveEstatus = 20
|
||||
Retorno.SolicitudCancelacionAcuse = Retorno.CancelacionAcuse
|
||||
End If
|
||||
If VigenciaExtra.Estado.ToUpper = "CANCELADO" Then
|
||||
Retorno.Estado = "CANCELADO"
|
||||
Retorno.CveEstatus = 5
|
||||
End If
|
||||
|
||||
If Retorno.Verificado Then
|
||||
Dim VigenciaExtra = VerificarVigenciaSAT(FolioFiscal, RFCEmisor, RFCReceptor, Total.ToString(), True)
|
||||
If VigenciaExtra IsNot Nothing Then
|
||||
If VigenciaExtra.Estado.ToUpper = "VIGENTE" AndAlso VigenciaExtra.EstatusCancelacion.ToUpper.Contiene("EN PROCESO") Then
|
||||
Retorno.Estado = "EN PROCESO"
|
||||
Retorno.CveEstatus = 20
|
||||
'CUANDO ESTA EN PROCESO EL ACUSE DEBE SER DE SOLICITUD DE CANCELACION
|
||||
Retorno.SolicitudCancelacionAcuse = Retorno.CancelacionAcuse
|
||||
Retorno.CancelacionAcuse = ""
|
||||
ElseIf VigenciaExtra.Estado.ToUpper = "CANCELADO" Then
|
||||
Retorno.Estado = "CANCELADO"
|
||||
Retorno.CveEstatus = 5
|
||||
Else
|
||||
Retorno.Estado = "VIGENTE"
|
||||
Retorno.CveEstatus = 23
|
||||
'SI HAY UN ACUSE, GUARDARLO COMO ACUSE DE SOLICITUD
|
||||
If Not String.IsNullOrEmpty(Retorno.CancelacionAcuse) Then
|
||||
Retorno.SolicitudCancelacionAcuse = Retorno.CancelacionAcuse
|
||||
Retorno.CancelacionAcuse = ""
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not Retorno.Verificado Then
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
<div class="col-md-12">
|
||||
|
||||
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron solicitudes de cancelación"
|
||||
DataKeyNames="CveVenta,CveCliente,Folio,TipoDocto,Nombre,FolioFiscal,Total,SubTotal,RFCCliente"
|
||||
DataKeyNames="CveVenta,CveCliente,Folio,TipoDocto,Nombre,FolioFiscal,Total,SubTotal,RFCReceptor"
|
||||
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" GridLines="None" Width="99%">
|
||||
<Columns>
|
||||
<asp:BoundField HeaderText="Cliente" DataField="Nombre" ItemStyle-Width="25%" />
|
||||
@@ -103,7 +103,7 @@
|
||||
<div class="col-md-12">
|
||||
|
||||
<asp:GridView ID="GvRefacturaciones" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron solicitudes de cancelación"
|
||||
DataKeyNames="CveVenta,CveCliente,Folio,TipoDocto,Nombre,FolioFiscal,Total,SubTotal,RFCCliente,FolioFiscalSustitucion,CveEstatusFactura"
|
||||
DataKeyNames="CveVenta,CveCliente,Folio,TipoDocto,Nombre,FolioFiscal,Total,SubTotal,FolioFiscalSustitucion,CveEstatusFactura,RFCReceptor"
|
||||
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" GridLines="None" Width="99%" OnRowDataBound="GvDatos_RowDataBound">
|
||||
<Columns>
|
||||
<asp:BoundField HeaderText="Cliente" DataField="Nombre" ItemStyle-Width="25%" />
|
||||
|
||||
@@ -93,13 +93,13 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
string Total = GvRow.DataKey("Total");
|
||||
string SubTotal = GvRow.DataKey("SubTotal");
|
||||
string Uuid = GvRow.DataKey("FolioFiscal");
|
||||
string RFCCliente = GvRow.DataKey("RFCCliente");
|
||||
string RFCReceptor = GvRow.DataKey("RFCReceptor");
|
||||
string Folio = GvRow.DataKey("Folio");
|
||||
string TipoDocto = GvRow.DataKey("TipoDocto");
|
||||
string Nombre = GvRow.DataKey("Nombre");
|
||||
if (CveVenta > 0 && Uuid != "")
|
||||
{
|
||||
var resp = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCCliente, Total);
|
||||
var resp = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCReceptor, Total);
|
||||
if (resp.EnviarAcuse)
|
||||
{
|
||||
Alert(resp.Mensaje, TipoMensaje.MsgConfirmacion, "BtnEnviarMailCancelacion();", TextoConfirmacion: "Enviar", TextoSegundoBoton: "Cancelar");
|
||||
@@ -124,7 +124,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
string Total = GvRow.DataKey("Total");
|
||||
string SubTotal = GvRow.DataKey("SubTotal");
|
||||
string Uuid = GvRow.DataKey("FolioFiscal");
|
||||
string RFCCliente = GvRow.DataKey("RFCCliente");
|
||||
string RFCReceptor = GvRow.DataKey("RFCReceptor");
|
||||
string Folio = GvRow.DataKey("Folio");
|
||||
string TipoDocto = GvRow.DataKey("TipoDocto");
|
||||
string Nombre = GvRow.DataKey("Nombre");
|
||||
@@ -133,7 +133,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
|
||||
if (CveVenta > 0 && Uuid != "")
|
||||
{
|
||||
var respuesta = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCCliente, Total, EsRefacturacion: true, FolioSustitucion: FolioSustitucion, CveEstatusFactura: CveEstatusFactura);
|
||||
var respuesta = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCReceptor, Total, EsRefacturacion: true, FolioSustitucion: FolioSustitucion, CveEstatusFactura: CveEstatusFactura);
|
||||
CargaDatos();
|
||||
if (respuesta.CveEstatus.Contiene(4, 5))
|
||||
{
|
||||
@@ -171,7 +171,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
string Total = GvRow.DataKey("Total");
|
||||
string SubTotal = GvRow.DataKey("SubTotal");
|
||||
string Uuid = GvRow.DataKey("FolioFiscal");
|
||||
string RFCCliente = GvRow.DataKey("RFCCliente");
|
||||
string RFCReceptor = GvRow.DataKey("RFCReceptor");
|
||||
string Folio = GvRow.DataKey("Folio");
|
||||
string TipoDocto = GvRow.DataKey("TipoDocto");
|
||||
string Nombre = GvRow.DataKey("Nombre");
|
||||
@@ -219,10 +219,32 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
sb.Append("Ocurrió un error al cambiar el estatus de la factura.");
|
||||
}
|
||||
ObjVentas.Dispose();
|
||||
|
||||
|
||||
if (respCancelacion.CveEstatus == 23)
|
||||
{
|
||||
var resp = Timbrado.VerificarVigenciaSAT(Uuid, UsuarioActual.Empresa.RFC, RFCReceptor, Total, true);
|
||||
if (resp != null)
|
||||
{
|
||||
sb.AppendFormat("<br/> Folio Fiscal: {0} <br/>", Uuid);
|
||||
sb.AppendFormat("Código Estado: {0} <br/>", resp.CodigoEstatus);
|
||||
sb.AppendFormat("Estado: {0} <br/>", resp.Estado);
|
||||
sb.AppendFormat("Es Cancelable: {0} <br/>", string.IsNullOrEmpty(resp.EsCancelable) ? "Desconocido" : resp.EsCancelable);
|
||||
sb.AppendFormat("Estatus de Cancelación: {0} <br/><br/>", string.IsNullOrEmpty(resp.EsCancelable) ? "Desconocido" : resp.EstatusCancelacion);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var resp = Timbrado.VerificarVigenciaSAT(Uuid, UsuarioActual.Empresa.RFC, RFCReceptor, Total, true);
|
||||
if (resp != null)
|
||||
{
|
||||
sb.AppendFormat("Folio Fiscal: {0} <br/>", Uuid);
|
||||
sb.AppendFormat("Código Estado: {0} <br/>", resp.CodigoEstatus);
|
||||
sb.AppendFormat("Estado: {0} <br/>", resp.Estado);
|
||||
sb.AppendFormat("Es Cancelable: {0} <br/>", string.IsNullOrEmpty(resp.EsCancelable) ? "Desconocido" : resp.EsCancelable);
|
||||
sb.AppendFormat("Estatus de Cancelación: {0} <br/><br/>", string.IsNullOrEmpty(resp.EsCancelable) ? "Desconocido" : resp.EstatusCancelacion);
|
||||
}
|
||||
|
||||
sb.Append(respCancelacion.Mensaje);
|
||||
}
|
||||
|
||||
@@ -346,7 +368,13 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
}
|
||||
else if (respCancelacion.CveEstatus == 23)
|
||||
{
|
||||
sb.Append("La solicitud de cancelación no la aplicó el SAT, intente cancelar de nuevo.");
|
||||
sb.Append("La solicitud de cancelación no la aplicó el SAT, intente cancelar de nuevo.<br/>");
|
||||
|
||||
sb.AppendFormat("Folio Fiscal: {0} <br/>", uuid);
|
||||
sb.AppendFormat("Código Estado: {0} <br/>", resp.CodigoEstatus);
|
||||
sb.AppendFormat("Estado: {0} <br/>", resp.Estado);
|
||||
sb.AppendFormat("Es Cancelable: {0} <br/>", string.IsNullOrEmpty(resp.EsCancelable) ? "Desconocido" : resp.EsCancelable);
|
||||
sb.AppendFormat("Estatus de Cancelación: {0} <br/><br/>", string.IsNullOrEmpty(resp.EsCancelable) ? "Desconocido" : resp.EstatusCancelacion);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -496,14 +524,14 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
string Total = Row["Total"].ToString();
|
||||
string SubTotal = Row["SubTotal"].ToString();
|
||||
string Uuid = Row["FolioFiscal"].ToString();
|
||||
string RFCCliente = Row["RFCCliente"].ToString();
|
||||
string RFCReceptor = Row["RFCReceptor"].ToString();
|
||||
string Folio = Row["Folio"].ToString();
|
||||
string TipoDocto = Row["TipoDocto"].ToString();
|
||||
string Nombre = Row["Nombre"].ToString();
|
||||
int CveCliente = Row["CveCliente"].ToEntero();
|
||||
if (CveVenta > 0)
|
||||
{
|
||||
sb.AppendFormat("{0}<br/>", VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCCliente, SubTotal));
|
||||
sb.AppendFormat("{0}<br/>", VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCReceptor, SubTotal));
|
||||
}
|
||||
}
|
||||
Alert(sb.ToString());
|
||||
|
||||
Reference in New Issue
Block a user