diff --git a/Acumuladores/CatFoliosGarantia.aspx.vb b/Acumuladores/CatFoliosGarantia.aspx.vb
index ef11572db..e2b64d68d 100644
--- a/Acumuladores/CatFoliosGarantia.aspx.vb
+++ b/Acumuladores/CatFoliosGarantia.aspx.vb
@@ -197,8 +197,10 @@ Partial Class Acumuladores_CatFoliosGarantia
DdlSubProyectos.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyectos.DataBind()
DdlSubProyectos.Items.Insert(0, New ListItem("Todos", "-1"))
- DdlSubProyectos.SelectedValueExist(GvRow.DataKey("CveSubProyecto").ToEntero)
-
+ DdlSubProyectos.SelectedValueExist(GvRow.DataKey("CveSubProyecto").ToEntero)
+
+ DdlArea.SelectedValueExist(GvRow.DataKey("Area"))
+
BtnAgregarFolioGarantiaModal.Text = "Actualizar"
UpModalFolioGarantia.Update()
diff --git a/App_Code/ClsAcumuladores.vb b/App_Code/ClsAcumuladores.vb
index 505fc7eb3..7bed46456 100644
--- a/App_Code/ClsAcumuladores.vb
+++ b/App_Code/ClsAcumuladores.vb
@@ -7,10 +7,10 @@ Imports Extensiones
Public Class ClsAcumuladores
- Implements IDisposable
-
+ Implements IDisposable
+
#Region "Campos"
- 'SQL
+ 'SQL
Private SqlConexion As SqlConnection
Private SqlAdapter As SqlDataAdapter
Private SqlTransacc As SqlTransaction
@@ -68,9 +68,9 @@ Public Class ClsAcumuladores
SqlAdapter = New SqlDataAdapter("", SqlConexion)
ConexionAdd()
- End Sub
+ End Sub
#Region "Conexiones"
-
+
Private Sub ConexionAdd()
If Not EsTransaccionCompartida AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then
Try
@@ -103,18 +103,18 @@ Public Class ClsAcumuladores
CveConexion = 0
End If
- End Sub
+ End Sub
#End Region
Public ReadOnly Property DtResultados() As DataTable
Get
DtResultados = Data
End Get
- End Property
-
+ End Property
+
#End Region
-
+
#Region " TAMAÑOS "
-
+
Public Function TamañoGet(CveTamaño As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -270,13 +270,13 @@ Public Class ClsAcumuladores
Return retorno
- End Function
-
-
+ End Function
+
+
#End Region
-
+
#Region " TIPOS DEFECTO "
-
+
Public Function TiposDefectoGet(CveTipoDefecto As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -375,12 +375,12 @@ Public Class ClsAcumuladores
End Try
Return Retorno
- End Function
-
+ End Function
+
#End Region
-
+
#Region " TIPOS USO "
-
+
Public Function TiposUsoGet(CveTipoUso As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -479,12 +479,12 @@ Public Class ClsAcumuladores
End Try
Return Retorno
- End Function
-
+ End Function
+
#End Region
-
+
#Region " FOLIOS GARANTÍA "
-
+
Public Function FoliosGarantiaGet(CveFolioGarantia As Integer, CveEmpresa As Integer, Optional Estatus As Integer = -1, Optional CveSubProyecto As Integer = -1, Optional TipoFolio As String = "-1", Optional Area As Integer = 1) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -557,7 +557,7 @@ Public Class ClsAcumuladores
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@TipoFolio", SqlDbType.VarChar).Value = TipoFolio
- .Add("@Limite", SqlDbType.Int).Value = Limite
+ .Add("@Limite", SqlDbType.Int).Value = Limite
.Add("@Area", SqlDbType.Int).Value = Area
End With
@@ -723,12 +723,12 @@ Public Class ClsAcumuladores
End Try
Return Retorno
- End Function
-
+ End Function
+
#End Region
-
+
#Region "GARANTIAS DETALLES"
-
+
Public Function AddGarantiasDetalle(CveVentaDetalle As Integer, CvePS As Integer, CveFolioGarantia As Integer, CveTipoUso As Integer,
CodigoEnsamble As String, CodigoLinea As String, CodigoInspeccion As String,
CveTipoDefecto As Integer, CodigoTD As String, TipoComprobante As Integer, Comprobante As String, Importe As Double,
@@ -833,12 +833,12 @@ Public Class ClsAcumuladores
OnError("Ocurrió un error a eliminar de garantia.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
- End Function
-
-
-
+ End Function
+
+
+
#End Region
-
+
#Region "P O L I Z A - V I R T U A L"
Public Function AddPolizaVirtual(CveVenta As Integer, CveVentaDetalle As Integer, CvePS As Integer, Cantidad As Decimal, PU As Decimal, Descuento As Decimal, Total As Decimal,
TipoServicio As Integer, TipoPoliza As Integer, CveModeloAuto As Integer, AnioVehiculo As Integer, TieneUsado As Boolean, FechaUsado As DateTime,
@@ -1397,7 +1397,7 @@ Public Class ClsAcumuladores
ConexionClose()
Dispose(True)
GC.SuppressFinalize(Me)
- End Sub
+ End Sub
#End Region
-
+
End Class
diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb
index 0ae7b54da..b991a40a3 100644
--- a/App_Code/ClsClientes.vb
+++ b/App_Code/ClsClientes.vb
@@ -1338,13 +1338,14 @@ Public Class ClsClientes
Return Retorno
End Function
- Public Function GetVentasRemisionesPagos(CveCliente As Integer, Ventas As String) As Boolean
+ Public Function GetVentasRemisionesPagos(CveCliente As Integer, Ventas As String, Optional TipoDocto As String = "Rem") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasRemisionesPagos")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@Ventas", SqlDbType.VarChar).Value = Ventas
+ .Add("@TipoDocto", SqlDbType.VarChar).Value = TipoDocto
End With
Try
diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb
index a97e3fa58..776036e64 100644
--- a/App_Code/Modelos.vb
+++ b/App_Code/Modelos.vb
@@ -654,6 +654,7 @@ Namespace Modelos
End If
End Sub
Public Class MMensajeFactura
+ Public Property Factura As Modelos.Factura
Sub New()
CveVenta = -1
LigaCliente = ""
@@ -1097,7 +1098,7 @@ Namespace Modelos
End If
'MENSAJE PRINCIPAL
- MensajeAlert.AppendFormat(String.Format("
La {0}: {1} se generó correctamente.
", Me.TipoDocumento, Me.SerieFolio))
+ MensajeAlert.AppendFormat(String.Format("
La {0}: {1} se generó correctamente.
", If(Me.TipoDocumento = "Ingresos", "Factura", Me.TipoDocumento), Me.SerieFolio))
' DESCARGA XML - SI SE TIMBRA MANDA CORREO CON FACTURA
@@ -1131,8 +1132,10 @@ Namespace Modelos
End If
'ERROR DE NO TIMBRADO
- If Not SeTimbro And (Me.TipoDocto = "Ing" Or Me.TipoDocto.Contiene("Egs", "Dev") Or Me.TipoDocto = "Ant") Then
- MensajeAlert.AppendFormat("La factura no se pudo timbrar. Por favor intentelo de nuevo a traves del boton Emitir.")
+ If Timbrar Then
+ If Not SeTimbro And (Me.TipoDocto = "Ing" Or Me.TipoDocto.Contiene("Egs", "Dev") Or Me.TipoDocto = "Ant") Then
+ MensajeAlert.AppendFormat("La factura no se pudo timbrar. Por favor intentelo de nuevo a traves del boton Emitir.")
+ End If
End If
'ERROR DE NO TIMBRADO NC
@@ -3031,9 +3034,67 @@ Namespace Modelos
Private Function ProcesoPrepolizas(ObjFactura As Factura, ByRef ObjConta As ClsContabilidad, CveIE As Integer, TmpDTDetalle As DataTable,
Optional ValorMultiplicador As Integer = 1, ByRef Optional ObjBancos As ClsBancos = Nothing, ByRef Optional ObjVentas As ClsVentas = Nothing, ByRef Optional ObjEventos As ClsOIEventos = Nothing,
Optional ByRef DtRemisionesRelacionadas As DataTable = Nothing, Optional SeCancelaRemisionProceso As Boolean = False, Optional CancelarRemisiones As Boolean = False, Optional ListaRemisionesCancelar As List(Of Integer) = Nothing,
- Optional CveEstatusRefacturacion As Integer = 0, Optional ByRef ObjInventario As ClsInventarios = Nothing, Optional FechaCancelacion As DateTime = MinFecha) As Boolean
+ Optional CveEstatusRefacturacion As Integer = 0, Optional ByRef ObjInventario As ClsInventarios = Nothing, Optional FechaCancelacion As DateTime = MinFecha, Optional ObjClientes As ClsClientes = Nothing,
+ Optional AplicaCancelacionConPagos As Boolean = False) As Boolean
Dim ErrorPrepoliza As Boolean = False
Try
+
+ If ObjFactura.TipoDocto.Contiene("Ing", "Rem") AndAlso AplicaCancelacionConPagos AndAlso ValorMultiplicador = -1 Then
+ Dim DtPagosVenta As DataTable = Nothing
+
+ If ObjClientes IsNot Nothing Then
+ If ObjClientes.GetVentasRemisionesPagos(CveCliente, Me.CveVenta.ToString(), ObjFactura.TipoDocto) Then
+ DtPagosVenta = ObjClientes.DtResultados.Copy()
+ Else
+ ErrorPrepoliza = True
+ End If
+ Else
+ ErrorPrepoliza = True
+ End If
+
+ 'CANCELAR PAGO DE INGRESO
+ If Not ErrorPrepoliza AndAlso DtPagosVenta IsNot Nothing Then
+
+ Dim VentaActual As New ClsPaginas.Venta(ObjFactura, UsuarioActual)
+
+ For Each DrPago As DataRow In DtPagosVenta.Rows
+
+ 'SI ES PAGO DE BANCOS, CANCELAR EL IE
+ If DrPago("TipoPago").ToString() = "B" Then
+ ErrorPrepoliza = ObjBancos.CancelarBancos_IE(UsuarioActual.CveUsuario, DrPago("CveIE").ToString().ToEntero(), False, -1, -1, Now) <= 0
+ Else
+ 'RESTAR SALDOS APLICADOS
+ Dim Importe As Decimal = DrPago("Importe").ToString().ToDecimal() * -1
+
+ Dim Pago As New ClsPaginas.VentaPago
+ Pago.Fecha = Now
+ Pago.FechaDocumentoRelacionado = DrPago("FechaDocumento").ToString().ToDate
+ Pago.ImportePagoVenta = Importe
+ Pago.ImportePago = Importe
+ Pago.CveIE = DrPago("CveIE").ToString().ToEntero()
+ Pago.CveMonedaPago = DrPago("CveMoneda").ToString().ToEntero()
+ Pago.TCPago = DrPago("TipoCambio").ToString().ToDecimal()
+ Pago.AplicaTraslado = False
+ Pago.Referencia = DrPago("Folio").ToString()
+ Pago.CveVentaAmortizacion = DrPago("CveVenta").ToString().ToEntero()
+ Pago.TipoPago = DrPago("TipoPago").ToString()
+ Pago.CveClientePago = ObjFactura.CveCliente
+
+ ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(VentaActual, Pago, ObjFactura.CvePrePoliza, ObjConta, AplicarConceptoAplicacion:=True)
+ End If
+
+ If ErrorPrepoliza Then
+ Exit For
+ End If
+ Next
+ End If
+
+
+ If ErrorPrepoliza Then
+ Return ErrorPrepoliza
+ End If
+ End If
+
Dim DT As DataTable
Dim CvePlantilaPoliza As Integer
Dim PorcentajeAmortizacion As Decimal = 0
@@ -4206,6 +4267,7 @@ Namespace Modelos
'REGRESA SALDO A LAS REMISIONES QUE SE FACTURARON EN EL INGRESO QUE SE ESTA CANCELANDO
'SE DEBE DE EXCLUIR CUANDO ES REFACTURACIÓN
If ObjFactura.TipoDocto = "Ing" And ValorMultiplicador = -1 AndAlso CveEstatusRefacturacion = 0 AndAlso Not SeCancelaRemisionProceso AndAlso DtRemisionesRelacionadas IsNot Nothing Then ' se debe de excluir cuando es refacturación
+
For Each Dr As DataRow In DtRemisionesRelacionadas.Rows
Dim DebeCancelar As Boolean = CancelarRemisiones AndAlso ListaRemisionesCancelar.Any(Function(CveRemision) CveRemision = Dr("CveVenta").ToString.ToEntero())
@@ -5427,7 +5489,7 @@ Namespace Modelos
'''
'''
'''
- Public Function EjecutarCancelacionPendiente(CveEstatus As Integer, FechaCancelacion As DateTime, AcuseCancelacion As String, Optional ValidarSAT As Boolean = True) As MCancelacionVentaMensaje
+ Public Function EjecutarCancelacionPendiente(CveEstatus As Integer, FechaCancelacion As DateTime, AcuseCancelacion As String, Optional ValidarSAT As Boolean = True, Optional AplicaCancelacionConPagos As Boolean = False) As MCancelacionVentaMensaje
Dim ListaRemisionesCancelar As New List(Of Integer)
Dim ObjVentas As New ClsVentas()
If ObjVentas.GetRemisionesXCancelar(Me.CveVenta) Then
@@ -5437,7 +5499,7 @@ Namespace Modelos
End If
ObjVentas.Dispose()
- Return CancelarVenta(Me, Me.UsuarioActual, RealizarDevolucionAlmacen:=Me.RealizarDevolucionAlmacen, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveEstatusFacturaAsignado:=CveEstatus, FechaCancelacion:=FechaCancelacion.ToString("dd/MM/yyyy hh:mm:ss"), AcuseCancelacion:=AcuseCancelacion, CveMotivoCancelacion:=Me.CveMotivoCancelacion, MotivoCancelacion:=Me.MotivoCancelacion, ValidarSAT:=ValidarSAT)
+ Return CancelarVenta(Me, Me.UsuarioActual, RealizarDevolucionAlmacen:=Me.RealizarDevolucionAlmacen, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveEstatusFacturaAsignado:=CveEstatus, FechaCancelacion:=FechaCancelacion.ToString("dd/MM/yyyy hh:mm:ss"), AcuseCancelacion:=AcuseCancelacion, CveMotivoCancelacion:=Me.CveMotivoCancelacion, MotivoCancelacion:=Me.MotivoCancelacion, ValidarSAT:=ValidarSAT, AplicaCancelacionConPagos:=AplicaCancelacionConPagos)
End Function
'''
''' Cancela la factura para poder realizar la refacturacion
@@ -5452,15 +5514,16 @@ Namespace Modelos
'''
'''
'''
- Public Function CancelarFactura(RealizarDevolucionAlmacen As Boolean, Optional ListaRemisionesCancelar As List(Of Integer) = Nothing, Optional CveMotivoCancelacion As Integer = -1, Optional Motivo As String = "", Optional ValidarSAT As Boolean = True, Optional CveEstadoCancelacion As Integer = 0, Optional CancelarBoletos As Boolean = False) As MCancelacionVentaMensaje
+ Public Function CancelarFactura(RealizarDevolucionAlmacen As Boolean, Optional ListaRemisionesCancelar As List(Of Integer) = Nothing, Optional CveMotivoCancelacion As Integer = -1, Optional Motivo As String = "", Optional ValidarSAT As Boolean = True, Optional CveEstadoCancelacion As Integer = 0, Optional CancelarBoletos As Boolean = False, Optional AplicaCancelacionConPagos As Boolean = False) As MCancelacionVentaMensaje
'Comprobante emitido con errores sin relación
- Return CancelarVenta(Me, Me.UsuarioActual, RealizarDevolucionAlmacen:=RealizarDevolucionAlmacen, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveMotivoCancelacion:=CveMotivoCancelacion, MotivoCancelacion:=Motivo, CveEstadoCancelacion:=CveEstadoCancelacion, CancelarBoletos:=CancelarBoletos)
+ Return CancelarVenta(Me, Me.UsuarioActual, RealizarDevolucionAlmacen:=RealizarDevolucionAlmacen, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveMotivoCancelacion:=CveMotivoCancelacion, MotivoCancelacion:=Motivo, CveEstadoCancelacion:=CveEstadoCancelacion, CancelarBoletos:=CancelarBoletos, AplicaCancelacionConPagos:=AplicaCancelacionConPagos)
End Function
Private Function CancelarVenta(ObjFactura As Modelos.Factura, UsuarioActual As Usuario, Optional EsRefacturacion As Boolean = False, Optional RealizarDevolucionAlmacen As Boolean = False,
Optional ListaRemisionesCancelar As List(Of Integer) = Nothing, Optional CveEstatusFacturaAsignado As Integer = -1, Optional FechaCancelacion As String = "-1",
Optional AcuseCancelacion As String = "", Optional CveMotivoCancelacion As Integer = -1, Optional MotivoCancelacion As String = "",
- Optional FolioSustitucion As String = "", Optional ValidarSAT As Boolean = True, Optional CveEstadoCancelacion As Integer = 0, Optional CancelarBoletos As Boolean = False) As MCancelacionVentaMensaje
+ Optional FolioSustitucion As String = "", Optional ValidarSAT As Boolean = True, Optional CveEstadoCancelacion As Integer = 0,
+ Optional CancelarBoletos As Boolean = False, Optional AplicaCancelacionConPagos As Boolean = False) As MCancelacionVentaMensaje
Dim Retorno As New MCancelacionVentaMensaje()
Dim ErrorList As New List(Of String)
@@ -5519,7 +5582,7 @@ Namespace Modelos
End If
'VALIDA QUE LA FACTURA NO TENGA PAGOS
- If Not AplicaRefacturacionConPagos AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Rem") AndAlso ObjFactura.Pagado > 0 Then
+ If Not AplicaRefacturacionConPagos AndAlso Not AplicaCancelacionConPagos 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
@@ -5922,6 +5985,7 @@ Namespace Modelos
Dim ObjContrato As New ClsContratos(ObjVentas.IniciaTransacSQL())
Dim ObjEventos As New ClsOIEventos(ObjVentas.IniciaTransacSQL())
Dim ObjAcum As New ClsAcumuladores(ObjVentas.IniciaTransacSQL())
+ Dim ObjClientes As New ClsClientes(ObjVentas.IniciaTransacSQL())
Try
If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
@@ -5933,7 +5997,7 @@ Namespace Modelos
End If
'CUANDO LA CANCELACION ESTA EN PROCESO NO DEBE REALIZAR NADA DE ESTE PROCESO
- If Not AplicaRefacturacionConPagos AndAlso ((((ObjFactura.Saldo > 0 AndAlso (CveEstatus > 0 AndAlso Not CveEstatus.Contiene(20, 23))) 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 Not CveEstatus.Contiene(20, 23)))) Then
+ If Not AplicaRefacturacionConPagos AndAlso (((((ObjFactura.Saldo > 0 OrElse AplicaCancelacionConPagos) AndAlso (CveEstatus > 0 AndAlso Not CveEstatus.Contiene(20, 23))) 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 Not CveEstatus.Contiene(20, 23)))) Then
'CUANDO SE CANCELA, LA PÓLIZA DEBE DE SER DE DIARIO
CvePrePoliza = ObjConta.AddPrePolizas("Modelos/CancelarDocumento", CvePlantillaPoliza, ObjFactura.Total, ObjFactura.Total, ObjFactura.CveMoneda, CancelacionFecha, ObjFactura.Cliente.Nombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3, TipoContable:=ObjFactura.TipoContable)
@@ -5957,7 +6021,8 @@ Namespace Modelos
'CANCELA PREPOLIZA
If Not ErrorCancelar Then
ErrorCancelar = ProcesoPrepolizas(ObjFactura, ObjConta, -1, ObjFactura.DtDetalle, -1, ObjBancos, ObjVentas, ObjEventos, DtRemisionesRelacionadas:=DtRemisionesRelacionadas, SeCancelaRemisionProceso:=SeCancelaRemisionProceso,
- CancelarRemisiones:=CancelarRemisiones, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveEstatusRefacturacion:=CveEstatusRefacturacion, ObjInventario:=ObjInventario, FechaCancelacion:=CancelacionFecha)
+ CancelarRemisiones:=CancelarRemisiones, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveEstatusRefacturacion:=CveEstatusRefacturacion, ObjInventario:=ObjInventario, FechaCancelacion:=CancelacionFecha,
+ ObjClientes:=ObjClientes, AplicaCancelacionConPagos:=AplicaCancelacionConPagos)
MensajeError = "Ocurrió un error al generar la prepoliza de cancelación."
End If
diff --git a/Empresas/119/Formatos/RepIVA.rpt b/Empresas/119/Formatos/RepIVA.rpt
index 214b40af6..dac02e363 100644
Binary files a/Empresas/119/Formatos/RepIVA.rpt and b/Empresas/119/Formatos/RepIVA.rpt differ
diff --git a/Empresas/186/Formatos/TrasladoAngeles.rdlc b/Empresas/186/Formatos/TrasladoAngeles.rdlc
index 5879f7fec..d42c8d3da 100644
--- a/Empresas/186/Formatos/TrasladoAngeles.rdlc
+++ b/Empresas/186/Formatos/TrasladoAngeles.rdlc
@@ -780,7 +780,6 @@
=IIf(rownumber(nothing) = 1, "2pt", "0pt")
- true
@@ -1588,7 +1587,7 @@
- 0.33542cm
+ 0.2825cm
@@ -1972,7 +1971,7 @@
DsInventarios
0.14111cm
0.10068cm
- 3.1562cm
+ 3.10328cm
25.45761cm
+
+ 4.79214cm
+ 0.10068cm
+ 0cm
+ 25.72414cm
+ 2
+
+
+
+
1.88667in
@@ -2055,7 +2066,7 @@
10.19535in
- 4.44499cm
+ 4.55082cm
true
true
@@ -2544,7 +2555,7 @@ Municipio y/o Delegación:
Textbox7
2.32101cm
0.13678cm
- 2.12398cm
+ 2.05342cm
20.93288cm
9
- 3.8269cm
+ 2.5569cm
true
true
@@ -2588,7 +2599,7 @@ Municipio y/o Delegación:
Textbox21
- 1.37766cm
+ 0.74266cm
5.68986cm
0.50243cm
5.79375cm
@@ -2624,7 +2635,7 @@ Municipio y/o Delegación:
Textbox21
- 1.37766cm
+ 0.74266cm
14.40467cm
0.50243cm
5.78664cm
@@ -2675,9 +2686,9 @@ Municipio y/o Delegación:
Textbox21
- 1.66375cm
+ 1.02875cm
5.69781cm
- 1.2cm
+ 0.82958cm
5.78664cm
2
@@ -2726,9 +2737,9 @@ Municipio y/o Delegación:
Textbox21
- 1.6632cm
+ 1.0282cm
14.41177cm
- 1.2cm
+ 0.82958cm
5.78664cm
3
@@ -2763,7 +2774,7 @@ Municipio y/o Delegación:
Textbox22
- 0.07331cm
+ 0.04156cm
5.69781cm
0.6cm
5.78664cm
@@ -2800,7 +2811,7 @@ Municipio y/o Delegación:
Textbox22
- 0.07331cm
+ 0.04156cm
14.41177cm
0.6cm
5.78664cm
@@ -2835,7 +2846,7 @@ Municipio y/o Delegación:
Textbox21
- 0.45106cm
+ 0.41931cm
10.04017cm
0.63528cm
5.78664cm
@@ -2886,9 +2897,9 @@ Municipio y/o Delegación:
Textbox21
- 1.6632cm
+ 1.0282cm
10.04727cm
- 1.2cm
+ 0.82958cm
5.78664cm
7
@@ -2923,7 +2934,7 @@ Municipio y/o Delegación:
Textbox22
- 0.07331cm
+ 0.04156cm
10.04727cm
0.6cm
5.78664cm
@@ -2971,7 +2982,7 @@ Municipio y/o Delegación:
Textbox29
- 3.40709cm
+ 2.13709cm
0.10068cm
0.41981cm
5.78083cm
@@ -3009,7 +3020,7 @@ Municipio y/o Delegación:
Textbox31
- 3.40709cm
+ 2.13709cm
11.33129cm
0.41981cm
5.13762cm
@@ -3035,23 +3046,12 @@ Municipio y/o Delegación:
-
- 0.13678cm
- 0cm
- 25.72414cm
- 12
-
-
-
-
- 3.26597cm
+ 1.99597cm
0.10068cm
0cm
25.76024cm
- 13
+ 12
@@ -3077,11 +3077,11 @@ Municipio y/o Delegación:
Textbox10
- 3.40709cm
+ 2.13709cm
23.00537cm
0.41981cm
2.55292cm
- 14
+ 13
diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb
index 47dc52e56..9db0e3af6 100644
--- a/Inventarios/EntregaAlmacen.aspx.vb
+++ b/Inventarios/EntregaAlmacen.aspx.vb
@@ -695,7 +695,7 @@ Partial Class Inventarios_EntregaAlmacen
TipoMovimiento = If(TipoDocto.Contiene({"Rem", "Ped", "Ing", "Ped", "PeC", "Ant"}) And (EsDevolucionVenta = 0 Or CveVentaAD > 0), 1, 2)
If UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 AndAlso TipoDocto.Contiene("Ped", "Ing") Then
- TxtObservaciones.Text = $"Dr. {drE("Medico").ToString}{vbCrLf}Cx. {drE("Procedimiento").ToString}{vbCrLf}F. Cirugía {drE("FechaEjecucion").ToString.ToDateTime.ToString("dd/MM/yyyy HH:mm")}{vbCrLf}H. {drE("Sucursal").ToString}{vbCrLf}"
+ TxtObservaciones.Text = $"Dr. {drE("Medico").ToString}{vbCrLf}Cx. {drE("Procedimiento").ToString}{vbCrLf}F. Cirugía {drE("FechaParaSurtir").ToString.ToDateTime.ToString("dd/MM/yyyy HH:mm")}{vbCrLf}H. {drE("Sucursal").ToString}{vbCrLf}"
TxtObservaciones.Rows = 4
End If
@@ -2258,8 +2258,22 @@ Partial Class Inventarios_EntregaAlmacen
If ObjInventario.GetExistenciasPSXML(StrXML.ToString(), DdlAlmacen.SelectedValue.ToEntero(), TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveSubProyecto, CveVendedor, If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), If(TipoEntrega = 2, 1, -1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
If ObjInventario.DtResultados.Rows.Count > 0 Then
TieneErrorExistencia = True
- For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- TextoError.AppendFormat(" - {0} Existencia: {1:#,##0.##}
", Dr("CodigoPS"), Dr("Existencia"))
+ For Each Dr As DataRow In ObjInventario.DtResultados.Rows
+
+ Dim SerieLoteCaducidad As String = ","
+ If Dr("Serie").ToString.Trim.Length > 0 AndAlso Dr("Serie").ToString.Trim <> "-1" Then
+ SerieLoteCaducidad = $" Serie: { Dr("Serie").ToString.Trim}"
+ End If
+ If Dr("Lote").ToString.Trim.Length > 0 AndAlso Dr("Lote").ToString.Trim <> "-1" Then
+ SerieLoteCaducidad = $"{SerieLoteCaducidad} Lote: {Dr("Lote").ToString.Trim}"
+ End If
+ If Dr("FechaCaducidad").ToString.Trim.Length > 0 AndAlso Dr("FechaCaducidad").ToString.Trim <> "-1" Then
+ SerieLoteCaducidad = $"{SerieLoteCaducidad} Caducidad: { Dr("FechaCaducidad").ToString.Trim.ToDate.ToString("dd/MM/yyyy")}"
+ End If
+
+ TextoError.AppendFormat(" - {0} Existencia: {1:#,##0.##} {2}
", Dr("CodigoPS"), Dr("Existencia"), If(SerieLoteCaducidad <> ",", SerieLoteCaducidad, ""))
+
+
Next
End If
Else
diff --git a/Ventas/PVCobranza.aspx.vb b/Ventas/PVCobranza.aspx.vb
index 5d2e39164..da99bde02 100644
--- a/Ventas/PVCobranza.aspx.vb
+++ b/Ventas/PVCobranza.aspx.vb
@@ -397,7 +397,7 @@ Partial Class Ventas_PVCobranza
If DbRowVenta IsNot Nothing Then
Dim VentaActual As New Venta(UsuarioActual)
VentaActual.CveVenta = CveVenta
-
+ VentaActual.TipoDocto = DbRowVenta("TipoDocto").ToString
VentaActual.Fecha = DbRowVenta("Fecha").ToString.ToDate
VentaActual.CveCliente = DbRowVenta("CveCliente").ToString.ToEntero
VentaActual.CveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero
@@ -422,10 +422,30 @@ Partial Class Ventas_PVCobranza
Dim SaldoTotalInicial As Decimal = DbRowVenta("Saldo").ToString.ToDecimal
Dim PagoAplicado As Decimal = 0
- Dim ObjConta As New ClsContabilidad
- Dim ObjIE As New ClsBancos(ObjConta.IniciaTransacSQL())
- Dim ObjVentas2 As New ClsVentas(ObjConta.IniciaTransacSQL())
+ Dim ObjVentas2 As New ClsVentas()
+ Dim ObjIE As New ClsBancos(ObjVentas2.IniciaTransacSQL())
+ Dim ObjConta As New ClsContabilidad(ObjVentas2.IniciaTransacSQL())
+ Dim ObjClientes As New ClsClientes(ObjVentas2.IniciaTransacSQL())
+
+ Dim respFactura As Modelos.Factura.MMensajeFactura = Nothing
+
Try
+ 'FACTURAR LA REMISION PARA HACER EL PAGO
+ If UsuarioActual.CveEmpresa = 193 AndAlso VentaActual.TipoDocto = "Rem" Then
+ respFactura = GenerarFactura(VentaActual, ObjVentas2, ObjClientes)
+
+ If respFactura Is Nothing Then
+ MsgError = "Ocurrío un error al generar la factura"
+ ElseIf (respFactura IsNot Nothing AndAlso respFactura.Mensajes.Count > 0) AndAlso respFactura.TieneError Then
+ MsgError = respFactura.Mensajes(0)
+ End If
+
+ 'REALIZAR EL PAGO EN LA FACTURA
+ If respFactura IsNot Nothing AndAlso Not respFactura.TieneError Then
+ CveVenta = respFactura.CveVenta
+ End If
+ End If
+
CvePrePoliza = ObjConta.AddPrePolizas("PVCobranza", 11, 0, 0, 1, Fecha, $"Pago {VentaActual.SerieFolio}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
If CvePrePoliza > 0 Then
@@ -487,21 +507,41 @@ Partial Class Ventas_PVCobranza
End Try
If MsgError = "" Then
- ObjConta.Commit()
- Alert($"Pago Registrado correctamente.
Imprimir ticket", TipoMensaje.MsgInformacion)
+ ObjVentas2.Commit()
+
+ 'SI SE GENERO FACTURA DE INGRESO, TIMBRARLA DESPUES DE REALIZAR EL PAGO
+ If respFactura IsNot Nothing Then
+ If Not respFactura.Factura.TimbrarFactura() Then
+ Alert("La factura no se pudo timbrar", TipoMensaje.MsgAdvertencia)
+ End If
+ End If
+
+ Dim msBuild As New StringBuilder()
+
+ If respFactura IsNot Nothing Then
+ msBuild.Append($"Pago Registrado correctamente.")
+ For Each m In respFactura.Mensajes
+ msBuild.AppendFormat("
{0}", m)
+ Next
+ Else
+ msBuild.Append($"Pago Registrado correctamente.
Imprimir ticket")
+ End If
+
+ Alert(msBuild.ToString(), TipoMensaje.MsgInformacion)
Else
- ObjConta.RollBack()
+ ObjVentas2.RollBack()
Alert(MsgError, TipoMensaje.MsgError)
End If
+ ObjVentas2.Dispose()
ObjConta.Dispose()
ObjIE.Dispose()
- ObjVentas2.Dispose()
+ ObjClientes.Dispose()
If MsgError = "" Then
Try
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
- ImpresionDirectaPDF(HdnCveVenta.Value.ToEntero)
+ ImpresionDirectaPDF(CveVenta)
End If
PnlContado.Visible = False
@@ -517,6 +557,113 @@ Partial Class Ventas_PVCobranza
End Sub
+ Private Function GenerarFactura(ByRef VentaRemision As Venta, ByRef ObjVentas As ClsVentas, ByRef ObjClientes As ClsClientes) As Modelos.Factura.MMensajeFactura
+ Dim Retorno As Modelos.Factura.MMensajeFactura = Nothing
+
+ Dim DtRemisiones As New DataTable
+ DtRemisiones.Columns.Add(New DataColumn("CveVenta", GetType(Integer)))
+ DtRemisiones.Columns.Add(New DataColumn("SerieFolio", GetType(String)))
+
+ DtRemisiones.Rows.Add({VentaRemision.CveVenta, VentaRemision.SerieFolio})
+
+ Dim RemisionesLista As New List(Of Integer)
+ RemisionesLista.Add(VentaRemision.CveVenta)
+
+ Dim DtRemisionesPS As New DataTable()
+ Dim DtPagosFacturaGlobal As New DataTable()
+
+ If ObjClientes.GetVentasRemisionesTotales(VentaRemision.CveCliente, VentaRemision.CveVenta.ToString(), 1) Then
+ DtRemisionesPS = ObjClientes.DtResultados.Copy()
+ End If
+
+ Dim ObjFactura = Modelos.Factura.CrearVentaNueva(UsuarioActual, VentaRemision.CveSubProyecto, VentaRemision.CveCliente, VentaRemision.CveMoneda, "Ing")
+
+ ObjFactura.RemisionesLista = RemisionesLista
+ ObjFactura.DtRemisionesPS = DtRemisionesPS
+ ObjFactura.DtRemisiones = DtRemisiones
+
+ For Each Dr As DataRow In ObjFactura.DtRemisionesPS.Rows
+ ObjFactura.AgregarPS(Dr("CvePS").ToString().ToEntero(), Dr("Cantidad").ToString().ToDecimal(), Dr("PU").ToString().ToDecimal(), Dr("Descuento").ToString().ToDecimal, Dr("Obs").ToString(), CveUM:=Dr("CveUM").ToString().ToEntero(),
+ CveProyecto:=Dr("CveProyecto").ToString().ToEntero(), CveSubProyecto:=Dr("CveSubProyecto").ToString().ToEntero(), CveVentaDetallePadre:=Dr("CveVentaDetalle").ToString().ToEntero(), CveVentaDetalleRemision:=Dr("CveVentaDetalle").ToString().ToEntero(),
+ PorcentajeIVA:=Dr("PorcentajeIVA").ToString().ToDecimal())
+ Next
+
+ ObjFactura.GenerarSalidaAlmacen = True
+ ObjFactura.DtInventario = ObjFactura.DtDetalle.FiltraParametros("CveTipoPS = 2").Copy()
+ ObjFactura.CveAlmacen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen = 1 AND CveSubProyecto = {VentaRemision.CveSubProyecto}").ToString().ToEntero()
+
+ ObjFactura.CalculaTotales()
+ ObjFactura.PreparaTimbre()
+
+ Dim SbAlert As New StringBuilder()
+
+ Try
+ Retorno = ObjFactura.EmitirFactura(False, Transac:=ObjVentas.IniciaTransacSQL(), Modulo:="Cobranza/GuardarVenta")
+ Retorno.Factura = ObjFactura
+
+ If Retorno IsNot Nothing AndAlso Retorno.CveVenta > 0 Then
+ For Each msg In Retorno.Mensajes
+ SbAlert.AppendFormat("{0}
", msg)
+ Next
+
+ SbAlert.AppendFormat("
", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", Retorno.CveVenta)))
+ Else
+ SbAlert.Append("Ocurrió un error al generar la factura")
+ End If
+ Catch ex As Exception
+ SbAlert.Append("Ocurrió un error al generar el documento")
+ GuardaLog(ex.ToString())
+ End Try
+
+ If Retorno IsNot Nothing AndAlso Retorno.Mensajes IsNot Nothing AndAlso Retorno.Mensajes.Count > 0 Then
+ Retorno.Mensajes.Clear()
+ Retorno.Mensajes.Add(SbAlert.ToString())
+
+ If Not Retorno.TieneError Then
+ 'CONVERTIR LA REMISION EN OBJETO DE FACTURA DE INGRESO, PARA HACER EL PAGO EN LA FACTURA
+ VentaRemision = Nothing
+
+ If ObjVentas.GetVenta(Retorno.CveVenta, UsuarioActual.CveEmpresa) Then
+ Dim DbRowVenta = ObjVentas.DtResultados.Copy().FiltroPrimero("")
+
+ If DbRowVenta IsNot Nothing Then
+ Dim VentaActual As New Venta(UsuarioActual)
+ VentaActual.CveVenta = Retorno.CveVenta
+ VentaActual.TipoDocto = DbRowVenta("TipoDocto").ToString
+ VentaActual.Fecha = DbRowVenta("Fecha").ToString.ToDate
+ VentaActual.CveCliente = DbRowVenta("CveCliente").ToString.ToEntero
+ VentaActual.CveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero
+ VentaActual.SerieFolio = DbRowVenta("SerieFolio").ToString
+ VentaActual.ClienteNombre = DbRowVenta("ClienteNombre").ToString
+ VentaActual.TC = DbRowVenta("TipoCambio").ToString.ToDecimal
+ VentaActual.Total = DbRowVenta("Total").ToString.ToDecimal
+ VentaActual.IVA = DbRowVenta("IVA").ToString.ToDecimal
+ VentaActual.IEPS = DbRowVenta("IEPS").ToString.ToDecimal
+ VentaActual.RetIVA = DbRowVenta("RetIVA").ToString.ToDecimal
+ VentaActual.RetISR = DbRowVenta("RetISR").ToString.ToDecimal
+
+ VentaActual.PorcentajeIVA = DbRowVenta("PorcentajeIVA").ToString.ToDecimal
+ VentaActual.UsuarioActual = UsuarioActual
+ VentaActual.CveSubProyecto = DbRowVenta("CveSubProyecto").ToString.ToEntero
+
+ VentaRemision = VentaActual
+ End If
+
+ End If
+
+ End If
+ Else
+ Retorno = New Modelos.Factura.MMensajeFactura()
+ Retorno.TieneError = True
+ If SbAlert.Length = 0 Then
+ SbAlert.Append("Ocurrió un error al generar la factura")
+ End If
+ Retorno.Mensajes.Add(SbAlert.ToString())
+ End If
+
+ Return Retorno
+ End Function
+
Private Function RegistraIE(Metodo As Integer, CveBancoCuenta As Integer, ImportePago As Decimal, Fecha As Date, CvePrePoliza As Integer, VentaActual As Venta, ByRef ObjIE As ClsBancos, ByRef ObjConta As ClsContabilidad, ByRef ObjVentas As ClsVentas) As String
Dim Retorno As String = ""
Dim CveIEPago As Integer = 0
@@ -761,17 +908,25 @@ Partial Class Ventas_PVCobranza
Dim ExistePDF As Boolean = False
Dim ArchivoPDF As String = ""
+
+ Dim AplicaTicket As Boolean = ObjFactura.CveEmpresa.Contiene(190, 192)
+
If ObjFactura.TipoDocto = "Ing" Then
- ArchivoPDF = String.Format("{0}/PDF/{1}/{2}_Ticket.pdf", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
+ If AplicaTicket Then
+ ArchivoPDF = String.Format("{0}/PDF/{1}/{2}_Ticket.pdf", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
+ Else
+ ArchivoPDF = String.Format("{0}/PDF/{1}/{2}.pdf", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
+ End If
Else
ArchivoPDF = String.Format("{0}/PDF/{1}/{2}.pdf", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
End If
+
If File.Exists(ArchivoPDF) AndAlso ObjFactura.TipoDocto = "Rem" Then
ExistePDF = True
Else
'REGENERAR EL PDF
Try
- GenerarPDFVenta(CveVenta, AplicaPagare:="1", GuardarPDF:=True, RegenerarPDF:=True, DescargarArchivo:=False, EsTicket:=True)
+ GenerarPDFVenta(CveVenta, AplicaPagare:="1", GuardarPDF:=True, RegenerarPDF:=True, DescargarArchivo:=False, EsTicket:=AplicaTicket)
If File.Exists(ArchivoPDF) Then
ExistePDF = True
End If
diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx
index 53090e7fb..a2e1f750a 100644
--- a/Ventas/Ventas.aspx
+++ b/Ventas/Ventas.aspx
@@ -631,10 +631,10 @@
-
+ Tipo de Venta:
|
-
+
|
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index b3ccd8f77..ee5f66057 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -5072,7 +5072,7 @@ Partial Class Ventas
' End If
'End If
'si utiliza cortes, y cajas, no permitir cancelar de días anteriores
- If UsuarioActual.Empresa.Funcionalidad(109) = "1" AndAlso DbRowVenta("Fecha").ToString.ToDate.ToShortDateString.ToDate < Now.ToShortDateString.ToDate Then
+ If UsuarioActual.CveRol <> 1 AndAlso UsuarioActual.Empresa.Funcionalidad(109) = "1" AndAlso DbRowVenta("Fecha").ToString.ToDate.ToShortDateString.ToDate < Now.ToShortDateString.ToDate Then
LbCancelarDocumento.Visible = False
End If
End If
@@ -6173,6 +6173,10 @@ Partial Class Ventas
TxtPaciente.Enabled = False
TxtEpisodio.Enabled = False
+ TrVentasMedicas4.Visible = True
+ TxtFolioRemision.Text = DbRowVenta("Alfa1").ToString
+
+ LblTipoVenta.Text = DbRowVenta("TipoVenta").ToString
If DbRowVenta("FechaParaSurtir").ToString().ToDate() > DateTime.MinValue Then
TrVentasMedicas2.Visible = True
@@ -6181,12 +6185,9 @@ Partial Class Ventas
TxtFechaOS.Text = DbRowVenta("FechaParaSurtir").ToString().ToDateTime().ToString("yyyy-MM-dd HH:mm").Replace(" ", "T")
End If
+
End If
- If DdlTipoDocto.SelectedValue.Contiene("Ing", "Rem") Then
- TrVentasMedicas4.Visible = True
- TxtFolioRemision.Text = DbRowVenta("Alfa1").ToString
- End If
End If
End If
End Using
@@ -8612,6 +8613,9 @@ Partial Class Ventas
'If UsuarioActual.CveEmpresa = 119 Then
' e.Row.FCTextBox("TxtDescuento").Enabled = False
'End If
+
+
+
Else
'MODO NORMAL
@@ -8760,11 +8764,13 @@ Partial Class Ventas
End If
If EsVentaMedica Then
+
GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = False
- If DdlTipoComprobante.SelectedValue = "Cot" Then
+ If DdlTipoComprobante.SelectedValue = "Cot" Or RBLTipoVenta.SelectedValue.ToEntero = 1 Then
GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = True
End If
+
End If
If CveCicloComercial > 0 Then
@@ -17676,7 +17682,7 @@ Partial Class Ventas
If EsVentaMedica Then
TxtPrecio.Enabled = False
- If UsuarioActual.CveUsuario = 3986 Then
+ If UsuarioActual.CveUsuario = 3986 Or RBLTipoVenta.SelectedValue.ToEntero = 1 Then
TxtPrecio.Enabled = True
End If
@@ -22799,8 +22805,9 @@ Partial Class Ventas
End If
End If
+ TxtAtencionA.Enabled = True
-
+ UpCliente.Update()
UPPVentas.Update()
UpPS.Update()
UpCliente.Update()
@@ -23473,8 +23480,8 @@ Partial Class Ventas
' DdlCuentaTarjetaDebito.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND (CveTipoCuenta <> 1 OR TieneTerminal = 1)", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero())))
'End If
- If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
- DdlCuentaTransferencia.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0}", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero())))
+ If UsuarioActual.Empresa.Funcionalidad(109) = "1" OrElse UsuarioActual.CveEmpresa = 195 Then
+ DdlCuentaTransferencia.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta = 1", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero())))
Else
DdlCuentaTransferencia.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta <> 1", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero())))
End If
@@ -25595,7 +25602,13 @@ Partial Class Ventas
ChkDevAlm.Checked = True
End If
- resp = ObjFacturaCancelacion.CancelarFactura(ChkDevAlm.Checked, ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion)
+ Dim AplicaCancelacionConPagos As Boolean = False
+
+ If UsuarioActual.CveRol = 1 AndAlso UsuarioActual.Empresa.Funcionalidad(109) = "1" AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Rem") AndAlso Not EsRefacturacion AndAlso ObjFactura.Pagado > 0 Then
+ AplicaCancelacionConPagos = True
+ End If
+
+ resp = ObjFacturaCancelacion.CancelarFactura(ChkDevAlm.Checked, ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion, AplicaCancelacionConPagos:=AplicaCancelacionConPagos)
strMensaje.Append(resp.Mensaje)
Dim DtBonificaciones As DataTable = Nothing
@@ -37779,6 +37792,10 @@ Partial Class Ventas
AsignaAlmacenWS()
'CargaPS(-1, DdlPS)
End If
+ If RBLTipoVenta.SelectedValue.Contiene("1") Then
+ TxtPrecio.Enabled = True
+ UpPS.Update()
+ End If
RegistraScript("$('#DvModalTipoVenta').modal('hide');")
UpCliente.Update()