--Cambios en estructura de cancelacion con pagos y generacion de IxC

This commit is contained in:
2024-12-07 15:16:07 -07:00
parent ee88a49c7b
commit 07f9c6486b
4 changed files with 84 additions and 50 deletions

View File

@@ -627,13 +627,19 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
}
}
bool AplicaCancelacionConPagos = false;
if (UsuarioActual.Empresa.Funcionalidad(382) == "1" || UsuarioActual.Empresa.Funcionalidad(109) == "1")
var CancelacionPagos = Modelos.OpcionesCancelacionPagos.SinPagos;
if (UsuarioActual.Empresa.Funcionalidad(109) == "1")
{
AplicaCancelacionConPagos = true;
CancelacionPagos = Modelos.OpcionesCancelacionPagos.ConPagos_CancelarIE;
}
retorno = factura.EjecutarCancelacionPendiente(CveEstatus, CancelacionFecha, CancelacionAcuse, AplicaCancelacionConPagos: AplicaCancelacionConPagos);
if (UsuarioActual.Empresa.Funcionalidad(382) == "1")
{
CancelacionPagos = Modelos.OpcionesCancelacionPagos.ConPagos_GenerarIxC;
}
retorno = factura.EjecutarCancelacionPendiente(CveEstatus, CancelacionFecha, CancelacionAcuse, CancelacionPagos: CancelacionPagos);
}
@@ -722,11 +728,6 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
// if (e.Row.FCLinkButton("LnkCancelarFolioSustitucion") != null) e.Row.FCLinkButton("LnkCancelarFolioSustitucion").Visible = true;
//}
}
if (string.IsNullOrEmpty(e.Row.DBCampo("FolioFiscal")))
{
e.Row.FCLinkButton("LnkValidarRefac").Visible = false;
}
}
}

View File

@@ -8174,11 +8174,6 @@
<asp:CheckBox ID="ChkDevAlm" AutoPostBack="true" runat="server" OnCheckedChanged="ChkDevAlm_CheckedChanged" /><asp:Label ID="LblDevAlm" Text="Devolución Almacen" runat="server"></asp:Label>
</h5>
</div>
<div id="DivGeneraIxC" runat="server" visible="false">
<h5>
<asp:CheckBox ID="ChkGeneraIxC" runat="server" /><asp:Label ID="Label4" Text="Genera IxC" runat="server"></asp:Label>
</h5>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel ID="UpFooterCancelarRemision" runat="server" UpdateMode="Conditional">

View File

@@ -12,6 +12,7 @@ Imports ADSNetLibrary.SIGAPI.Services.CRM
Imports ADSTimbrado
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Imports Modelos
Imports Newtonsoft.Json.Linq
Partial Class Ventas
@@ -9015,6 +9016,10 @@ Partial Class Ventas
End If
If UsuarioActual.CveEmpresa = 189 AndAlso Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then
GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = False
End If
End Sub
Protected Sub GvPS_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GvPS.RowCancelingEdit
GvPS.EditIndex = -1
@@ -18404,7 +18409,12 @@ Partial Class Ventas
ObjPrecioSugerido.PrecioSugerido = 0
tPrecioSugerido = 0
PrecioSugerido = 0
TxtPrecio.Enabled = True
Else
TxtPrecio.Enabled = False
End If
End If
If PrecioSugerido <= 0 Then PrecioSugerido = tPrecioSugerido
@@ -18664,6 +18674,7 @@ Partial Class Ventas
If PrecioSugerido <= 0 Then PrecioSugerido = tPrecioSugerido
GvRow.FCTextBox("TxtPrecio").Text = PrecioSugerido.ToString("#,###.####") ' que muestre hasta los 4 digitos si lo requiere
End If
End If
End If
@@ -26217,6 +26228,10 @@ Partial Class Ventas
SbCondiciones.Append("<br><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-La remisión está relacionada con otra factura.</b>")
End If
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
DivCanRem.Visible = False
End If
If Extra.Length > 0 Then
SbCondiciones.AppendFormat("<br><b>*{0}</b>", Extra)
End If
@@ -26254,10 +26269,6 @@ Partial Class Ventas
Exit Sub
End If
If UsuarioActual.CveRol = 1 AndAlso UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso DdlTipoComprobante.SelectedValue = "Ing" Then
DivGeneraIxC.Visible = True
End If
If SaldoAlmacen <> 0 Then
If UsuarioActual.TienePermisoProceso(269) Then
@@ -26412,6 +26423,14 @@ Partial Class Ventas
End If
LblCancelarDocumento.Text = sb.ToString()
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
sbExtra.Append("Se generará un saldo a favor con el pago del cliente")
If GvCancelarRemisiones.Rows.Cast(Of GridViewRow).Count(Function(x) x.RowType = DataControlRowType.DataRow) > 0 Then
sbExtra.Append("<br/><b>*Las remisones relacionadas se van a cancelar con la factura</b>")
End If
End If
MostrarCondicionesCancelacion(sbExtra.ToString(), SaldoAlmacen)
RegistraScript("$('#ModalCancelarDocumento').modal();")
@@ -26665,25 +26684,29 @@ Partial Class Ventas
ChkDevAlm.Checked = True
End If
Dim AplicaCancelacionConPagos As Boolean = False
Dim CancelacionPagos = OpcionesCancelacionPagos.SinPagos
If (UsuarioActual.Empresa.Funcionalidad(109) = "1" OrElse UsuarioActual.Empresa.Funcionalidad(382) = "1") AndAlso ObjFacturaCancelacion.TipoDocto.Contiene("Ing", "Rem") AndAlso Not EsRefacturacion AndAlso ObjFacturaCancelacion.Pagado > 0 Then
AplicaCancelacionConPagos = True
If UsuarioActual.Empresa.Funcionalidad(109) = "1" AndAlso ObjFacturaCancelacion.TipoDocto.Contiene("Ing", "Rem") AndAlso Not EsRefacturacion AndAlso ObjFacturaCancelacion.Pagado > 0 Then
CancelacionPagos = OpcionesCancelacionPagos.ConPagos_CancelarIE
End If
Dim GenerarIxC As Boolean = False
'PARA GENERAR LA DEVOLUCION DE ALMACEN SIN ESPERAR LA ACEPTACION DEL SAT
Dim GenerarDevolucionAnticipada As Boolean = False
If UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso AplicaCancelacionConPagos AndAlso ObjFacturaCancelacion.TipoDocto.Contiene("Ing") Then
GenerarIxC = ChkGeneraIxC.Checked
If UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso ObjFacturaCancelacion.TipoDocto.Contiene("Ing", "Rem") AndAlso Not EsRefacturacion AndAlso ObjFacturaCancelacion.Pagado > 0 Then
If ChkDevAlm.Checked Then
GenerarDevolucionAnticipada = True
End If
For Each Gvr As GridViewRow In GvCancelarRemisiones.Rows
ListaRemisionesCancelar.Add(Gvr.DataKey("CveVenta").ToEntero())
Next
CancelacionPagos = OpcionesCancelacionPagos.ConPagos_GenerarIxC
End If
Dim ForzarDevolucion As Boolean = False
If ChkDevAlm.Checked AndAlso UsuarioActual.CveEmpresa = 189 Then
ForzarDevolucion = True
End If
resp = ObjFacturaCancelacion.CancelarFactura(If(ChkDevAlm.Checked, 1, 0), ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion, AplicaCancelacionConPagos:=AplicaCancelacionConPagos, GeneraIxCconPago:=GenerarIxC, ForzarDevolucion:=ForzarDevolucion)
resp = ObjFacturaCancelacion.CancelarFactura(If(ChkDevAlm.Checked, 1, 0), ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion, ForzarDevolucion:=GenerarDevolucionAnticipada, CancelacionPagos:=CancelacionPagos)
strMensaje.Append(resp.Mensaje)
Dim DtBonificaciones As DataTable = Nothing