This commit is contained in:
2022-04-20 20:45:29 -07:00
4 changed files with 72 additions and 31 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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%" />

View File

@@ -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());