SIG. Mejoras en proceso de cancelacion. Reforma fiscal 2022
This commit is contained in:
@@ -104,7 +104,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<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"
|
||||
DataKeyNames="CveVenta,CveCliente,Folio,TipoDocto,Nombre,FolioFiscal,Total,SubTotal,RFCCliente,FolioFiscalSustitucion"
|
||||
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%" />
|
||||
@@ -116,10 +116,17 @@
|
||||
<asp:BoundField HeaderText="Fecha Solicitud" DataField="FechaCambioEstatus" ItemStyle-Width="160px" />
|
||||
<asp:BoundField HeaderText="Fecha Cancelacion" DataField="FechaCancelacion" ItemStyle-Width="160px" />
|
||||
<asp:BoundField HeaderText="Estatus" DataField="EstatusFactura" ItemStyle-Width="160px" />
|
||||
<asp:BoundField HeaderText="Serie Folio Nuevo" DataField="SerieFolioSustitucion" ItemStyle-Width="25%" />
|
||||
<asp:BoundField HeaderText="Folio Sustitucion" DataField="FolioFiscalSustitucion" ItemStyle-Width="25%" />
|
||||
<asp:BoundField HeaderText="Motivo" DataField="MotivoCancelacion" ItemStyle-Width="25%" />
|
||||
<asp:TemplateField ItemStyle-Width="35px" HeaderText="Verificar">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton runat="server" OnClick="BtnValidarRefacturacion_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea verificar la cancelación?" data-btn-ok-label="si"></asp:LinkButton>
|
||||
<asp:LinkButton ID="LnkValidarRefac" runat="server" OnClick="BtnValidarRefacturacion_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea verificar la cancelación?" data-btn-ok-label="si"></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField ItemStyle-Width="35px" HeaderText="Cancelar">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="LnkCancelar" Visible="false" runat="server" OnClick="BtnCancelarDocumento_Click" CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-check'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea cancelar el documento?" data-btn-ok-label="si"></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:HyperLinkField HeaderText="Refacturación" Text="Refacturar" DataNavigateUrlFields="CveVenta" ItemStyle-Width="100px" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveDevolucion={0}&NuevaFactura=1" />
|
||||
|
||||
@@ -41,7 +41,19 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
}
|
||||
|
||||
var ObjVentas = new ClsVentas();
|
||||
if (ObjVentas.GetVentas(UsuarioActual.CveEmpresa, "-1", "-1", -1, "-1", -1, -1, -2, -1, "-1", "-1", "-1", CveUsuarioConsulta: UsuarioActual.CveUsuario))
|
||||
//if (ObjVentas.GetVentas(UsuarioActual.CveEmpresa, "-1", "-1", -1, "-1", -1, -1, -2, -1, "-1", "-1", "-1", CveUsuarioConsulta: UsuarioActual.CveUsuario))
|
||||
//{
|
||||
|
||||
// if (Request["CveVenta"] != null && Request["CveVenta"].ToString().ToEntero() > 0)
|
||||
// {
|
||||
// DtVentas = ObjVentas.DtResultados.FiltraParametros($"CveVenta={Request["CveVenta"].ToString().ToEntero()}");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// DtVentas = ObjVentas.DtResultados.Copy();
|
||||
// }
|
||||
//}
|
||||
if (ObjVentas.GetVentasPendientesCancelacion(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario))
|
||||
{
|
||||
|
||||
if (Request["CveVenta"] != null && Request["CveVenta"].ToString().ToEntero() > 0)
|
||||
@@ -55,7 +67,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
}
|
||||
|
||||
ObjVentas.Dispose();
|
||||
GvDatos.DataSource = DtVentas.FiltraParametros("CveEstatusFactura IN(20,23) AND CveEstatusRefacturacion = 0");
|
||||
GvDatos.DataSource = DtVentas.FiltraParametros("CveEstatusFactura = 20 AND CveEstatusRefacturacion = 0");
|
||||
|
||||
var DtRefacturar = DtVentas.FiltraParametros("CveEstatusRefacturacion IN (1,3)");
|
||||
if (DtRefacturar != null && DtRefacturar.Rows.Count > 0)
|
||||
@@ -89,13 +101,13 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
var resp = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCCliente, Total);
|
||||
if (resp.EnviarAcuse)
|
||||
{
|
||||
Alert(resp.Mensaje,TipoMensaje.MsgConfirmacion,"BtnEnviarMailCancelacion();",TextoConfirmacion:"Enviar",TextoSegundoBoton:"Cancelar");
|
||||
Alert(resp.Mensaje, TipoMensaje.MsgConfirmacion, "BtnEnviarMailCancelacion();", TextoConfirmacion: "Enviar", TextoSegundoBoton: "Cancelar");
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert(resp.Mensaje);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
CargaDatos();
|
||||
}
|
||||
@@ -115,22 +127,22 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
string Folio = GvRow.DataKey("Folio");
|
||||
string TipoDocto = GvRow.DataKey("TipoDocto");
|
||||
string Nombre = GvRow.DataKey("Nombre");
|
||||
|
||||
string FolioSustitucion = GvRow.DataKey("FolioFiscalSustitucion");
|
||||
|
||||
if (CveVenta > 0 && Uuid != "")
|
||||
{
|
||||
var respuesta = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCCliente, Total, true);
|
||||
var respuesta = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCCliente, Total, true, FolioSustitucion);
|
||||
CargaDatos();
|
||||
if (respuesta.CveEstatus.Contiene(4,5))
|
||||
if (respuesta.CveEstatus.Contiene(4, 5))
|
||||
{
|
||||
HdnLigaRefacturar.Value = respuesta.LigaRefacturacion;
|
||||
Alert(respuesta.Mensaje, JSBtnAceptar: $"RefacturarDocumento();");
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert(respuesta.Mensaje,TipoMensaje.MsgAdvertencia);
|
||||
Alert(respuesta.Mensaje, TipoMensaje.MsgAdvertencia);
|
||||
}
|
||||
|
||||
|
||||
//if (respuesta.IrARefacturar)
|
||||
//{
|
||||
// Server.Transfer(respuesta.LigaRefacturacion);
|
||||
@@ -142,9 +154,78 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
//}
|
||||
}
|
||||
UPDatos.Update();
|
||||
|
||||
|
||||
}
|
||||
private MRespuestaSAT VerificarVigenciaSAT(int CveVenta, int CveCliente, string Folio, string TipoDocto, string uuid, string emisor, string receptor, string total, bool EsRefacturacion = false)
|
||||
|
||||
protected void BtnCancelarDocumento_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.HdnLigaRefacturar.Value = "";
|
||||
this.CveVenta = -1;
|
||||
|
||||
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
|
||||
this.CveVenta = GvRow.DataKey("CveVenta").ToEntero();
|
||||
|
||||
int CveCliente = GvRow.DataKey("CveCliente").ToEntero();
|
||||
string Total = GvRow.DataKey("Total");
|
||||
string SubTotal = GvRow.DataKey("SubTotal");
|
||||
string Uuid = GvRow.DataKey("FolioFiscal");
|
||||
string RFCCliente = GvRow.DataKey("RFCCliente");
|
||||
string Folio = GvRow.DataKey("Folio");
|
||||
string TipoDocto = GvRow.DataKey("TipoDocto");
|
||||
string Nombre = GvRow.DataKey("Nombre");
|
||||
string FolioSustitucion = GvRow.DataKey("FolioFiscalSustitucion");
|
||||
|
||||
if (CveVenta > 0 && Uuid != "")
|
||||
{
|
||||
var respCancelacion = CancelarDocumento(CveVenta, -1, CveCliente, Folio, Uuid, "", DateTime.Now, TipoDocto, Total.ToDouble(), UsuarioActual.Empresa.CvePAC, EsRefacturacion: true, FolioSustitucion: FolioSustitucion, CveEstatusRefacturacion: 2);
|
||||
|
||||
if (!respCancelacion.HuboError)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
var EnviarAcuse = false;
|
||||
if (respCancelacion.CveEstatus > 0)
|
||||
{
|
||||
EnviarAcuse = true;
|
||||
var CveEstatus = respCancelacion.CveEstatus;
|
||||
var ObjVentas = new ClsVentas();
|
||||
if (ObjVentas.UpdateEstatusVenta(CveVenta, CveEstatus, UsuarioActual.CveEmpresa))
|
||||
{
|
||||
sb.Append("El estatus de la factura fue cambiado a 'Cancelada'.");
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append("Ocurrió un error al cambiar el estatus de la factura.");
|
||||
}
|
||||
ObjVentas.Dispose();
|
||||
sb.Append("El documento se canceló correctamente.");
|
||||
sb.Append($"</br> <a href='/Compras/PopUpVerFactura.aspx?P={Encripta($"OP=CAN&CVEVTA={CveVenta}")}' class='Texto' target='_blank'>Imprimir Acuse</a>");
|
||||
sb.Append("</br></br> ¿Desea enviar el Acuse de Cancelación al Cliente?");
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append(respCancelacion.Mensaje);
|
||||
}
|
||||
|
||||
if (EnviarAcuse)
|
||||
{
|
||||
Alert(sb.ToString(), TipoMensaje.MsgConfirmacion, "BtnEnviarMailCancelacion();", TextoConfirmacion: "Enviar", TextoSegundoBoton: "Cancelar");
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert(sb.ToString());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert(respCancelacion.Mensaje, TipoMensaje.MsgError);
|
||||
}
|
||||
|
||||
CargaDatos();
|
||||
}
|
||||
UPDatos.Update();
|
||||
|
||||
}
|
||||
private MRespuestaSAT VerificarVigenciaSAT(int CveVenta, int CveCliente, string Folio, string TipoDocto, string uuid, string emisor, string receptor, string total, bool EsRefacturacion = false, string FolioSustitucion = "")
|
||||
{
|
||||
HdnLigaRefacturar.Value = "";
|
||||
|
||||
@@ -183,20 +264,20 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
|
||||
if (!UsuarioActual.Empresa.FacturaProduccion && (string.IsNullOrEmpty(uuid) || uuid.Contains("test")))
|
||||
{
|
||||
var respCancelacion = CancelarDocumento(CveVenta, CveEstatus, CveCliente, Folio, uuid, CancelacionAcuse, CancelacionFecha, TipoDocto, total.ToDouble(), UsuarioActual.Empresa.CvePAC, EsRefacturacion: EsRefacturacion);
|
||||
var respCancelacion = CancelarDocumento(CveVenta, CveEstatus, CveCliente, Folio, uuid, CancelacionAcuse, CancelacionFecha, TipoDocto, total.ToDouble(), UsuarioActual.Empresa.CvePAC, EsRefacturacion: EsRefacturacion, FolioSustitucion: FolioSustitucion);
|
||||
|
||||
//sb.AppendFormat("{0} <br/>", respCancelacion.Mensaje);
|
||||
if (!respCancelacion.HuboError)
|
||||
{
|
||||
CveEstatus = respCancelacion.CveEstatus;
|
||||
retorno.EnviarAcuse = true;
|
||||
|
||||
|
||||
sb.Append("El documento se canceló correctamente.");
|
||||
sb.Append($"</br> <a href='/Compras/PopUpVerFactura.aspx?P={Encripta($"OP=CAN&CVEVTA={CveVenta}")}' class='Texto' target='_blank'>Imprimir Acuse</a>");
|
||||
if (!EsRefacturacion)
|
||||
{
|
||||
sb.Append("</br></br> ¿Desea enviar el Acuse de Cancelación al Cliente?");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (respCancelacion.CveEstatus.Contiene(4, 5) && EsRefacturacion)
|
||||
@@ -218,7 +299,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
{
|
||||
CveEstatus = 5;
|
||||
|
||||
var respCancelacion = CancelarDocumento(CveVenta, CveEstatus, CveCliente, Folio, uuid, CancelacionAcuse, CancelacionFecha, TipoDocto, total.ToDouble(), UsuarioActual.Empresa.CvePAC, EsRefacturacion: EsRefacturacion);
|
||||
var respCancelacion = CancelarDocumento(CveVenta, CveEstatus, CveCliente, Folio, uuid, CancelacionAcuse, CancelacionFecha, TipoDocto, total.ToDouble(), UsuarioActual.Empresa.CvePAC, EsRefacturacion: EsRefacturacion, FolioSustitucion: FolioSustitucion);
|
||||
|
||||
//sb.AppendFormat("{0} <br/>", respCancelacion.Mensaje);
|
||||
if (!respCancelacion.HuboError)
|
||||
@@ -308,13 +389,17 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
retorno.Mensaje = sb.ToString();
|
||||
return retorno;
|
||||
}
|
||||
private Modelos.Factura.MCancelacionVentaMensaje CancelarDocumento(int CveVenta, int CveEstatus, int CveCliente, string Folio, string FolioFiscal, string CancelacionAcuse, DateTime CancelacionFecha, string TipoComprobante, double Total, int CvePACCancelacion, bool EsRefacturacion = false)
|
||||
private Modelos.Factura.MCancelacionVentaMensaje CancelarDocumento(int CveVenta, int CveEstatus, int CveCliente, string Folio, string FolioFiscal, string CancelacionAcuse, DateTime CancelacionFecha, string TipoComprobante, double Total, int CvePACCancelacion, bool EsRefacturacion = false, string FolioSustitucion = "", int CveEstatusRefacturacion = -1)
|
||||
{
|
||||
Modelos.Factura.MCancelacionVentaMensaje retorno = null;
|
||||
var factura = new Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:true);
|
||||
var factura = new Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion: true);
|
||||
if (EsRefacturacion)
|
||||
{
|
||||
retorno = factura.CancelarPorRefacturacion(1,"");
|
||||
if (CveEstatusRefacturacion > 0)
|
||||
{
|
||||
factura.CveEstatusRefacturacion = CveEstatusRefacturacion;
|
||||
}
|
||||
retorno = factura.CancelarPorRefacturacion(factura.CveMotivoCancelacion, factura.MotivoCancelacion, FolioSustitucion: FolioSustitucion);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -323,7 +408,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
|
||||
return retorno;
|
||||
}
|
||||
|
||||
|
||||
private string DecodeBase64(string strXMLCodificado)
|
||||
{
|
||||
try
|
||||
@@ -372,7 +457,18 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
{
|
||||
if (e.Row.DBCampo("PuedeRefacturar").ToString().ToEntero() == 0)
|
||||
{
|
||||
e.Row.Cells[10].Text = "";
|
||||
e.Row.Cells[14].Text = "";
|
||||
}
|
||||
|
||||
if (e.Row.DBCampo("PuedeRefacturar").ToString().ToEntero() == 1 && e.Row.DBCampo("CveEstatusFactura").ToString().ToEntero() == 23)
|
||||
{
|
||||
e.Row.FCLinkButton("LnkValidarRefac").Visible = false;
|
||||
}
|
||||
|
||||
if (e.Row.DBCampo("PuedeRefacturar").ToString().ToEntero() == 0 && e.Row.DBCampo("CveEstatusFactura").ToString().ToEntero() == 23 && e.Row.DBCampo("CveVentaSustitucion").ToEntero() > 0)
|
||||
{
|
||||
e.Row.FCLinkButton("LnkCancelar").Visible = true;
|
||||
e.Row.FCLinkButton("LnkValidarRefac").Visible = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -419,7 +515,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
|
||||
byte[] ObjetoPDF = StreamPDF(@"Empresas\Grales\Formatos\AcuseCancelacion.rdlc", DtDatos, parametros, "AcuseCancelacion" + CveVenta);
|
||||
|
||||
|
||||
|
||||
List<ClsSisMail.ArchivoMail> LSRutasMail = new List<ClsSisMail.ArchivoMail>();
|
||||
string Asunto = string.Empty;
|
||||
string Cuerpo = string.Empty;
|
||||
@@ -485,11 +581,11 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert("El acuse de cancelación no pudo ser enviado.",TipoMensaje.MsgError);
|
||||
Alert("El acuse de cancelación no pudo ser enviado.", TipoMensaje.MsgError);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
public class MRespuestaSAT
|
||||
|
||||
@@ -7076,6 +7076,25 @@
|
||||
<asp:Label ID="LbCancelarDescripcion" runat="server"></asp:Label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>Motivo:</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<asp:DropDownList ID="DdlMotivoCancelacion" CssClass=" form-control input-sm select2me" runat="server" Width="100%" DataTextField="MotivoCancelacion" DataValueField="CveMotivoCancelacion">
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVMotivoCancelacion" runat="server" CssClass="help-block errorimput" Display="Dynamic" InitialValue="-1" ControlToValidate="DdlMotivoCancelacion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Motivo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpModalCancelarDocumento"></asp:RequiredFieldValidator>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>Descripción:</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<asp:TextBox ID="TxtMotivoCancelacion" runat="server" Height="100" Width="100%" TextMode="MultiLine" CausesValidation="true" MaxLength="500"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVDescripcionCancelacion" runat="server" CssClass="help-block errorimput" Display="Dynamic" ControlToValidate="TxtMotivoCancelacion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo." ValidationGroup="GrpModalCancelarDocumento"></asp:RequiredFieldValidator>
|
||||
</div>
|
||||
</div>
|
||||
<div id="DivCanRem" runat="server" visible="false">
|
||||
<h5>
|
||||
<asp:CheckBox ID="ChkCanRem" runat="server" AutoPostBack="true" OnCheckedChanged="ChkCanRem_CheckedChanged" /><asp:Label ID="LblChkCanRem" Text="Cancelar la Remisión" runat="server"></asp:Label>
|
||||
@@ -7095,7 +7114,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="DivDevAlm" runat="server" class="row" visible="false">
|
||||
<div id="DivDevAlm" runat="server" visible="false">
|
||||
<h5>
|
||||
<asp:CheckBox ID="ChkDevAlm" AutoPostBack="true" runat="server" OnCheckedChanged="ChkDevAlm_CheckedChanged" /><asp:Label ID="LblDevAlm" Text="Devolución Almacen" runat="server"></asp:Label>
|
||||
</h5>
|
||||
@@ -7721,7 +7740,7 @@
|
||||
</div>
|
||||
|
||||
<div id="DivMotivoRefacturacion" class="modal ADS fade" role="dialog">
|
||||
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpRefac" UpdateMode="Conditional">
|
||||
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpMotivoRefac" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
@@ -7731,20 +7750,31 @@
|
||||
<h4 class="modal-title" id="H1" runat="server">Motivo</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-center">
|
||||
<h4>
|
||||
<asp:Label ID="LblEstatusRefacturacion" runat="server"></asp:Label>
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>Motivo:</label>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<asp:DropDownList ID="DdlMotivoCancelacion" CssClass=" form-control input-sm select2me" runat="server" Width="100%" DataTextField="CodigoSATDescripcion" DataValueField="CveMotivoCancelacion">
|
||||
<div class="col-md-10">
|
||||
<asp:DropDownList ID="DdlMotivoRefacturacion" CssClass=" form-control input-sm select2me" runat="server" Width="100%" DataTextField="MotivoCancelacion" DataValueField="CveMotivoCancelacion">
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVDdlMotivo" runat="server" CssClass="help-block errorimput" InitialValue="-1" ControlToValidate="DdlMotivoCancelacion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Motivo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpMotivo"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="RFVDdlMotivoRefac" runat="server" CssClass="help-block errorimput" Display="Dynamic" InitialValue="-1" ControlToValidate="DdlMotivoRefacturacion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Motivo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpMotivo"></asp:RequiredFieldValidator>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label>Descripción:</label>
|
||||
<asp:TextBox ID="TxtMotivoRefac" runat="server" Height="100" Width="600" TextMode="MultiLine" CausesValidation="true" MaxLength="500"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVTxtMotivoRefac" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtMotivoRefac" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo." ValidationGroup="GrpMotivo"></asp:RequiredFieldValidator>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>Descripción:</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<asp:TextBox ID="TxtMotivoRefac" runat="server" Height="100" Width="100%" TextMode="MultiLine" CausesValidation="true" MaxLength="500"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVTxtMotivoRefac" runat="server" Display="Dynamic" CssClass="help-block errorimput" ControlToValidate="TxtMotivoRefac" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo." ValidationGroup="GrpMotivo"></asp:RequiredFieldValidator>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
|
||||
@@ -5496,9 +5496,14 @@ Partial Class Ventas
|
||||
End Sub
|
||||
|
||||
Private Sub CargaMotivosCancelacion()
|
||||
DdlMotivoCancelacion.DataSource = GlobalDTSATMotivosCancelacion()
|
||||
|
||||
DdlMotivoRefacturacion.DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveSATMotivoCancelacion:=1)
|
||||
DdlMotivoRefacturacion.DataBind()
|
||||
|
||||
DdlMotivoCancelacion.DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa).FiltraParametros("CveSATMotivoCancelacion IN (2,3)")
|
||||
DdlMotivoCancelacion.DataBind()
|
||||
|
||||
DdlMotivoRefacturacion.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlMotivoCancelacion.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
End Sub
|
||||
Private Sub CargaTiposRelacion()
|
||||
@@ -8736,7 +8741,7 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
If ObjFactura.TipoDocto.Contiene("Ing", "Egs", "Ant", "Dev") Then
|
||||
If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then
|
||||
If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso (UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa = 1) Then
|
||||
|
||||
'FACTURA INGRESO/EGRESO
|
||||
Dim ObjTimbrado As New Timbrado
|
||||
@@ -8788,8 +8793,10 @@ Partial Class Ventas
|
||||
Alert(ObjTimbrado.MensajeErrorCFDI, TipoMensaje.MsgError)
|
||||
End If
|
||||
|
||||
'CANCELAR FACTURA ANTERIOR
|
||||
If SeTimbro AndAlso (Me.CveDevolucion > 0 AndAlso Me.NuevaFactura = 1) Then
|
||||
If Me.ObjFacturaNC IsNot Nothing Then
|
||||
Me.ObjFacturaNC.CveEstatusRefacturacion = 2 'MARCAR COMO REFACTURADA
|
||||
Me.ObjFacturaNC.CancelarPorRefacturacion(Me.ObjFacturaNC.CveMotivoCancelacion, Me.ObjFacturaNC.MotivoCancelacion, ObjTimbrado.UUID)
|
||||
End If
|
||||
End If
|
||||
@@ -11734,13 +11741,13 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
'Actualiar el estatus de la venta refacturada
|
||||
If ObjVentas.CveVenta > 0 AndAlso NuevaFactura = 1 AndAlso CveDevolucion > 0 Then
|
||||
'If ObjVentas.CveVenta > 0 AndAlso NuevaFactura = 1 AndAlso CveDevolucion > 0 Then
|
||||
|
||||
'If CveEstatusRefacturacion = 1 Then CveEstatusRefacturacion = 2 'cuando viene del proceso de refacturación con aceptació
|
||||
If Not ObjVentas.UpdateEstatusRefacturacion(CveDevolucion, 2) Then ' se marca como refacturada
|
||||
ErrorList.Add("Ocurrió un error al actualizar el estatus de la refacturacion")
|
||||
End If
|
||||
End If
|
||||
' 'If CveEstatusRefacturacion = 1 Then CveEstatusRefacturacion = 2 'cuando viene del proceso de refacturación con aceptació
|
||||
' If Not ObjVentas.UpdateEstatusRefacturacion(CveDevolucion, 2) Then ' se marca como refacturada
|
||||
' ErrorList.Add("Ocurrió un error al actualizar el estatus de la refacturacion")
|
||||
' End If
|
||||
'End If
|
||||
|
||||
'Pedido2'
|
||||
If ObjVentas.CveVenta > 0 And CvePedido2 > 0 And DdlTipoComprobante.SelectedValue.Contiene("Rem", "PA") Then
|
||||
@@ -20321,28 +20328,32 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
If Vigencia.EsCancelable = "Cancelable sin aceptación" Then
|
||||
script = "BtnRefacturacionConfirmarAceptacion();"
|
||||
'script = "BtnRefacturacionConfirmarAceptacion();"
|
||||
sb.AppendFormat("<b>{0}</b> <br/>", Vigencia.EsCancelable)
|
||||
sb.Append("Está seguro de realizar la refacturación?.")
|
||||
End If
|
||||
|
||||
If Vigencia.EsCancelable = "Cancelable con aceptación" OrElse String.IsNullOrEmpty(Vigencia.EsCancelable) Then
|
||||
script = "BtnRefacturacionConfirmar();"
|
||||
'script = "BtnRefacturacionConfirmar();"
|
||||
sb.AppendFormat("<b>{0}</b> <br/>", "Cancelable con aceptación")
|
||||
sb.Append("Está seguro de cancelar el documento para realizar la refacturación?.")
|
||||
End If
|
||||
Else
|
||||
If Not UsuarioActual.Empresa.FacturaProduccion Then
|
||||
script = "BtnRefacturacionConfirmar();"
|
||||
End If
|
||||
'If Not UsuarioActual.Empresa.FacturaProduccion Then
|
||||
' script = "BtnRefacturacionConfirmar();"
|
||||
'End If
|
||||
sb.Append("<b>No encontrado</b> <br/>")
|
||||
End If
|
||||
Else
|
||||
sb.Append("¿Desea realizar la refacturación?<br/>")
|
||||
'sb.Append("¿Desea realizar la refacturación?<br/>")
|
||||
script = "BtnRefacturacionConfirmarAceptacion();"
|
||||
End If
|
||||
|
||||
Alert(sb.ToString(), TipoMensaje.MsgConfirmacion, JSBtnAceptar:=script, TextoConfirmacion:=" Si ", TextoCancelacion:=" No ")
|
||||
LblEstatusRefacturacion.Text = sb.ToString()
|
||||
UpMotivoRefac.Update()
|
||||
|
||||
RegistraScript("$('#DivMotivoRefacturacion').modal({ backdrop: 'static', keyboard: false });", "R1")
|
||||
'Alert(sb.ToString(), TipoMensaje.MsgConfirmacion, JSBtnAceptar:=script, TextoConfirmacion:=" Si ", TextoCancelacion:=" No ")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -20351,18 +20362,18 @@ Partial Class Ventas
|
||||
End Sub
|
||||
'BtnRefacturacionConfirmar
|
||||
Private Sub BtnRefacturacionConfirmar_Click(sender As Object, e As System.EventArgs) Handles BtnRefacturacionConfirmar.Click
|
||||
DdlMotivoCancelacion.SelectedValueExist(1)
|
||||
DdlMotivoCancelacion.Enabled = False
|
||||
' DdlMotivoRefactura.SelectedValueExist(1)
|
||||
' DdlMotivoCancelacion.Enabled = False
|
||||
|
||||
UpRefac.Update()
|
||||
'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
|
||||
DdlMotivoCancelacion.SelectedValueExist(1)
|
||||
DdlMotivoCancelacion.Enabled = False
|
||||
'DdlMotivoCancelacion.SelectedValueExist(1)
|
||||
'DdlMotivoCancelacion.Enabled = False
|
||||
|
||||
UpRefac.Update()
|
||||
'UpRefac.Update()
|
||||
RegistraScript("$('#DivMotivoRefacturacion').modal({ backdrop: 'static', keyboard: false });", "R1")
|
||||
'CancelarDocumento(True)
|
||||
End Sub
|
||||
@@ -21942,10 +21953,10 @@ Partial Class Ventas
|
||||
|
||||
|
||||
Dim DtDireccionEnvio As DataTable = Nothing
|
||||
Dim ObjClientes As New ClsClientes
|
||||
If ObjClientes.DireccionEnvioGet(DdlDireccionEnvio.SelectedValue.ToEntero(), CveCliente, CveClienteSucursal) Then
|
||||
DtDireccionEnvio = ObjClientes.DtResultados
|
||||
End If
|
||||
Dim ObjClientes As New ClsClientes
|
||||
If ObjClientes.DireccionEnvioGet(DdlDireccionEnvio.SelectedValue.ToEntero(), CveCliente, CveClienteSucursal) Then
|
||||
DtDireccionEnvio = ObjClientes.DtResultados
|
||||
End If
|
||||
ObjClientes.Dispose()
|
||||
|
||||
If DtDireccionEnvio IsNot Nothing And DtDireccionEnvio.Rows.Count > 0 Then
|
||||
@@ -21990,7 +22001,7 @@ Partial Class Ventas
|
||||
RegistraScript("$('#divAddDireccionEnvio').modal();")
|
||||
End Sub
|
||||
|
||||
#Region "D I R E C C I O N E N V I O - C O M B O S"
|
||||
#Region "D I R E C C I O N E N V I O - C O M B O S"
|
||||
Protected Sub BtnDirClienteValidar_Click(sender As Object, e As EventArgs)
|
||||
DirClientevalidaCodigoPostal()
|
||||
End Sub
|
||||
@@ -22004,27 +22015,27 @@ Partial Class Ventas
|
||||
|
||||
Private Sub CargaDirClientePais()
|
||||
|
||||
DdlDirClientePais.DataSource = GlobalDTGralPaises()
|
||||
DdlDirClientePais.DataBind()
|
||||
DdlDirClientePais.SelectedValueExist("151")
|
||||
End Sub
|
||||
|
||||
DdlDirClientePais.DataSource = GlobalDTGralPaises()
|
||||
DdlDirClientePais.DataBind()
|
||||
DdlDirClientePais.SelectedValueExist("151")
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDirClienteEstado()
|
||||
DdlDirClienteEstado.Items.Clear()
|
||||
If DdlDirClientePais.SelectedValue.ToEntero > 0 Then
|
||||
DdlDirClienteEstado.DataSource = GlobalDTGralEstados("-1", DdlDirClientePais.SelectedValue.ToEntero)
|
||||
End If
|
||||
DdlDirClienteEstado.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlDirClienteEstado.DataBind()
|
||||
DdlDirClienteEstado.Items.Clear()
|
||||
If DdlDirClientePais.SelectedValue.ToEntero > 0 Then
|
||||
DdlDirClienteEstado.DataSource = GlobalDTGralEstados("-1", DdlDirClientePais.SelectedValue.ToEntero)
|
||||
End If
|
||||
DdlDirClienteEstado.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlDirClienteEstado.DataBind()
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDirClienteColonia()
|
||||
DdlDirClienteColonia.Items.Clear()
|
||||
Private Sub CargaDirClienteColonia()
|
||||
DdlDirClienteColonia.Items.Clear()
|
||||
If DdlDirClienteMunicipio.SelectedValue.ToEntero > 0 Then
|
||||
DdlDirClienteColonia.DataSource = GlobalDTGralColonias("-1", "-1", "-1", DdlDirClienteMunicipio.SelectedValue.ToEntero, CodigoPostal:=If(TxtEnvioCP.Text.Trim.Length > 0, TxtEnvioCP.Text.ToEntero, -1))
|
||||
End If
|
||||
DdlDirClienteColonia.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlDirClienteColonia.DataBind()
|
||||
End If
|
||||
DdlDirClienteColonia.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlDirClienteColonia.DataBind()
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -22041,24 +22052,24 @@ Partial Class Ventas
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDirClienteMunicipio()
|
||||
DdlDirClienteMunicipio.Items.Clear()
|
||||
If DdlDirClienteEstado.SelectedValue.ToEntero > 0 Then
|
||||
DdlDirClienteMunicipio.DataSource = GlobalDTGralMunicipios("-1", DdlDirClienteEstado.SelectedValue.ToEntero)
|
||||
End If
|
||||
DdlDirClienteMunicipio.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlDirClienteMunicipio.DataBind()
|
||||
DdlDirClienteMunicipio.Items.Clear()
|
||||
If DdlDirClienteEstado.SelectedValue.ToEntero > 0 Then
|
||||
DdlDirClienteMunicipio.DataSource = GlobalDTGralMunicipios("-1", DdlDirClienteEstado.SelectedValue.ToEntero)
|
||||
End If
|
||||
DdlDirClienteMunicipio.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlDirClienteMunicipio.DataBind()
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlDirClientePais_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
CargaDirClienteEstado()
|
||||
CargaDirClienteMunicipio()
|
||||
CargaDirClienteColonia()
|
||||
CargaDirClienteLocalidad()
|
||||
End Sub
|
||||
Protected Sub DdlDirClienteEstado_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
CargaDirClienteMunicipio()
|
||||
CargaDirClienteColonia()
|
||||
CargaDirClienteLocalidad()
|
||||
Protected Sub DdlDirClientePais_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
CargaDirClienteEstado()
|
||||
CargaDirClienteMunicipio()
|
||||
CargaDirClienteColonia()
|
||||
CargaDirClienteLocalidad()
|
||||
End Sub
|
||||
Protected Sub DdlDirClienteEstado_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
CargaDirClienteMunicipio()
|
||||
CargaDirClienteColonia()
|
||||
CargaDirClienteLocalidad()
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlDirClienteMunicipio_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
@@ -23050,7 +23061,7 @@ Partial Class Ventas
|
||||
'ObjE.AddEventoBitacora(msgBitacora, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveVenta)
|
||||
'ObjE.Dispose()
|
||||
|
||||
resp = ObjFacturaCancelacion.CancelarPorRefacturacion(DdlMotivoCancelacion.SelectedValue.ToEntero(), TxtMotivoRefac.Text)
|
||||
resp = ObjFacturaCancelacion.CancelarPorRefacturacion(DdlMotivoRefacturacion.SelectedValue.ToEntero(), TxtMotivoRefac.Text.Trim())
|
||||
Else
|
||||
Dim ListaRemisionesCancelar As New List(Of Integer)
|
||||
If ChkCanRem.Checked Then
|
||||
@@ -23063,7 +23074,7 @@ Partial Class Ventas
|
||||
|
||||
ObjFacturaCancelacion.CveAlmacenDevolucion = CveAlmacenDevolucion
|
||||
|
||||
resp = ObjFacturaCancelacion.CancelarFactura(ChkDevAlm.Checked, ListaRemisionesCancelar)
|
||||
resp = ObjFacturaCancelacion.CancelarFactura(ChkDevAlm.Checked, ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim())
|
||||
End If
|
||||
|
||||
SWatch.Stop()
|
||||
|
||||
Reference in New Issue
Block a user