Refacturacion,mensajes de cancelacion
This commit is contained in:
@@ -3997,9 +3997,24 @@ Namespace Modelos
|
||||
Dim CancelarRemisiones As Boolean = ListaRemisionesCancelar IsNot Nothing AndAlso ListaRemisionesCancelar.Count > 0
|
||||
|
||||
Dim TieneAlmacen As Boolean = False
|
||||
Dim AplicaRefacturacionConPagos As Boolean = False
|
||||
|
||||
'1 NORMAL, 2 CON PAGOS
|
||||
Dim ModalidadRefacturacion As Integer = UsuarioActual.Empresa.Funcionalidad(586).ToEntero()
|
||||
|
||||
If ModalidadRefacturacion <= 0 Then
|
||||
Retorno.Mensaje = "La factura no se puede refacturar debido a que la empresa no tiene asignada una modalidad de refacturación."
|
||||
Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia
|
||||
|
||||
Return Retorno
|
||||
End If
|
||||
|
||||
If EsRefacturacion AndAlso ModalidadRefacturacion = 2 Then
|
||||
AplicaRefacturacionConPagos = True
|
||||
End If
|
||||
|
||||
'VALIDA QUE LA FACTURA NO TENGA PAGOS
|
||||
If Not EsRefacturacion AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Rem") AndAlso ObjFactura.Pagado > 0 Then
|
||||
If Not AplicaRefacturacionConPagos AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Rem") AndAlso ObjFactura.Pagado > 0 Then
|
||||
Retorno.Mensaje = "La factura no se puede cancelar debido a que tiene pagos vinculados."
|
||||
Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia
|
||||
|
||||
@@ -4023,7 +4038,7 @@ Namespace Modelos
|
||||
End If
|
||||
|
||||
'LA VALIDACION DE SALDOS CUANDO ES REFACTURACION SE HACE ANTES ASI QUE SI ES REFACTURACION IGNORAMOS ESTA CONDICION, SI ES ANTICIPO VERIFICA QUE NO ESTÉ APLICADO
|
||||
If Not EsRefacturacion AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Ant", "Rem") AndAlso ObjFactura.Pagado > 0 AndAlso DTDocumentosRelacionados.Rows.Count > 0 Then
|
||||
If Not AplicaRefacturacionConPagos AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Ant", "Rem") AndAlso ObjFactura.Pagado > 0 AndAlso DTDocumentosRelacionados.Rows.Count > 0 Then
|
||||
Retorno.Mensaje = "La factura no se puede cancelar debido a que tiene pagos vinculados."
|
||||
Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia
|
||||
|
||||
@@ -4283,7 +4298,7 @@ Namespace Modelos
|
||||
End If
|
||||
|
||||
'CUANDO LA CANCELACION ESTA EN PROCESO NO DEBE REALIZAR NADA DE ESTE PROCESO
|
||||
If Not EsRefacturacion AndAlso ((((ObjFactura.Saldo > 0 AndAlso (CveEstatus > 0 AndAlso CveEstatus <> 20)) OrElse (ObjFactura.Total = 0 AndAlso UsuarioActual.CveEmpresa.Contiene(72) AndAlso ObjFactura.TipoDocto.Contiene("Ing"))) AndAlso CveEstatus.Contiene(4, 5)) OrElse (CvePlantillaPoliza = 7 AndAlso (CveEstatus > 0 AndAlso CveEstatus <> 20))) Then
|
||||
If Not AplicaRefacturacionConPagos AndAlso ((((ObjFactura.Saldo > 0 AndAlso (CveEstatus > 0 AndAlso CveEstatus <> 20)) OrElse (ObjFactura.Total = 0 AndAlso UsuarioActual.CveEmpresa.Contiene(72) AndAlso ObjFactura.TipoDocto.Contiene("Ing"))) AndAlso CveEstatus.Contiene(4, 5)) OrElse (CvePlantillaPoliza = 7 AndAlso (CveEstatus > 0 AndAlso CveEstatus <> 20))) Then
|
||||
|
||||
'CUANDO SE CANCELA, LA PÓLIZA DEBE DE SER DE DIARIO
|
||||
CvePrePoliza = ObjConta.AddPrePolizas("Modelos/CancelarDocumento", CvePlantillaPoliza, ObjFactura.Total, ObjFactura.Total, ObjFactura.CveMoneda, Now, ObjFactura.Cliente.Nombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
|
||||
@@ -4294,16 +4309,8 @@ Namespace Modelos
|
||||
MensajeError = "Ocurrió un error al generar la prepoliza de cancelación."
|
||||
End If
|
||||
|
||||
''CANCELAR PAGOS
|
||||
'If EsRefacturacion AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Rem", "Ant") AndAlso ObjFactura.Pagado > 0 Then
|
||||
' If Not ObjVentas.CancelarPagos(ObjFactura.CveVenta, CvePrePoliza) Then
|
||||
' ErrorCancelar = True
|
||||
' MensajeError = "Ocurrió un error al generar la cancelación de pagos."
|
||||
' End If
|
||||
'End If
|
||||
|
||||
'CANCELAR PAGOS
|
||||
If Not EsRefacturacion AndAlso ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
|
||||
If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
|
||||
If Not ErrorCancelar Then
|
||||
If Not ObjConta.PrePolizasCancelarPagos(ObjFactura.CveDevolucion, CvePrePoliza) Then
|
||||
ErrorCancelar = True
|
||||
@@ -4312,7 +4319,6 @@ Namespace Modelos
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
'CANCELA PREPOLIZA
|
||||
If Not ErrorCancelar Then
|
||||
ErrorCancelar = ProcesoPrepolizas(ObjFactura, ObjConta, -1, ObjFactura.DtDetalle, ObjAC, -1, ObjBancos, ObjVentas, ObjEventos, DtRemisionesRelacionadas:=DtRemisionesRelacionadas, SeCancelaRemisionProceso:=SeCancelaRemisionProceso,
|
||||
|
||||
@@ -6207,6 +6207,11 @@
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:Label ID="LbCancelarDescripcion" runat="server"></asp:Label>
|
||||
</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>
|
||||
@@ -6228,7 +6233,7 @@
|
||||
</div>
|
||||
<div id="DivDevAlm" runat="server" class="row" visible="false">
|
||||
<h5>
|
||||
<asp:CheckBox ID="ChkDevAlm" runat="server" /><asp:Label ID="LblDevAlm" Text="Devolución Almacen" runat="server"></asp:Label>
|
||||
<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>
|
||||
|
||||
@@ -10930,8 +10930,10 @@ Partial Class Ventas
|
||||
|
||||
End If
|
||||
|
||||
'TRASPASA PAGADO (ObjFacturaNC.Pagado > 0) AndAlso
|
||||
If ObjFactura.TipoDocto.Contiene("Ing", "Ant") AndAlso ObjFactura.NuevaFactura = 1 Then
|
||||
Dim ModalidadRefacturacion As Integer = UsuarioActual.Empresa.Funcionalidad(586).ToEntero()
|
||||
|
||||
'REFACTURACION CON PAGOS, DEBE CANCELAR SALDOS DEL DOCUMENTO ANTERIOR Y TRASPASAR PAGOS AL NUEVO
|
||||
If ModalidadRefacturacion = 2 AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Ant") AndAlso ObjFactura.NuevaFactura = 1 Then
|
||||
If Not ObjConta.TraspasarSaldosPrePolizasRefacturacion(ObjFacturaNC.CveVenta, ObjFactura.CveVenta, ObjFactura.CvePrePoliza, CvePlantilaPoliza, UsuarioActual.CveEmpresa) Then
|
||||
ErrorList.Add("Ocurrió un error al agregar la bitacora de Póliza Virtual.")
|
||||
End If
|
||||
@@ -16829,7 +16831,6 @@ Partial Class Ventas
|
||||
Private Sub BtnNuevaFactura_Click(sender As Object, e As EventArgs) Handles LkRefacturacion.Click
|
||||
'Nos vamos a la nueva factura
|
||||
Dim script As String = ""
|
||||
|
||||
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Dev", "Egs") Then
|
||||
Dim sb As New StringBuilder()
|
||||
|
||||
@@ -18983,6 +18984,24 @@ Partial Class Ventas
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub MostrarCondicionesCancelacion()
|
||||
Dim SbCondiciones As New StringBuilder()
|
||||
|
||||
If VentaSaldoAlmacen < 0 AndAlso ChkDevAlm.Checked Then
|
||||
SbCondiciones.Append("<b>*Se realizará una devolución en automatico al realizar la cancelación.</b>")
|
||||
End If
|
||||
|
||||
If GvRemisiones.Rows.Count > 0 AndAlso Not DivCanRem.Visible AndAlso Not AplicaCancelarRemision Then
|
||||
SbCondiciones.Append("<br><br><b>*No se puede cancelar las remisiones ligadas a la factura, esto puede deberse por los siguientes motivo:</b>")
|
||||
SbCondiciones.Append("<br><b> -La remisión no está facturada al 100%.</b>")
|
||||
SbCondiciones.Append("<br><b> -La remisión está relacionada con otra factura.</b>")
|
||||
End If
|
||||
|
||||
LbCancelarDescripcion.Text = SbCondiciones.ToString()
|
||||
|
||||
UpCancelarDocumento.Update()
|
||||
End Sub
|
||||
|
||||
Private Sub LbCancelarDocumento_Click(sender As Object, e As EventArgs) Handles LbCancelarDocumento.Click
|
||||
|
||||
'If VentaSaldoAlmacen <> 0 Then
|
||||
@@ -19020,6 +19039,7 @@ Partial Class Ventas
|
||||
sb.Append("Está seguro de cancelar el documento?.")
|
||||
|
||||
LblCancelarDocumento.Text = sb.ToString()
|
||||
MostrarCondicionesCancelacion()
|
||||
|
||||
RegistraScript("$('#ModalCancelarDocumento').modal();")
|
||||
UpCancelarDocumento.Update()
|
||||
@@ -19029,6 +19049,9 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
End Sub
|
||||
Protected Sub ChkDevAlm_CheckedChanged(sender As Object, e As EventArgs)
|
||||
MostrarCondicionesCancelacion()
|
||||
End Sub
|
||||
Protected Sub BtnCancelarDocumento_Click(sender As Object, e As EventArgs)
|
||||
CancelarDocumento()
|
||||
RegistraScript("$('#ModalCancelarDocumento').modal('hide');")
|
||||
@@ -23427,7 +23450,7 @@ Partial Class Ventas
|
||||
Else
|
||||
DivGvCancelarRemision.Visible = False
|
||||
End If
|
||||
UpCancelarDocumento.Update()
|
||||
MostrarCondicionesCancelacion()
|
||||
End Sub
|
||||
Private Sub LnkRemisiones_Click(sender As Object, e As EventArgs) Handles LnkRemisiones.Click
|
||||
Dim ObjContratos As New ClsContratos
|
||||
@@ -24532,7 +24555,7 @@ Partial Class Ventas
|
||||
Dim CveEstatusAutorizacion As Integer = RowVenta("CveEstatusFactura").ToString().ToEntero()
|
||||
'SI LA AUTORIZACION ESTA REMISIONADA NO DEBE REMISIONAR DE NUEVO
|
||||
If CveEstatusAutorizacion = 18 Then
|
||||
Alert("La autorización ya esta remisionada")
|
||||
Alert("La autorización ya está remisionada")
|
||||
Exit Sub
|
||||
End If
|
||||
Else
|
||||
@@ -25284,4 +25307,5 @@ Partial Class Ventas
|
||||
Public PU As Decimal = 0
|
||||
Public EsPUModificado As Boolean = False
|
||||
End Class
|
||||
|
||||
End Class
|
||||
@@ -48,6 +48,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user