diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb
index c1729537e..a86e2c02a 100644
--- a/App_Code/ClsClientes.vb
+++ b/App_Code/ClsClientes.vb
@@ -111,8 +111,8 @@ Public Class ClsClientes
Public Property ExtOtros As String
Public Property CveUsoCFDI As Integer
Public Property CveRegimenFiscal As Integer
- Public Property CveFormaPago33 As Integer
- Public Property CveMetodoPago33 As Integer
+ Public Property CveFormaPago As Integer
+ Public Property CveMetodoPago As Integer
Public Property CveClienteCorporativo As String
Public Property DesglosaIEPS As Boolean
Public Property NoDesglosaIVA As Boolean
@@ -332,8 +332,6 @@ Public Class ClsClientes
_TipoPago = Data.Rows(0)("TipoPago").ToString
_FormaFacturacion = Data(0)("FormaFacturacion").ToString
_LimiteCredito = Data(0)("LimiteCredito").ToString.ToDouble
- '_NumCtaPago = Data(0)("NumCtaPago").ToString
- '_CveMetodoPago = Data(0)("CveMetodoPago").ToString.ToEntero
_AplicaFEMSA = CBool(Data(0)("AplicaFEMSA").ToString)
_FEMSA_NumSociedad = Data(0)("FEMSA_NumSociedad").ToString
_FEMSA_NumProveedor = Data(0)("FEMSA_NumProveedor").ToString
@@ -375,8 +373,8 @@ Public Class ClsClientes
_CveUsoCFDI = Data(0)("CveUsoCFDI").ToString.ToEntero
- _CveFormaPago33 = Data(0)("CveFormaPago").ToString.ToEntero
- _CveMetodoPago33 = Data(0)("CveMetodoPago").ToString.ToEntero
+ _CveFormaPago = Data(0)("CveFormaPago").ToString.ToEntero
+ _CveMetodoPago = Data(0)("CveMetodoPago").ToString.ToEntero
_CveRegimenFiscal = Data(0)("CveRegimenFiscal").ToString.ToEntero
diff --git a/App_Code/ClsMovimientos.vb b/App_Code/ClsMovimientos.vb
index 68de58744..08575e3ae 100644
--- a/App_Code/ClsMovimientos.vb
+++ b/App_Code/ClsMovimientos.vb
@@ -594,7 +594,7 @@ Public Class ClsMovimientos
Public Function GetCxPEmpresa(CveProveedor As Integer, FechaVencimientoInicio As String, FechaVencimientoFin As String, CveSubProyecto As Integer, DiasVencidos As Integer, CveUsuarioRegistro As Integer,
CveUsuarioProgramo As Integer, CveUsuarioResponsable As Integer, CveClasificacion As Integer, CveMoneda As Integer, CveTipoPagoProgramo As Integer, CveEstatusFactura As Integer,
CveAplicaNC As Integer, CveEmpresa As Integer, Optional FechaVI As String = "-1", Optional FechaVF As String = "-1", Optional CodigoProgramacion As String = "-1", Optional CveTipoProveedor As Integer = 0,
- Optional AgrupadoPorSubProyecto As Boolean = False) As Boolean
+ Optional AgrupadoPorSubProyecto As Boolean = False, Optional VerEnPesos As Boolean = False) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Banc_Proveedores")
With SqlAdapter.SelectCommand.Parameters
@@ -616,7 +616,8 @@ Public Class ClsMovimientos
.Add("@FechaVF", SqlDbType.VarChar).Value = FechaVF
.Add("@CodigoProgramacion", SqlDbType.VarChar).Value = CodigoProgramacion
.Add("@CveTipoProveedor", SqlDbType.TinyInt).Value = CveTipoProveedor
- .Add("@AgrupadoPorSubProyecto", SqlDbType.Bit).Value = AgrupadoPorSubProyecto
+ .Add("@AgrupadoPorSubProyecto", SqlDbType.Bit).Value = AgrupadoPorSubProyecto
+ .Add("@VerEnPesos", SqlDbType.Bit).Value = VerEnPesos
End With
Try
diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb
index 622e12946..b632cf800 100644
--- a/App_Code/ClsOC.vb
+++ b/App_Code/ClsOC.vb
@@ -131,6 +131,8 @@ Public Class ClsOC
End Get
End Property
+ Public Property DiasCreditoOC As Integer = 0
+
#End Region
@@ -695,6 +697,7 @@ Public Class ClsOC
CveProveedorContacto = If(Not IsDBNull(dr("CveProveedorContacto")), dr("CveProveedorContacto").ToString.ToEntero, -1)
NumRemision = dr("NumRemision").ToString
PorcentajeProntoPago = dr("PorcentajeProntoPago").ToString.ToDecimal
+ DiasCreditoOC = dr("DiasCreditoOC").ToString.ToEntero
Retorno = True
ElseIf Data.Rows.Count > 0 Then
@@ -715,7 +718,7 @@ Public Class ClsOC
Optional PorcentajeIVA As Decimal = 0.16D, Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional FechaExpiracion As Date = Nothing, Optional CveCotizacion As Integer = -1,
Optional FolioAdicional As String = "", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1,
Optional CveIEAnticipo As Integer = -1, Optional ImporteAnticipo As Decimal = 0, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional CveProveedorContacto As Integer = -1, Optional NumRemision As String = "-1",
- Optional CveColectiva As Integer = -1, Optional MetodoPago As Integer = -1, Optional CveSubProyectoEntrega As Integer = -1, Optional PorcentajeProntoPago As Decimal = 0) As Boolean
+ Optional CveColectiva As Integer = -1, Optional MetodoPago As Integer = -1, Optional CveSubProyectoEntrega As Integer = -1, Optional PorcentajeProntoPago As Decimal = 0, Optional DiasCreditoOC As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OC_OrdenesCompraAdd")
@@ -763,10 +766,13 @@ Public Class ClsOC
.Add("@MetodoPago", SqlDbType.Int).Value = MetodoPago ' 0 Contado, 1 Credito
.Add("@CveSubProyectoEntrega", SqlDbType.Int).Value = CveSubProyectoEntrega ' 0 Contado, 1 Credito
.Add("@PorcentajeProntoPago", SqlDbType.Decimal).Value = PorcentajeProntoPago
+ .Add("@DiasCreditoOC", SqlDbType.Int).Value = DiasCreditoOC
.Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output
.Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output
.Add("@vSerieFolio", SqlDbType.VarChar, 25).Direction = ParameterDirection.Output
+
+
End With
Try
@@ -929,7 +935,7 @@ Public Class ClsOC
Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional IDPoliza As Integer = -1, Optional FechaExpiracion As Date = Nothing, Optional FolioAdicional As String = "",
Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1",
Optional pCveProveedorSucursal As Integer = -1, Optional CveProveedorContacto As Integer = -1, Optional PorcentajeIVA As Decimal = 0.16D, Optional NumRemision As String = "-1", Optional MetodoPago As Integer = -1,
- Optional CveSubProyectoEntrega As Integer = -1, Optional PorcentajeProntoPago As Decimal = 0) As Boolean
+ Optional CveSubProyectoEntrega As Integer = -1, Optional PorcentajeProntoPago As Decimal = 0, Optional DiasCreditoOC As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OC_OrdenesCompraUpdate")
@@ -967,6 +973,7 @@ Public Class ClsOC
.Add("@MetodoPago", SqlDbType.Int).Value = MetodoPago ' 0 Contado, 1 Credito
.Add("@CveSubProyectoEntrega", SqlDbType.Int).Value = CveSubProyectoEntrega
.Add("@PorcentajeProntoPago", SqlDbType.Decimal).Value = PorcentajeProntoPago
+ .Add("@DiasCreditoOC", SqlDbType.Int).Value = DiasCreditoOC
End With
diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index 60ced51bc..bb81bc959 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -1142,7 +1142,7 @@ Public Class ClsVentas
Return Retorno
End Function
- Public Function UpdateCancelaVenta(CveVenta As Integer, FechaCancelacion As DateTime, SelloCancelacionSAT As String, CveEmpresa As Integer, Optional CvePAC As Integer = -1, Optional CveEstatusRefacturacion As Integer = 0, Optional EstadoCancelacion As String = "", Optional CveEstadoCancelacion As Integer = 0) As Boolean
+ Public Function UpdateCancelaVenta(CveVenta As Integer, FechaCancelacion As DateTime, SelloCancelacionSAT As String, CveEmpresa As Integer, Optional CvePAC As Integer = -1, Optional CveEstatusRefacturacion As Integer = 0, Optional EstadoCancelacion As String = "", Optional CveEstadoCancelacion As Integer = 0, Optional CveEstatusFactura As Integer = 5) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasCancelacion")
@@ -1156,6 +1156,7 @@ Public Class ClsVentas
.Add("@CveEstatusRefacturacion", SqlDbType.TinyInt).Value = CveEstatusRefacturacion
.Add("@EstadoCancelacion", SqlDbType.VarChar).Value = EstadoCancelacion
.Add("@CveEstadoCancelacion", SqlDbType.TinyInt).Value = CveEstadoCancelacion
+ .Add("@CveEstatusFactura", SqlDbType.Int).Value = CveEstatusFactura
.Add("@Cancelada", SqlDbType.SmallInt).Direction = ParameterDirection.Output
End With
diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb
index 196c9b331..1b88ed2c4 100644
--- a/App_Code/Modelos.vb
+++ b/App_Code/Modelos.vb
@@ -3574,21 +3574,6 @@ Namespace Modelos
End If
Next
- If ObjConta.ValidacionesPrePoliza(ObjFactura.CvePrePoliza, UsuarioActual, Opcion:=5) Then
- If ObjConta.ValorPolizaDescuadre > 0 Then
- ErrorPrepoliza = True
- GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas")
-
- 'SIRVE PARA VER LA PREPOLIZA QUE SE VALIDA
- 'If ObjConta.GetPrePolizasDetalle(ObjFactura.CvePrePoliza) Then
- ' Dim DtTest = ObjConta.DtResultados
- 'End If
- End If
-
- importeMovimiento = 0
- importeMX = 0
- End If
-
If ErrorPrepoliza Then
Exit For
End If
@@ -3651,15 +3636,12 @@ Namespace Modelos
End If
End If
- If ObjConta.ValidacionesPrePoliza(ObjFactura.CvePrePoliza, UsuarioActual, Opcion:=5) Then
- If ObjConta.ValorPolizaDescuadre > 0 Then
- ErrorPrepoliza = True
- GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas")
- End If
- End If
-
End If
End If
+
+ importeMovimiento = 0
+ importeMX = 0
+
End If
End If
@@ -5656,7 +5638,7 @@ Namespace Modelos
'''
'''
'''
- Public Function EjecutarCancelacionPendiente(CveEstatus As Integer, FechaCancelacion As DateTime, AcuseCancelacion As String, Optional ValidarSAT As Boolean = True, Optional CancelacionPagos As OpcionesCancelacionPagos = OpcionesCancelacionPagos.SinPagos) As MCancelacionVentaMensaje
+ Public Function EjecutarCancelacionPendiente(CveEstatus As Integer, FechaCancelacion As DateTime, AcuseCancelacion As String, Optional ValidarSAT As Boolean = True, Optional CancelacionPagos As OpcionesCancelacionPagos = OpcionesCancelacionPagos.SinPagos, Optional CvePACEspecifico As Integer = -1) As MCancelacionVentaMensaje
Dim ListaRemisionesCancelar As New List(Of Integer)
Dim ObjVentas As New ClsVentas()
If ObjVentas.GetRemisionesXCancelar(Me.CveVenta) Then
@@ -5666,7 +5648,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, CancelacionPagos:=CancelacionPagos)
+ 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, CancelacionPagos:=CancelacionPagos, CvePACEspecifico:=CvePACEspecifico)
End Function
'''
''' Cancela la factura para poder realizar la refacturacion
@@ -5681,16 +5663,18 @@ Namespace Modelos
'''
'''
'''
- Public Function CancelarFactura(RealizarDevolucionAlmacen As Integer, 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 ForzarDevolucion As Boolean = False, Optional CancelacionPagos As OpcionesCancelacionPagos = OpcionesCancelacionPagos.SinPagos) As MCancelacionVentaMensaje
+ Public Function CancelarFactura(RealizarDevolucionAlmacen As Integer, 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 ForzarDevolucion As Boolean = False, Optional CancelacionPagos As OpcionesCancelacionPagos = OpcionesCancelacionPagos.SinPagos, Optional CveEstatusFacturaAsignado As Integer = -1, Optional CvePACEspecifico As Integer = -1) 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, ForzarDevolucion:=ForzarDevolucion, CancelacionPagos:=CancelacionPagos)
+ Return CancelarVenta(Me, Me.UsuarioActual, RealizarDevolucionAlmacen:=RealizarDevolucionAlmacen, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveMotivoCancelacion:=CveMotivoCancelacion, MotivoCancelacion:=Motivo, CveEstadoCancelacion:=CveEstadoCancelacion, CancelarBoletos:=CancelarBoletos, ForzarDevolucion:=ForzarDevolucion, CancelacionPagos:=CancelacionPagos, CveEstatusFacturaAsignado:=CveEstatusFacturaAsignado, ValidarSAT:=ValidarSAT, CvePACEspecifico:=CvePACEspecifico)
End Function
Private Function CancelarVenta(ObjFactura As Modelos.Factura, UsuarioActual As Usuario, Optional EsRefacturacion As Boolean = False, Optional RealizarDevolucionAlmacen As Integer = 0,
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, Optional ForzarDevolucion As Boolean = False, Optional CancelacionPagos As OpcionesCancelacionPagos = OpcionesCancelacionPagos.SinPagos) As MCancelacionVentaMensaje
+ Optional CancelarBoletos As Boolean = False, Optional ForzarDevolucion As Boolean = False, Optional CancelacionPagos As OpcionesCancelacionPagos = OpcionesCancelacionPagos.SinPagos,
+ Optional CvePACEspecifico As Integer = -1) As MCancelacionVentaMensaje
+
Dim Retorno As New MCancelacionVentaMensaje()
Dim ErrorList As New List(Of String)
@@ -5887,6 +5871,10 @@ Namespace Modelos
CvePACCancelacion = UsuarioActual.Empresa.CvePAC
End If
+ If CvePACEspecifico > 0 Then
+ CvePACCancelacion = CvePACEspecifico
+ End If
+
Dim CveEstatus As Integer = 4
Dim IDPoliza As Integer = -1
Dim CvePrePoliza As Integer
diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb
index 224d790b2..19b3bbb23 100644
--- a/App_Code/Timbrado.vb
+++ b/App_Code/Timbrado.vb
@@ -220,9 +220,6 @@ Public Class Timbrado
'dim Error
If CvePACCancelacion = 3 Then ValidaFactura = False
- 'TEMPORAL. PARCHE PARA CANCELAR DOCUMENTOS EMITIDOS CON EL PAC 5
- If CvePACCancelacion = 5 Then CvePACCancelacion = 4
-
If Not (Empresa.Funcionalidad(529) = "1") Then
If ValidaFactura Then
Dim Vigencia As AcuseCancelacionSAT = VerificarVigenciaSAT(FolioFiscal, RFCEmisor, RFCReceptor, Total.ToString(), True)
@@ -355,7 +352,7 @@ Public Class Timbrado
Dim UsuarioServicio As String = If(CvePACCancelacion = 2, Empresa.RFC, "rene.molina@adsistemas.mx")
Dim ClaveServicio As String = If(CvePACCancelacion = 2, Empresa.RFC.ToLower, "rene2018")
Dim Clave As String = Empresa.ContraseñaKey
- Dim UrlServicio As String = "https://cfdi.gofac.com.mx/timbrado.asmx?WSDL" ' Produccion
+ Dim UrlServicio As String = "https://cfdi.gofac.com.mx/timbrado.asmx" ' Produccion
If Not Empresa.FacturaProduccion Then
ArchivoLLave = $"{Empresa.Ruta}Certificados\CSD01_ZUÑ920208KL4.key"
@@ -363,6 +360,7 @@ Public Class Timbrado
UsuarioServicio = "UserTest"
ClaveServicio = "1234567890"
+ UrlServicio = "https://servicios.gofac.com.mx/cancelacion.asmx" ' Produccion
End If
#Region "Valida"
If Not File.Exists(ArchivoCertificado) Then
@@ -522,31 +520,33 @@ Public Class Timbrado
End Select
'valida que si se halla cancelado
-
- If Retorno.Verificado Then
- Dim VigenciaExtra As AcuseCancelacionSAT = 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
+ If Not (Empresa.Funcionalidad(529) = "1") Then
+ If Retorno.Verificado Then
+ Dim VigenciaExtra As AcuseCancelacionSAT = 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
End If
+
If Not Retorno.Verificado Then
GuardaLog($"****** Error al cancelar factura ****** Estatus: {CancelacionState} | Mensaje: {CancelacionMensaje} | Mensaje SAT: {MsgCancelacion.ToString} ")
End If
@@ -993,7 +993,7 @@ Public Class Timbrado
' Retorno = If(Ret = "", True, False)
Case 3
- Retorno = TimbrarFacturaProFactV40(UsuarioActual, Ventas)
+ Retorno = TimbrarFacturaProFactv40(UsuarioActual, Ventas)
Case 4
Dim Ret As String = TimbrarFacturaGoCFDIv40(Ventas, UsuarioActual, CvePACEspecial)
If Ret <> "" Then MensajeErrorCFDI = Ret
@@ -2572,12 +2572,12 @@ concep.DescripcionesEspecificas.NumeroSerie)
If Carta.RegimenAduanero <> "" Then cfdi.CartaPorte31RegimenAduaneroCCP(Carta.RegimenAduanero)
'UBICACIONES
If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then
- For Each ubica As CFDICartaPorteUbicacion In Carta.Ubicaciones
+ For Each ubica As CFDICartaPorteUbicacion In Carta.Ubicaciones
'origen
cfdi.CartaPorte31Ubicacion(ubica.TipoUbicacion, ubica.IDUbicacion, ubica.RFCRemitenteDestinatario, ubica.NombreRemitenteDestinatario, ubica.NumRegIdTrib, ubica.ResidenciaFiscal, ubica.NumEstacion, ubica.NombreEstacion, ubica.NavegacionTrafico, ubica.FechaHoraSalidaLlegada, ubica.TipoEstacion, ubica.DistanciaRecorrida)
cfdi.CartaPorte31Domicilio(ubica.Domicilio.Calle, ubica.Domicilio.NumeroExterior, ubica.Domicilio.NumeroInterior, ubica.Domicilio.Colonia, ubica.Domicilio.Localidad, ubica.Domicilio.Referencia, ubica.Domicilio.Municipio, ubica.Domicilio.Estado, ubica.Domicilio.Pais, ubica.Domicilio.CP)
- Next
- End If
+ Next
+ End If
'MERCANCIAS
If Carta.Mercancias IsNot Nothing Then
@@ -2898,6 +2898,8 @@ concep.DescripcionesEspecificas.NumeroSerie)
UsuarioServicio = "UserTest"
ClaveServicio = "1234567890"
UsuarioActual.Empresa.CodigoRegimenFiscal = "601"
+
+ UrlServicio = "https://pruebas.gofac.com.mx/timbrado.asmx?WSDL"
End If
#Region "Valida"
@@ -2957,7 +2959,7 @@ concep.DescripcionesEspecificas.NumeroSerie)
#Region "Timbra"
If RespGeneracionXML = "" Then
- cfdi.TimbrarCfdi(UsuarioServicio, ClaveServicio, TimbraProduccion)
+ cfdi.TimbrarCfdi(UsuarioServicio, ClaveServicio, TimbraProduccion, UrlServicio)
sw.Stop()
swTiempo.AppendFormat("Timbrado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb
index ac7b0420a..a7526ef43 100644
--- a/Bancos/DepositosCaja.aspx.vb
+++ b/Bancos/DepositosCaja.aspx.vb
@@ -269,6 +269,7 @@ Partial Class Bancos_DepositosCaja
Dim CveSubProyectoIntermediario As Integer
Dim CveClasificacionIntermediario As Integer
Dim CveProveedorIntermediario As Integer = -1
+ Dim tSubProyectoDeposito As String = ""
If drOrigen IsNot Nothing Then
CveMoneda = drOrigen("CveMoneda").ToString.ToEntero
@@ -347,13 +348,13 @@ Partial Class Bancos_DepositosCaja
'se saca de la cuenta de la caja chica
CveSubProyecto = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveCuenta:=DdlCajaChica.SelectedValue.ToEntero, Estatus:=-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto").ToEntero()
End If
-
End If
+ tSubProyectoDeposito = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyecto).FiltroPrimeroValor("SubProyecto")
If FolioIE <= 0 Then
OcurrioError = True
End If
- CveIEOrigen = ObjBancos.AddBancos_IE(DdlCuentaDeposito.SelectedValue.ToEntero, CveTransaccionBanco, Fecha, FolioIE.ToString, "Depósito Bancario", TotalImporte, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveProveedorIntermediario:=CveProveedorIntermediario)
+ CveIEOrigen = ObjBancos.AddBancos_IE(DdlCuentaDeposito.SelectedValue.ToEntero, CveTransaccionBanco, Fecha, FolioIE.ToString, $"Depósito Bancario - {tSubProyectoDeposito}", TotalImporte, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveProveedorIntermediario:=CveProveedorIntermediario)
documentos += String.Format("Depósito: {1}     ", CveIEOrigen, FolioIE)
@@ -363,7 +364,7 @@ Partial Class Bancos_DepositosCaja
CveSubProyectoComision = DdlSubProyectoDeposito.SelectedValue.ToEntero
CveClasificacionComision = DdlClasificacion.SelectedValue.ToEntero
If Comision <> 0 Then
- If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Comision, Comision * TipoCambio, 78, "Depósito Bancario", "Depósito Bancario", CveClasificacion:=CveClasificacionComision, CveSubProyecto:=CveSubProyectoComision) Then
+ If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Comision, Comision * TipoCambio, 78, $"Depósito Bancario - {tSubProyectoDeposito}", $"Depósito Bancario - {tSubProyectoDeposito}", CveClasificacion:=CveClasificacionComision, CveSubProyecto:=CveSubProyectoComision) Then
OcurrioError = True
End If
End If
@@ -384,9 +385,9 @@ Partial Class Bancos_DepositosCaja
If Not OcurrioError AndAlso ChkCuentaRetorno.Checked Then
CveTransaccionBanco = 13
FolioIE = ObjBancos.GetNextFolio(DdlCajaChica.SelectedValue.ToEntero, CveTransaccionBanco)
- Dim CveIEOrigenRetorno As Integer = ObjBancos.AddBancos_IE(DdlCajaChica.SelectedValue.ToEntero, CveTransaccionBanco, Fecha, FolioIE.ToString, "Retorno Depósito Bancario", CuentaRetorno, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ Dim CveIEOrigenRetorno As Integer = ObjBancos.AddBancos_IE(DdlCajaChica.SelectedValue.ToEntero, CveTransaccionBanco, Fecha, FolioIE.ToString, $"Retorno Depósito Bancario - {tSubProyectoDeposito}", CuentaRetorno, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
- If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, CuentaRetorno, CuentaRetorno * TipoCambio, 30, "Depósito Bancario", TxtCuentaRetornoObs.Text.Trim, CveClasificacion:=CveClasificacionDescuento, CveSubProyecto:=CveSubProyecto, CveIE:=CveIEOrigenRetorno) Then
+ If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, CuentaRetorno, CuentaRetorno * TipoCambio, 30, $"Depósito Bancario - {tSubProyectoDeposito}", TxtCuentaRetornoObs.Text.Trim, CveClasificacion:=CveClasificacionDescuento, CveSubProyecto:=CveSubProyecto, CveIE:=CveIEOrigenRetorno) Then
OcurrioError = True
End If
End If
@@ -531,10 +532,8 @@ Partial Class Bancos_DepositosCaja
End If
If ObjMovtos.GetRemisionesCobranza(UsuarioActual.CveEmpresa, CveSubProyecto, FechaI, FechaF, UsuarioActual.CveUsuario) Then
- Dim dtt As DataTable = ObjMovtos.DtResultados.FiltraParametros($"CveVenta > 0 AND (CveUsuarioCobranza IS NULL OR CveUsuarioCobranza = {UsuarioActual.CveUsuario}) AND TipoDocto IN ('Ing','Rem') AND RemisionEspecial = 0")
- 'Dim Dtta As DataTable = dtt.FiltraParametros($"CveUsuarioCobranza = {UsuarioActual.CveUsuario} ")
- 'If Dtta IsNot Nothing AndAlso Dtta.Rows.Count > 0 Then dtt = Dtta
-
+ Dim dtt As DataTable = ObjMovtos.DtResultados.FiltraParametros($"CveVenta > 0 AND TipoDocto IN ('Ing','Rem') AND RemisionEspecial = 0")
+ 'deben de estar consideradas las que están en proceso de cobro, por algún otro usuario.
If dtt.Rows.Count = 0 Then
Respuesta = True
Else
@@ -543,7 +542,7 @@ Partial Class Bancos_DepositosCaja
End If
Else
- Alert("Error al consultarcobros pendientes.", TipoMensaje.MsgAdvertencia)
+ Alert("Error al consultar cobros pendientes.", TipoMensaje.MsgAdvertencia)
Respuesta = False
End If
ObjMovtos.Dispose()
diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb
index 4be15dbe9..b419b6dd1 100644
--- a/Bancos/IE.aspx.vb
+++ b/Bancos/IE.aspx.vb
@@ -951,7 +951,8 @@ Partial Class Bancos_IE
End If
End If
-
+ LblPagarA.Visible = True
+ LblPagarA.Text = ObjIE.PagueseA
If CveCliente > 0 Then
DdlCliente.SelectedText = ObjIE.PagueseA
DdlCliente.SelectedValue = CveCliente.ToString
@@ -959,9 +960,6 @@ Partial Class Bancos_IE
DdlCliente.Visible = False
DdlCliente.Enabled = False
- LblPagarA.Visible = True
- LblPagarA.Text = ObjIE.PagueseA
-
' LnkEmitirComplemento.Visible = True
ElseIf CveProveedor > 0 Then
DdlProveedores.SelectedText = ObjIE.PagueseA
@@ -969,10 +967,6 @@ Partial Class Bancos_IE
DdlProveedores.Visible = False
DdlProveedores.Enabled = False
- LblPagarA.Visible = True
- LblPagarA.Text = ObjIE.PagueseA
-
-
'Se prepara para la generacion del envio de correo con notificacion de pago
LnkEnviarMailPago.Attributes.Add("onclick", "$('#ModalDivMail').modal();")
LnkEnviarMailPago.Visible = True
@@ -984,10 +978,10 @@ Partial Class Bancos_IE
End If
'SI TIENE EL DATO DEBE MOSTRALO
- If UsuarioActual.CveEmpresa = 119 AndAlso LblPagueseA.Text = "Beneficiario" AndAlso Not String.IsNullOrEmpty(ObjIE.PagueseA) Then
- LblPagarA.Visible = True
- LblPagarA.Text = ObjIE.PagueseA
- End If
+ 'If UsuarioActual.CveEmpresa = 119 AndAlso LblPagueseA.Text = "Beneficiario" AndAlso Not String.IsNullOrEmpty(ObjIE.PagueseA) Then
+ ' LblPagarA.Visible = True
+ ' LblPagarA.Text = ObjIE.PagueseA
+ 'End If
IDPoliza = ObjIE.IDPoliza
diff --git a/Bancos/ProveedoresAbonar.aspx b/Bancos/ProveedoresAbonar.aspx
index 873bea6e1..c2daed3a9 100644
--- a/Bancos/ProveedoresAbonar.aspx
+++ b/Bancos/ProveedoresAbonar.aspx
@@ -341,9 +341,10 @@
-
-
-
+
+
+
+
@@ -477,6 +478,15 @@
<%-- 14 --%>
+
+ Moneda
+
+
+
+
+
+
+ <%-- 15 --%>
Auxiliar
@@ -601,7 +611,6 @@
var Facturas = '';
function FnSuma(t, txt, importe) {
- debugger;
var chkPesosBancos = $get("ChkPagarPesos");
var chkDolaresBancos = $get("ChkPagarDolares");
@@ -612,9 +621,9 @@
}
if (chkPesosBancos && chkPesosBancos.checked) {
- CambiaPesosDolares()
+ CambiaPesosDolares();
} else if (chkDolaresBancos && chkDolaresBancos.checked) {
- CambiaDolaresPesos()
+ CambiaDolaresPesos();
}
else {
var Suma = SumaValores();
@@ -622,7 +631,7 @@
}
}
- function SumaValores(aplicaTC) {
+ function SumaValores(aplicaTC, cveMonedaPago = 0) {
var Importe = 0;
var Comision = 0.00;
@@ -637,11 +646,43 @@
idd = textBoxes[i].id.replace('C_GvCxP_TxtAbonar_', '');
Facturas = Facturas + (Importe == 0 ? '' : ', ') + $get("C_GvCxP_HplF_" + idd).innerText;
let importeFactura = 0;
- if (aplicaTC && $get('TxtTC') != null) {
- importeFactura = parseFloat(FormatoNumero(parseFloat(textBoxes[i].value.split(',').join('')) * parseFloat($get('TxtTC').value), 2).split(',').join(''));
- } else {
- importeFactura = parseFloat(textBoxes[i].value.split(',').join(''));
+
+ if (cveMonedaPago == 0) {
+ if (aplicaTC && $get('TxtTC') != null) {
+ importeFactura = parseFloat(FormatoNumero(parseFloat(textBoxes[i].value.split(',').join('')) * parseFloat($get('TxtTC').value), 2).split(',').join(''));
+ } else {
+ importeFactura = parseFloat(textBoxes[i].value.split(',').join(''));
+ }
+ } else {
+ let cveMonedaCompra = textBoxes[i].getAttribute("cvemoneda");
+
+ switch (cveMonedaPago) {
+ case 1: //PAGO CON PESOS
+
+ //SI SON DOLARES MULTIPLICAR POR TC
+ if (cveMonedaCompra == '2') {
+ importeFactura = parseFloat(FormatoNumero(parseFloat(textBoxes[i].value.split(',').join('')) * parseFloat($get('TxtTC').value), 2).split(',').join(''));
+ //MISMA MONEDA DEBE SOLO SUMAR
+ } else if (cveMonedaCompra == '1') {
+ importeFactura = parseFloat(textBoxes[i].value.split(',').join(''));
+ }
+
+ break;
+ case 2: //PAGO CON DOLARES
+
+ //MISMA MONEDA DEBE SOLO SUMAR
+ if (cveMonedaCompra == '2') {
+ importeFactura = parseFloat(textBoxes[i].value.split(',').join(''));
+ //SI SON PESOS DIVIDIR ENTRE EL TC
+ } else if (cveMonedaCompra == '1') {
+ importeFactura = parseFloat(FormatoNumero(parseFloat(textBoxes[i].value.split(',').join('')) / parseFloat($get('TxtTC').value), 2).split(',').join(''));
+ }
+ break;
+ }
+
+
}
+
Importe = parseFloat(Importe) + importeFactura;
}
}
@@ -699,53 +740,91 @@
}
if (chkPesosBancos && chkPesosBancos.checked) {
- CambiaPesosDolares()
+ CambiaPesosDolares();
} else if (chkDolaresBancos && chkDolaresBancos.checked) {
- CambiaDolaresPesos()
+ CambiaDolaresPesos();
}
-
-
}
function CambiaPesosDolares() {
- let ImporteDolares = SumaValores(true);
+ if ('<%= Me.FiltrarCuentas.ToString() %>' == '1') {
+ let ImporteDolares = SumaValores(true);
- $get('TxtImporte').value = FormatoNumero(ImporteDolares, 2);
- $('#LtlTotalMXN').text(FormatoNumero(ImporteDolares, 2))
+ $get('TxtImporte').value = FormatoNumero(ImporteDolares, 2);
+ $('#LtlTotalMXN').text(FormatoNumero(ImporteDolares, 2))
- if ($("#LbImporteME").length) {
- $get('LbImporteME').innerHTML = '$ ' + FormatoNumero(SumaValores(false), 2) + ' USD';
- $get('TxtImporte').value = FormatoNumero(ToDouble(ImporteDolares), 2);
- $get('LtlTotalMXN').value = FormatoNumero(ToDouble(ImporteDolares), 2);
+ if ($("#LbImporteME").length) {
+ $get('LbImporteME').innerHTML = '$ ' + FormatoNumero(SumaValores(false), 2) + ' USD';
+ $get('TxtImporte').value = FormatoNumero(ToDouble(ImporteDolares), 2);
+ $get('LtlTotalMXN').value = FormatoNumero(ToDouble(ImporteDolares), 2);
+ }
+
+ if ($get('TxtTotal') != null) {
+ $get('TxtTotal').value = FormatoNumero(parseFloat($get('TxtImporte').value.replace(',', '')) + parseFloat($get('TxtOtrosImportes').value.replace(',', '') * -1), 2);
+ }
+
+ if ($get('LblImporteTotal')) $get('LblImporteTotal').innerHTML = FormatoNumero(SumaValores(), 2);
+ if ($get('LblIVA')) $get('LblIVA').innerHTML = FormatoNumero(SumaValores() - ((SumaValores() / 1.16)), 2);
+ if ($get('ChkAbonoCuenta')) $get('ChkAbonoCuenta').checked = (parseFloat($get('TxtImporte').value.replace(/,/g, '')) > 2000);
+ } else {
+ SumaDolaresPesos(1);
}
- if ($get('TxtTotal') != null) {
- $get('TxtTotal').value = FormatoNumero(parseFloat($get('TxtImporte').value.replace(',', '')) + parseFloat($get('TxtOtrosImportes').value.replace(',', '') * -1), 2);
- }
-
- if ($get('LblImporteTotal')) $get('LblImporteTotal').innerHTML = FormatoNumero(SumaValores(), 2);
- if ($get('LblIVA')) $get('LblIVA').innerHTML = FormatoNumero(SumaValores() - ((SumaValores() / 1.16)), 2);
- if ($get('ChkAbonoCuenta')) $get('ChkAbonoCuenta').checked = (parseFloat($get('TxtImporte').value.replace(/,/g, '')) > 2000);
}
function CambiaDolaresPesos() {
- debugger;
- $get('TxtImporte').value = FormatoNumero(SumaValores(), 2);
- $('#LtlTotalMXN').text(FormatoNumero(SumaValores(), 2))
+ if ('<%= Me.FiltrarCuentas.ToString() %>' == '1') {
+ $get('TxtImporte').value = FormatoNumero(SumaValores(), 2);
+ $('#LtlTotalMXN').text(FormatoNumero(SumaValores(), 2))
+
+
+ if ($("#LbImporteMN").length) {
+ $get('LbImporteMN').innerHTML = '$ ' + FormatoNumero(SumaValores(), 2) + ' MXN';
+ $get('TxtImporte').value = FormatoNumero(ToDouble($get('TxtImporte').value.replace(',', '')) / ToDouble($get('TxtTC').value), 2);
+ $get('LtlTotalMXN').value = FormatoNumero(ToDouble($get('TxtImporte').value) / ToDouble($get('TxtTC').value), 2);
+ }
+
+ if ($get('TxtTotal') != null) {
+ $get('TxtTotal').value = FormatoNumero(ToDouble($get('TxtImporte').value.replace(',', '')) + (ToDouble($get('TxtOtrosImportes').value.replace(',', '') * -1)), 2);
+ }
+
+ if ($get('LblImporteTotal')) $get('LblImporteTotal').innerHTML = FormatoNumero(SumaValores(), 2);
+ if ($get('LblIVA')) $get('LblIVA').innerHTML = FormatoNumero(SumaValores() - ((SumaValores() / 1.16)), 2);
+ if ($get('ChkAbonoCuenta')) $get('ChkAbonoCuenta').checked = (parseFloat($get('TxtImporte').value.replace(/,/g, '')) > 2000);
+ } else {
+ SumaDolaresPesos(2);
+ }
+ }
+
+ function SumaDolaresPesos(cveMonedaPago) {
+
+ let ImporteSuma = parseFloat(SumaValores(false, cveMonedaPago));
+
+ $get('TxtImporte').value = FormatoNumero(ImporteSuma, 2);
+ $('#LtlTotalMXN').text(FormatoNumero(ImporteSuma, 2))
- debugger;
if ($("#LbImporteMN").length) {
- $get('LbImporteMN').innerHTML = '$ ' + FormatoNumero(SumaValores(), 2) + ' MXN';
- $get('TxtImporte').value = FormatoNumero(ToDouble($get('TxtImporte').value.replace(',', '')) / ToDouble($get('TxtTC').value), 2);
- $get('LtlTotalMXN').value = FormatoNumero(ToDouble($get('TxtImporte').value) / ToDouble($get('TxtTC').value), 2);
+
+ $get('TxtImporte').value = FormatoNumero(ToDouble($get('TxtImporte').value.replace(',', '')), 2);
+ $get('LtlTotalMXN').value = FormatoNumero(ToDouble($get('TxtImporte').value), 2);
+
+ switch (cveMonedaPago) {
+ case 1:
+ $get('LbImporteMN').innerHTML = '$ ' + FormatoNumero(ImporteSuma, 2) + ' MXN';
+ break;
+ case 2:
+ $get('LbImporteMN').innerHTML = '$ ' + FormatoNumero(ImporteSuma, 2) + ' USD';
+ break;
+ }
+
}
if ($get('TxtTotal') != null) {
$get('TxtTotal').value = FormatoNumero(ToDouble($get('TxtImporte').value.replace(',', '')) + (ToDouble($get('TxtOtrosImportes').value.replace(',', '') * -1)), 2);
}
- if ($get('LblImporteTotal')) $get('LblImporteTotal').innerHTML = FormatoNumero(SumaValores(), 2);
- if ($get('LblIVA')) $get('LblIVA').innerHTML = FormatoNumero(SumaValores() - ((SumaValores() / 1.16)), 2);
+ if ($get('LblImporteTotal')) $get('LblImporteTotal').innerHTML = FormatoNumero(ImporteSuma, 2);
+ if ($get('LblIVA')) $get('LblIVA').innerHTML = FormatoNumero(ImporteSuma - ((ImporteSuma / 1.16)), 2);
if ($get('ChkAbonoCuenta')) $get('ChkAbonoCuenta').checked = (parseFloat($get('TxtImporte').value.replace(/,/g, '')) > 2000);
}
@@ -790,7 +869,7 @@
}
- function DescuenoMasivo(txt) {
+ function DescuenoMasivo(txt) {
$(".selDescuento").val(txt.value);
$(".selDescuento").trigger("keyup");
}
diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb
index af50a3933..288fe1d16 100644
--- a/Bancos/ProveedoresAbonar.aspx.vb
+++ b/Bancos/ProveedoresAbonar.aspx.vb
@@ -99,6 +99,14 @@ Partial Class Bancos_ProveedoresAbonar
End Set
End Property
+ Public Property FiltrarCuentas As Integer
+ Get
+ Return If(IsNothing(ViewState("FiltrarCuentas")), 1, ViewState("FiltrarCuentas").ToString.ToEntero)
+ End Get
+ Set(value As Integer)
+ ViewState("FiltrarCuentas") = value
+ End Set
+ End Property
Private Property CveMonedaFiltro As Integer
Get
Return ViewState("CveMonedaFiltro").ToString.ToEntero
@@ -247,6 +255,7 @@ Partial Class Bancos_ProveedoresAbonar
CveClasificacionProveedor = IfNull(Request("CveClasificacion"), "-1").ToString.ToEntero
CveMoneda = IfNull(Request("CveMoneda"), "-1").ToString.ToEntero
CveMonedaFiltro = IfNull(Request("CveMoneda"), "-1").ToString.ToEntero
+ FiltrarCuentas = IfNull(Request("FiltrarCuentas"), "1").ToString.ToEntero
CveEstatus = IfNull(Request("CveEstatus"), "-1").ToString.ToEntero
Serie = IfNull(Request("Serie"), "").ToString
CveAplicaNC = IfNull(Request("CveAplicaNC"), "-1").ToString.ToEntero
@@ -254,7 +263,6 @@ Partial Class Bancos_ProveedoresAbonar
CodigoProgramacion = IfNull(Request("CodigoProgramacion"), "-1").ToString
CveSubProyectoFiltro = IfNull(Request("CveSubProyecto"), -1).ToString.ToEntero
-
TxtOtrosImportes.Attributes.Add("onKeyUp", String.Format("FnSuma(this,{0},{1});", "TxtTotal", 0))
'proceso para que solo pague lo que este programada
@@ -300,13 +308,25 @@ Partial Class Bancos_ProveedoresAbonar
LbTipoMoneda.Text = String.Format("Pago en {0}", GlobalDTMonedas.FiltraParametros(String.Format("CveMoneda = {0}", CveMoneda)).Rows(0)("Moneda"))
End If
- If CveMoneda = 2 Then
- ChkPagarPesos.Visible = True
- TxtTC.Text = GlobalTipoCambio(NowADS()).FormatoNumero(4)
- TxtFechaDocumento.Attributes.Add("onchange", "CambiaTC(this);")
+ 'SI NO ES GDIAZ, NO PERMITIR LA MEZCLA DE CUENTAS
+ If UsuarioActual.Empresa.Funcionalidad(382) <> "1" AndAlso FiltrarCuentas = 0 Then
+ FiltrarCuentas = 1
+ End If
+
+ If FiltrarCuentas = 0 Then
+ ChkPagarPesos.Visible = False
+ ChkPagarDolares.Visible = False
+
+ CveMonedaFiltro = -1
Else
- ChkPagarDolares.Visible = True
- TxtTC.Text = GlobalTipoCambio(NowADS()).FormatoNumero(4)
+ If CveMoneda = 2 Then
+ ChkPagarPesos.Visible = True
+ TxtTC.Text = GlobalTipoCambio(NowADS()).FormatoNumero(4)
+ TxtFechaDocumento.Attributes.Add("onchange", "CambiaTC(this);")
+ Else
+ ChkPagarDolares.Visible = True
+ TxtTC.Text = GlobalTipoCambio(NowADS()).FormatoNumero(4)
+ End If
End If
RegistraScript($"TipoCambioActual = {GlobalTipoCambio(NowADS()).FormatoNumero(4)}")
@@ -324,7 +344,7 @@ Partial Class Bancos_ProveedoresAbonar
If UsuarioActual.TienePermisoProceso(361) Then
'GvCxP.Columns(11).Visible = True
chkaplicaDescuento.Visible = True
- 'chkaplicaDescuentoMasivo.Visible = True
+ chkaplicaDescuentoMasivo.Visible = True
End If
@@ -367,23 +387,34 @@ Partial Class Bancos_ProveedoresAbonar
Private Sub CargaDatos(Optional tCveMoneda As Integer = -1) 'pCveProveedor As Integer, tCveMoneda As Integer, FechaVencimientoInicio As String, FechaVencimientoFin As String, CveUsuarioRegistro As Integer, CveUsuarioPrograma As Integer, Serie As String)
If tCveMoneda = -1 Then tCveMoneda = CveMoneda
- Dim Mov As New ClsMovimientos
+ If UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso FiltrarCuentas = 0 Then
+ tCveMoneda = -1
+ End If
+
TxtObservaciones.Text = ""
TxtImporte.Text = ""
TxtTotal.Text = ""
- If Mov.GetCxPProveedor(CveProveedor, FechaI, FechaF, CveUsuarioProgramo, CveUsuarioRegistro, CveUsuarioResponsable, CveClasificacionProveedor, tCveMoneda, CveEstatus, CveProveedorSucursal, CveAplicaNC, "-1", "-1", CodigoProgramacion, CveSubProyecto:=CveSubProyectoFiltro) Then
- DtDatos = Mov.DtResultados.FiltraParametros("Saldo > 0", "Fecha,SerieFolio")
+ Dim ObjMov As New ClsMovimientos
+ If ObjMov.GetCxPProveedor(CveProveedor, FechaI, FechaF, CveUsuarioProgramo, CveUsuarioRegistro, CveUsuarioResponsable, CveClasificacionProveedor, tCveMoneda, CveEstatus, CveProveedorSucursal, CveAplicaNC, "-1", "-1", CodigoProgramacion, CveSubProyecto:=CveSubProyectoFiltro) Then
+
+ If FiltrarCuentas = 1 Then
+ DtDatos = ObjMov.DtResultados.FiltraParametros("Tipo = 'Act' AND Saldo > 0", "Fecha,SerieFolio")
+ Else
+ DtDatos = ObjMov.DtResultados.FiltraParametros("CveCompra > 0 AND Saldo > 0", "Fecha,SerieFolio")
+ End If
+
GvCxP.DataSource = DtDatos
+
DtDatos.Columns.Add("Movimiento")
If DtDatos.Rows.Count > 0 Then
DVBusqueda.Visible = True
DtDatos.Rows(0)("Movimiento") = "FACTURA DE ACREEDOR"
End If
-
End If
+ ObjMov.Dispose()
+
- Mov.Dispose()
GvCxP.DataBind()
UPCompras.Update()
UpBusqueda.Update()
@@ -449,7 +480,7 @@ Partial Class Bancos_ProveedoresAbonar
e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1});", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo")))
- If e.Row.RowIndex = 0 Then
+ If FiltrarCuentas = 1 AndAlso e.Row.RowIndex = 0 Then
e.Row.FCHyperLink("HplF").Text = (CType(GvCxP.DataSource, DataTable).Rows.Count - 1).ToString
e.Row.BackColor = Drawing.Color.LightGray
End If
@@ -473,6 +504,8 @@ Partial Class Bancos_ProveedoresAbonar
e.Row.FCLiteral("LtlFactura").Text = e.Row.DBCampo("Folio")
End If
+ e.Row.FCTextBox("TxtAbonar").Attributes.Add("CveMoneda", e.Row.DBCampo("CveMoneda"))
+
If e.Row.DBCampo("CveCompra").ToEntero > 0 Then
Dim FiltroInv As String = ""
@@ -643,6 +676,10 @@ Partial Class Bancos_ProveedoresAbonar
Dim ValidaSAT As Boolean = True
If UsuarioActual.Empresa.Funcionalidad(529) = "1" OrElse ChkNoValidaSAT.Checked Then ValidaSAT = False
+ If Not EsProduccion Then
+ ValidaSAT = False
+ End If
+
If ValidaSAT Then
Dim Validada As Boolean = False
Dim MsgValidadas As New StringBuilder
@@ -826,8 +863,19 @@ Partial Class Bancos_ProveedoresAbonar
Pago.TCPago = TxtTC.Text.ToDecimal
Pago.ImportePago = (gvr.FCTextBox("TxtAbonar").Text.ToDecimal / TxtTC.Text.ToDecimal)
End If
- If ChkPagarPesos.Checked Then Pago.TCCambioMoneda = 1 / TxtTC.Text.ToDecimal
- If ChkPagarDolares.Checked Then Pago.TCCambioMoneda = TxtTC.Text.ToDecimal
+
+ If ChkPagarPesos.Checked Then
+ If CompraActual.CveMoneda = 1 Then
+ Pago.TCCambioMoneda = 1
+ Else
+ Pago.TCCambioMoneda = 1 / TxtTC.Text.ToDecimal
+ End If
+ End If
+
+ If ChkPagarDolares.Checked Then
+ Pago.TCCambioMoneda = TxtTC.Text.ToDecimal
+ End If
+
If gvr.FCTextBox("TxtComision").Text.ToDecimal <> 0 Then
Pago.OtroGastoIngreso = gvr.FCTextBox("TxtComision").Text.ToDecimal
@@ -1117,18 +1165,22 @@ Partial Class Bancos_ProveedoresAbonar
DdlCuenta.Items.Clear()
Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa)
- If ChkPagarPesos.Checked Then
- dt = dt.FiltraParametros(String.Format("CveMoneda = {0}", 1))
- RegistraScript("CambiaPesosDolares();")
- ElseIf ChkPagarDolares.Checked Then
- dt = dt.FiltraParametros(String.Format("CveMoneda = {0}", 2))
- RegistraScript("CambiaDolaresPesos();")
- Else
- If CveMonedaFiltro > 0 Then
- dt = dt.FiltraParametros(String.Format("CveMoneda = {0}", CveMonedaFiltro))
+ If FiltrarCuentas = 1 Then
+ If ChkPagarPesos.Checked Then
+ dt = dt.FiltraParametros(String.Format("CveMoneda = {0}", 1))
+ RegistraScript("CambiaPesosDolares();")
+ ElseIf ChkPagarDolares.Checked Then
+ dt = dt.FiltraParametros(String.Format("CveMoneda = {0}", 2))
+ RegistraScript("CambiaDolaresPesos();")
+ Else
+ If CveMonedaFiltro > 0 Then
+ dt = dt.FiltraParametros(String.Format("CveMoneda = {0}", CveMonedaFiltro))
+ End If
End If
End If
+
+
If TipoPago = 3 Then
dt = dt.FiltraParametros("CveTipoCuenta = 7")
End If
@@ -1148,8 +1200,32 @@ Partial Class Bancos_ProveedoresAbonar
End Sub
Protected Sub DdlCuenta_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCuenta.SelectedIndexChanged
- 'recargo la moneda con la que se va a pagar
Dim dr As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCuenta = {0}", DdlCuenta.SelectedValue))
+
+ If FiltrarCuentas = 0 Then
+
+ If dr("CveMoneda").ToString() = "2" Then
+ ChkPagarDolares.Visible = True
+ ChkPagarDolares.Checked = True
+ ChkPagarDolares.Enabled = False
+
+ ChkPagarPesos.Visible = False
+ ChkPagarPesos.Checked = False
+ Else
+ ChkPagarPesos.Visible = True
+ ChkPagarPesos.Checked = True
+ ChkPagarPesos.Enabled = False
+
+ ChkPagarDolares.Visible = False
+ ChkPagarDolares.Checked = False
+ End If
+
+ TxtTC.Text = GlobalTipoCambio(NowADS()).FormatoNumero(4)
+ TxtFechaDocumento.Attributes.Add("onchange", "CambiaTC(this);")
+ End If
+
+ 'recargo la moneda con la que se va a pagar
+
If dr IsNot Nothing Then
TxtFechaDocumento.Attributes.Remove("onchange")
UpDatos.Update()
@@ -1673,11 +1749,17 @@ Partial Class Bancos_ProveedoresAbonar
Protected Sub chkaplicaDescuento_CheckedChanged(sender As Object, e As EventArgs)
GvCxP.Columns(11).Visible = chkaplicaDescuento.Checked
- TxtDescuenoMasivo.Visible = chkaplicaDescuento.Checked
UPCompras.Update()
End Sub
+ Protected Sub chkaplicaDescuentoMasivo_CheckedChanged(sender As Object, e As EventArgs)
+
+ GvCxP.Columns(11).Visible = chkaplicaDescuentoMasivo.Checked
+ TxtDescuenoMasivo.Visible = chkaplicaDescuentoMasivo.Checked
+ UPCompras.Update()
+ End Sub
+
Private Sub tmpValida()
Dim ValidaSAT As Boolean = True
diff --git a/Bancos/RepProveedoresPagos.aspx b/Bancos/RepProveedoresPagos.aspx
index 7b1be4aa2..3708e6830 100644
--- a/Bancos/RepProveedoresPagos.aspx
+++ b/Bancos/RepProveedoresPagos.aspx
@@ -4,9 +4,9 @@
@@ -42,7 +42,7 @@
Proveedor:
-
+
<%----%>
@@ -194,21 +194,28 @@
+
+
+ Ver en pesos:
+
+
+
-
+
-
+
-
+
+
$
TOTAL ORIGINAL
@@ -218,21 +225,24 @@
-
- MXN:
+
+ MXN:
+
-
- Dólares:
+
+ Dólares:
+
-
+
-
-
+
+
+
$
ABONADO
@@ -258,11 +268,12 @@
-
+
-
-
+
+
+
$
SALDO PENDIENTE
@@ -272,11 +283,13 @@
-
- MXN:
+
+ MXN:
+
-
- DÓLARES
+
+ DÓLARES
+
@@ -303,7 +316,7 @@
-
+
@@ -312,17 +325,17 @@
-
+
Venci.
-
-
+
+
-
-
+
+
Original
@@ -330,9 +343,9 @@
-
+
-
+
Abonado
@@ -349,7 +362,7 @@
-
+
@@ -358,7 +371,7 @@
-
+
@@ -367,7 +380,7 @@
-
+
@@ -376,20 +389,19 @@
-
+ Abonar
<%----%>
-
+
-
+
<%----%>
-
diff --git a/Bancos/RepProveedoresPagos.aspx.vb b/Bancos/RepProveedoresPagos.aspx.vb
index 335c19e47..f6b4d7def 100644
--- a/Bancos/RepProveedoresPagos.aspx.vb
+++ b/Bancos/RepProveedoresPagos.aspx.vb
@@ -31,6 +31,11 @@ Partial Class Bancos_RepProveedoresPagos
GvCxP.Columns(10).Visible = True
End If
+ If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
+ chkexpand.Checked = True
+ DivVerPesos.Visible = True
+ End If
+
End If
End Sub
@@ -103,7 +108,7 @@ Partial Class Bancos_RepProveedoresPagos
GvCxP.Columns(7).Visible = ChkProgramadas.Checked 'AndAlso DdlUsuarioProgramo.SelectedValue.ToEntero > 0
- If Mov.GetCxPEmpresa(DdlProveedores.SelectedValue.ToEntero, FechaI, FechaF, DdlSubProyecto.SelectedValue.ToEntero, -1, DdlUsuarioRegistro.SelectedValue.ToEntero, CveUsuarioProgramo, DdlUsuarioResponsable.SelectedValue.ToEntero, DdlProveedoresClasificaciones.SelectedValue.ToEntero, DdlMoneda.SelectedValue.ToEntero, -1, DdlEstatusCompra.SelectedValue.ToEntero, AplicaNC.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, FechaVI, FechaVF, CodigoProgramacion, DdlTipoProveedor.SelectedValue.ToEntero) Then
+ If Mov.GetCxPEmpresa(DdlProveedores.SelectedValue.ToEntero, FechaI, FechaF, DdlSubProyecto.SelectedValue.ToEntero, -1, DdlUsuarioRegistro.SelectedValue.ToEntero, CveUsuarioProgramo, DdlUsuarioResponsable.SelectedValue.ToEntero, DdlProveedoresClasificaciones.SelectedValue.ToEntero, DdlMoneda.SelectedValue.ToEntero, -1, DdlEstatusCompra.SelectedValue.ToEntero, AplicaNC.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, FechaVI, FechaVF, CodigoProgramacion, DdlTipoProveedor.SelectedValue.ToEntero, VerEnPesos:=ChkVerEnPesos.Checked) Then
GvCxP.DataSource = Mov.DtResultados
If Mov.DtResultados IsNot Nothing AndAlso Mov.DtResultados.Rows.Count > 0 Then
@@ -162,7 +167,13 @@ Partial Class Bancos_RepProveedoresPagos
CveUsuarioProgramo = DdlUsuarioProgramo.SelectedValue.ToEntero
End If
- e.Row.FCHyperLink("ImgAbonar").NavigateUrl = String.Format("/Bancos/ProveedoresAbonar.aspx?CveProveedor={0}&FechaI={1}&FechaF={2}&CveUsuarioProgramo={3}&TipoPago={4}&CveUsuarioRegistro={5}&CveUsuarioResponsable={6}&CveClasificacion={7}&CveMoneda={8}&CveEstatus={9}&CveProveedorSucursal={10}&CveAplicaNC={11}&CodigoProgramacion={12}&CveSubProyecto={13}", e.Row.DBCampo("CveProveedor"), If(txtFechaI.Text <> "", txtFechaI.Text, "-1"), If(txtFechaF.Text <> "", txtFechaF.Text, "-1"), CveUsuarioProgramo, -1, DdlUsuarioRegistro.SelectedValue, DdlUsuarioResponsable.SelectedValue, DdlProveedoresClasificaciones.SelectedValue, e.Row.DBCampo("CveMoneda"), DdlEstatusCompra.SelectedValue, e.Row.DBCampo("CveProveedorSucursal"), AplicaNC.SelectedValue, DdlCodigoProgramacion.SelectedValue, DdlSubProyecto.SelectedValue)
+ Dim FiltrarCuentas As Integer = 1
+
+ If ChkVerEnPesos.Checked Then
+ FiltrarCuentas = 0
+ End If
+
+ e.Row.FCHyperLink("ImgAbonar").NavigateUrl = String.Format("/Bancos/ProveedoresAbonar.aspx?CveProveedor={0}&FechaI={1}&FechaF={2}&CveUsuarioProgramo={3}&TipoPago={4}&CveUsuarioRegistro={5}&CveUsuarioResponsable={6}&CveClasificacion={7}&CveMoneda={8}&CveEstatus={9}&CveProveedorSucursal={10}&CveAplicaNC={11}&CodigoProgramacion={12}&CveSubProyecto={13}&FiltrarCuentas={14}", e.Row.DBCampo("CveProveedor"), If(txtFechaI.Text <> "", txtFechaI.Text, "-1"), If(txtFechaF.Text <> "", txtFechaF.Text, "-1"), CveUsuarioProgramo, -1, DdlUsuarioRegistro.SelectedValue, DdlUsuarioResponsable.SelectedValue, DdlProveedoresClasificaciones.SelectedValue, e.Row.DBCampo("CveMoneda"), DdlEstatusCompra.SelectedValue, e.Row.DBCampo("CveProveedorSucursal"), AplicaNC.SelectedValue, DdlCodigoProgramacion.SelectedValue, DdlSubProyecto.SelectedValue, FiltrarCuentas)
End If
End Sub
diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index a267bb624..991711e94 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -128,6 +128,20 @@
+
+
+
+
+
+
+
+
+ Prorrateo
+
+
+
+
+
@@ -4576,7 +4590,6 @@
-
@@ -5703,6 +5716,130 @@
+
+
+
+
+
+
+
+
+
+
+ Prorratear
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%--
+ --%>
+
+ :
+
+
+
+
+
+
+
+
+
+
+ Importe:
+
+
+
+
+
+
+
+
+
+
+
+ Total:
+
+
+
+
+
+ Restante:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 133156eb5..9d8c6e07e 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -1662,9 +1662,12 @@ Partial Class Compras_Compras
End If
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso DdlTipoComprobante.SelectedValue = "NC" Then
-
ConfiguraseleccionRemisionNotaCredito()
+ End If
+ If Not CveCompra > 0 Then
+ LnkProrrateoGasolina.Visible = True
+ InicializaDTProrrateoGasolina()
End If
End If
@@ -14914,6 +14917,7 @@ Partial Class Compras_Compras
Private Sub VinculaOC()
CveIEAnticipo = -1
+ Dim DiasCredito As Integer = 0
If TxtOC.Text <> "" Then
'VARIABLES
@@ -14935,6 +14939,8 @@ Partial Class Compras_Compras
Dim FoliosOCAnticipo As String = "", FoliosOCAnticipoIE As String = ""
Dim StrPromos As New StringBuilder
+
+
For Each CveOCItem As String In ArrayCveOC.Distinct
If ObjOC.GetOrdenesDetalle(CveOCItem.ToEntero, UsuarioActual.CveEmpresa) AndAlso ObjOC.DtResultados.Rows.Count > 0 Then
If IsNothing(DTOCTemp) Then
@@ -14943,6 +14949,14 @@ Partial Class Compras_Compras
DTOCTemp.Merge(ObjOC.DtResultados)
End If
+
+ Dim DiasCreditoOCActual As Integer = DTOCTemp.FiltroPrimeroValor("DiasCreditoOC").ToEntero
+
+ If DiasCreditoOCActual > DiasCredito Then
+ DiasCredito = DiasCreditoOCActual
+ End If
+
+
IvaAcumulado += ObjOC.DtResultados.Rows(0)("IVA").ToString.ToDouble
TextoObservaciones += ObjOC.DtResultados.Rows(0)("Descripcion").ToString
@@ -15063,9 +15077,16 @@ Partial Class Compras_Compras
DivOCPromocion.Visible = True
End If
+ If DiasCredito > 0 Then
+ TxtFechaPago.Text = Now.AddDays(DiasCredito).ToString("dd/MM/yyyy")
+ UPCondicionesPago.Update()
+ End If
+
'CARGA DATOS DE OC
CargaVinculacionOC(True)
+
+
End If
End Sub
Protected Sub DdlOCVinculaInv_SelectedIndexChanged(sender As Object, e As EventArgs)
@@ -15136,6 +15157,10 @@ Partial Class Compras_Compras
End Sub
Private Sub CargaGvsOC()
+ If Not TmpDT.Columns.Contains("NoIdentificacion") Then
+ TmpDT.Columns.Add("NoIdentificacion")
+ End If
+
'SI ES MAS DE UNA OC ORDENA POR PRODUCTO
Dim ArrayCveOC As String() = HdnVCveOC.Value.Split(New Char() {","c})
'DTOCGV = If(ArrayCveOC.Length > 1, DTOCGV.FiltraParametros("", "Producto"), DTOCGV)
@@ -22304,6 +22329,278 @@ Partial Class Compras_Compras
End Sub
+
+#Region "PRORRATEO GASOLINA"
+ Property DTProrrateoGasolina As DataTable
+ Get
+ If ViewState("DTProrrateoGasolina") Is Nothing Then
+ ViewState("DTProrrateoGasolina") = New DataTable
+ End If
+ Return DirectCast(ViewState("DTProrrateoGasolina"), DataTable)
+ End Get
+ Set(value As DataTable)
+ ViewState("DTProrrateoGasolina") = value
+ End Set
+ End Property
+
+ Private Sub InicializaDTProrrateoGasolina()
+ Dim TmpDTProrrateoGasolina As New DataTable
+ TmpDTProrrateoGasolina.Columns.Add("CvePS", GetType(Integer))
+ TmpDTProrrateoGasolina.Columns.Add("CveSubProyecto", GetType(Integer))
+ TmpDTProrrateoGasolina.Columns.Add("SubProyecto", GetType(String))
+ TmpDTProrrateoGasolina.Columns.Add("SubTotal", GetType(Decimal))
+ TmpDTProrrateoGasolina.Columns.Add("IVA", GetType(Decimal))
+ TmpDTProrrateoGasolina.Columns.Add("RetIVA", GetType(Decimal))
+ TmpDTProrrateoGasolina.Columns.Add("RetISR", GetType(Decimal))
+ TmpDTProrrateoGasolina.Columns.Add("Total", GetType(Decimal))
+ TmpDTProrrateoGasolina.Columns.Add("PorcentajeIVA", GetType(Decimal))
+
+ TmpDTProrrateoGasolina.Columns.Add("CveUM", GetType(Integer))
+ TmpDTProrrateoGasolina.Columns.Add("CveClasificacion", GetType(Integer))
+ TmpDTProrrateoGasolina.Columns.Add("UM", GetType(String))
+ TmpDTProrrateoGasolina.Columns.Add("Clasificacion", GetType(String))
+ TmpDTProrrateoGasolina.Columns.Add("PS", GetType(String))
+ TmpDTProrrateoGasolina.Columns.Add("Porcentaje", GetType(Decimal))
+
+
+ DTProrrateoGasolina = TmpDTProrrateoGasolina
+ End Sub
+
+ Protected Sub LnkProrrateoGasolina_Click(sender As Object, e As EventArgs)
+
+ InicializaDTProrrateoGasolina()
+ CargarCentrosDeCosto(Nothing, Nothing, Nothing, LblSubProyectoProrrateoGasolina,)
+ GvProrrateoGasolina.Columns(0).HeaderText = LblSubProyectoProrrateoGasolina.Text
+ LblRiruloProrrareo.Text = $"Prorratear por { LblSubProyectoProrrateoGasolina.Text}"
+
+ DdlSubProyectoProrrateoGasolina.Items.Clear()
+ DdlSubProyectoProrrateoGasolina.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveProyecto:=-1))
+ DdlSubProyectoProrrateoGasolina.DataBind()
+ DdlSubProyectoProrrateoGasolina.Items.Insert(0, New ListItem("Todos", "-1"))
+
+ LblTotalProrrateoGasolina.Text = TxtTotal.Text
+
+ CargaProrratePS(-1)
+
+ RegistraScript("$('#DVModalProrrateoGasolina').modal();")
+ UpModalProrrateoGasolina.Update()
+ UpProrratearTitulo.Update()
+
+ End Sub
+
+
+ Private Sub CargaProrratePS(CveClasificacion As Integer)
+
+ DdlPSProrrateoGasolina.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
+
+ If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
+ DdlPSProrrateoGasolina.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
+ DdlPSProrrateoGasolina.SelectedText = ""
+ DdlPSProrrateoGasolina.SelectedValue = "-1"
+ Else
+ DdlPSProrrateoGasolina.ddl.Items.Clear()
+
+ 'DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion)
+
+ If UsuarioActual.TienePermisoProceso(300) Or UsuarioActual.TienePermisoProceso(301) Then
+
+ Dim DTTemp As New DataTable
+ DTTemp.Columns.Add("CvePS", GetType(Integer))
+ DTTemp.Columns.Add("PSCodigo", GetType(String))
+ DTTemp.Columns.Add("CveClasificacion", GetType(Integer))
+
+ For Each dRow As DataRow In GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).Rows
+ For Each drowCla As DataRow In DTClasificacionesComprobaciones.Rows
+
+ If drowCla("CveClasificacion").ToString.ToEntero = dRow("CveClasificacion").ToString.ToEntero Then
+
+ Dim InRow As DataRow = DTTemp.NewRow
+ InRow("CvePS") = dRow("CvePS").ToString.ToEntero
+ InRow("PSCodigo") = dRow("PSCodigo").ToString
+ InRow("CveClasificacion") = dRow("CveClasificacion").ToString.ToEntero
+ DTTemp.Rows.Add(InRow)
+
+ End If
+ Next
+ Next
+ DdlPSProrrateoGasolina.DataSource = If(CveClasificacion > 0, DTTemp.FiltraParametros($"CveClasificacion = {CveClasificacion}"), DTTemp)
+ Else
+ DdlPSProrrateoGasolina.DataSource = If(CveClasificacion > 0, GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros($"CveClasificacion = {CveClasificacion}"), GlobalDTPSSimplificado(UsuarioActual.CveEmpresa))
+ End If
+
+ DdlPSProrrateoGasolina.ddl.DataBind()
+ DdlPSProrrateoGasolina.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
+ End If
+
+ End Sub
+
+ Private Sub GvProrrateoGasolinaBind()
+ GvProrrateoGasolina.DataSource = DTProrrateoGasolina
+ GvProrrateoGasolina.DataBind()
+ UpModalProrrateoGasolina.Update()
+ End Sub
+
+ Protected Sub LnkEliminarProrrateoGasolina_Click(sender As Object, e As EventArgs)
+
+ Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
+ DTProrrateoGasolina.Rows.RemoveAt(GvRow.RowIndex)
+ DTProrrateoGasolina.AcceptChanges()
+ ProrateoCalculaRestante()
+ GvProrrateoGasolinaBind()
+
+ End Sub
+
+
+
+ Protected Sub LnkAgregarProrrateoGasolina_Click(sender As Object, e As EventArgs)
+
+ Dim CvePs As Integer = DdlPSProrrateoGasolina.SelectedValue.ToEntero
+
+ If Not CvePs > 0 Then
+ Alert("Debe seleccionar un producto", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+ Dim PsRow As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePs).FiltroPrimero("")
+
+ If PsRow Is Nothing Then
+ Alert("No se encontro el producto", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+ Dim CveUM As Integer = PsRow("CveUM").ToString.ToEntero
+ Dim UM As String = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("UnidadMedida", $" CveUnidadMedida = {CveUM} ")
+
+ Dim CveClasificacion As Integer = PsRow("CveClasificacion").ToString.ToEntero
+ Dim Clasificacion As String = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $" CveClasificacion = {CveClasificacion} ")
+
+
+ If DdlSubProyectoProrrateoGasolina.SelectedValue.ToEntero > 0 Then
+ AgregarProrrateoGasolina(DdlSubProyectoProrrateoGasolina.SelectedValue.ToEntero, DdlSubProyectoProrrateoGasolina.SelectedItem.Text, CvePs, CveUM, UM, CveClasificacion, Clasificacion)
+ Else
+ DTProrrateoGasolina.Rows.Clear()
+
+ For Each item As ListItem In DdlSubProyectoProrrateoGasolina.Items
+ If item.Value.ToEntero > 0 Then
+ AgregarProrrateoGasolina(item.Value.ToEntero, item.Text, CvePs, CveUM, UM, CveClasificacion, Clasificacion)
+ End If
+ Next
+ End If
+
+ TxtPrecioProrrateoGasolina.Text = ""
+ DdlSubProyectoProrrateoGasolina.SelectedValueExist(-1)
+ UpModalProrrateoGasolina.Update()
+
+ End Sub
+
+
+ Private Sub AgregarProrrateoGasolina(CveSubProyecto As Integer, SubProyecto As String, CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String)
+
+ Dim SubTotalOriginal As Decimal = TxtSubTotal.Text.ToDecimal
+ Dim IVAOriginal As Decimal = TxtIVA.Text.ToDecimal
+ Dim RetISROriginal As Decimal = TxtRetISR.Text.ToDecimal
+ Dim RetIVAOriginal As Decimal = TxtRetIVA.Text.ToDecimal
+ Dim TotalOriginal As Decimal = TxtTotal.Text.ToDecimal
+
+ Dim totalParcialDeseado As Decimal = TxtPrecioProrrateoGasolina.Text.ToDecimal
+
+ Dim PorcentajeCalculado As Decimal = totalParcialDeseado / TotalOriginal
+
+ Dim subtotalParcial As Decimal = SubTotalOriginal * PorcentajeCalculado
+ Dim ivaParcial As Decimal = IVAOriginal * PorcentajeCalculado
+ Dim retIsrParcial As Decimal = RetISROriginal * PorcentajeCalculado
+ Dim retIvaParcial As Decimal = RetIVAOriginal * PorcentajeCalculado
+
+ Dim nRow As DataRow = DTProrrateoGasolina.NewRow
+
+ nRow("CvePS") = DdlPSProrrateoGasolina.SelectedValue.ToEntero
+ nRow("CveSubProyecto") = CveSubProyecto
+ nRow("SubProyecto") = SubProyecto
+
+ If CveFactura > 0 Then
+ nRow("IVA") = ivaParcial.RoundSQL(4)
+ nRow("RetIVA") = retIvaParcial.RoundSQL(4)
+ nRow("RetISR") = retIsrParcial.RoundSQL(4)
+ Else
+ nRow("IVA") = (ivaParcial / subtotalParcial).RoundSQL(4)
+ nRow("RetIVA") = (retIvaParcial / subtotalParcial).RoundSQL(4)
+ nRow("RetISR") = (retIsrParcial / subtotalParcial).RoundSQL(4)
+ End If
+
+ nRow("SubTotal") = subtotalParcial.RoundSQL(4)
+
+ nRow("Total") = totalParcialDeseado.RoundSQL(4)
+ nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial).RoundSQL(4)
+ nRow("Porcentaje") = ((totalParcialDeseado.RoundSQL(4) * 100) / TotalOriginal).RoundSQL(2)
+
+
+ nRow("CveUM") = CveUM
+ nRow("UM") = UM
+ nRow("CveClasificacion") = CveClasificacion
+ nRow("Clasificacion") = Clasificacion
+ nRow("PS") = DdlPSProrrateoGasolina.txtText.Value
+
+ DTProrrateoGasolina.Rows.Add(nRow)
+
+ ProrateoCalculaRestante()
+ GvProrrateoGasolinaBind()
+ End Sub
+
+
+ Function ProrateoCalculaRestante(Optional MostrarMensaje As Boolean = False) As Boolean
+
+ Dim Acumulado As Decimal = DTProrrateoGasolina.SUM("Total").RoundSQL(2)
+ Dim Total As Decimal = TxtTotal.Text.ToDecimal.RoundSQL(2)
+ Dim Respuesta As Boolean = False
+
+ LblRestoProrrateoGasolina.Text = (Total - Acumulado).ToString("###,###,###.00")
+
+ If Acumulado = Total Then
+ Respuesta = True
+ Else
+ Respuesta = False
+ If MostrarMensaje Then
+
+ If Acumulado <> Total Then
+ Alert($"El importe prorrateado es diferente del total, Diferencia: {(Acumulado - Total).Abs()}, Total:{Total.ToString("###,###,###.00")}, Prorrateado:{Acumulado.ToString("###,###,###.00")}", TipoMensaje.MsgAdvertencia)
+ End If
+
+ End If
+ End If
+
+ Return Respuesta
+
+ End Function
+
+
+
+ Protected Sub BtnGuardarProrrateoGasolina_Click(sender As Object, e As EventArgs)
+
+ If Not ProrateoCalculaRestante(True) Then
+ Exit Sub
+ End If
+
+ If DTProrrateoGasolina.Rows.Count > 0 Then
+ TmpDT.Rows.Clear()
+ For Each dRow As DataRow In DTProrrateoGasolina.Rows
+ AddPS(1, dRow("CveUM").ToString.ToEntero, dRow("UM").ToString, dRow("CveClasificacion").ToString.ToEntero, dRow("Clasificacion").ToString, dRow("CvePS").ToString.ToEntero, dRow("PS").ToString, 1, dRow("CveSubProyecto").ToString, dRow("SubProyecto").ToString, "",
+ "-1", "", dRow("SubTotal").ToString.ToDecimal, dRow("Total").ToString.ToDecimal, dRow("PorcentajeIVA").ToString.ToDecimal, dRow("RetIVA").ToString.ToDecimal, dRow("RetISR").ToString.ToDecimal, 0, 0, 0, PorcentajeIVA:=dRow("PorcentajeIVA").ToString.ToDecimal)
+ Next
+
+ AddPS2()
+ RegistraScript("$('#DVModalProrrateoGasolina').modal('hide');")
+
+ End If
+
+
+
+
+ End Sub
+
+
+#End Region
+
+
End Class
diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb
index 9e51948cd..bb7c75bd0 100644
--- a/Compras/PopUpVerFactura.aspx.vb
+++ b/Compras/PopUpVerFactura.aspx.vb
@@ -1425,9 +1425,14 @@ Partial Class PopUpVerFactura
'Imprime Movimiento de IE
If UrlParametros("OP").ToString = "ImprimeMov" Then
+
+ Dim ImportePagoTotal As Decimal = If(UrlParametros("IMPORTEPAGOTOTAL") IsNot Nothing AndAlso UrlParametros("IMPORTEPAGOTOTAL").ToString.ToDecimal > 0, UrlParametros("IMPORTEPAGOTOTAL").ToString.ToDecimal, -1)
+ Dim SaldoTotal As Decimal = If(UrlParametros("SALDO") IsNot Nothing AndAlso UrlParametros("SALDO").ToString.ToDecimal > 0, UrlParametros("SALDO").ToString.ToDecimal, -1)
+
If UrlParametros("CVEIE") IsNot Nothing AndAlso UrlParametros("CVEIE").ToString.ToEntero > 0 Then
- ImprimeMov(UrlParametros("CVEIE").ToString.ToEntero)
+ ImprimeMov(UrlParametros("CVEIE").ToString.ToEntero, ImportePagoTotal, SaldoTotal)
End If
+
End If
'IMPRIME DEPOSITOS CAJA
@@ -1575,23 +1580,22 @@ Partial Class PopUpVerFactura
'Boleto
If UrlParametros("OP").ToString = "AMORTIZACIONHIS" Then
- 'CveViajePasajero
+
Dim CVEIE As Integer = UrlParametros("CVEIE").ToString.ToEntero
Dim CVEVENTAAMORTIZADA As Integer = UrlParametros("CVEVENTAAMORTIZADA").ToString.ToEntero
Dim CVEVENTA As Integer = UrlParametros("CVEVENTA").ToString.ToEntero
Dim CVECLIENTE As Integer = UrlParametros("CVECLIENTE").ToString.ToEntero
Dim MONTO As Decimal = UrlParametros("MONTO").ToString.ToDecimal
- Dim SALDO As Decimal = UrlParametros("SALDO").ToString.ToDecimal
If CVECLIENTE > 0 AndAlso (CVEIE > 0 Or CVEVENTA > 0) Then
- ImprimirSaldosAmortizacion(CVEVENTAAMORTIZADA, CVEIE, CVEVENTA, CVECLIENTE, MONTO, SALDO)
+ ImprimirSaldosAmortizacion(CVEVENTAAMORTIZADA, CVEIE, CVEVENTA, CVECLIENTE, MONTO)
End If
End If
End Sub
- Private Sub ImprimirSaldosAmortizacion(CveVentaAmortizada As Integer, CveIE As Integer, CveVenta As Integer, CveCliente As Integer, Monto As Decimal, Saldo As Decimal)
+ Private Sub ImprimirSaldosAmortizacion(CveVentaAmortizada As Integer, CveIE As Integer, CveVenta As Integer, CveCliente As Integer, Monto As Decimal)
Dim ObjMovtos As New ClsMovimientos()
@@ -1599,6 +1603,7 @@ Partial Class PopUpVerFactura
Dim DatosSaldoAntNCDev As New DataTable
Dim TipoDocto As String = ""
Dim Folio As String = ""
+ Dim Saldo As Decimal = 0D
Dim DTNCVinculadas As New DataTable
@@ -1623,10 +1628,15 @@ Partial Class PopUpVerFactura
If CveIE > 0 Then
CveVenta = DatosSaldoAntNCDev.FiltroPrimeroValor("CveVenta", $"CveIE={CveIE}").ToEntero
Folio = DatosSaldoAntNCDev.FiltroPrimeroValor("Folio", $"CveIE={CveIE}")
+ Saldo = DatosSaldoAntNCDev.FiltroPrimeroValor("Saldo", $"CveIE={CveIE}").ToDecimal
Else
Folio = DatosSaldoAntNCDev.FiltroPrimeroValor("Folio", $"CveVenta={CveVenta}")
+ Saldo = DatosSaldoAntNCDev.FiltroPrimeroValor("Saldo", $"CveVenta={CveVenta}").ToDecimal
End If
+
+
+
End If
If TipoDocto.Contiene("Egs", "Dev", "Ant", "NC") Then
@@ -1669,8 +1679,8 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("FechaImpresion", NowADS().ToString))
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
- params.Add(New ReportParameter("Monto", Monto.ToString))
- params.Add(New ReportParameter("Saldo", Saldo.ToString))
+ params.Add(New ReportParameter("Monto", Monto.ToString("###,###,###.00")))
+ params.Add(New ReportParameter("Saldo", Saldo.ToString("###,###,###.00")))
params.Add(New ReportParameter("Folio", Folio))
Dim NombreArchivo As String = "SaldoAntNCDev.rdlc"
@@ -3121,9 +3131,6 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("FechaImpresion", NowADS().ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("Folio", Folio))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
- 'params.Add(New ReportParameter("Descuentos", (dr("Descuentos").ToString.ToDouble).FormatoNumero(2)))
- 'params.Add(New ReportParameter("IVA", dr("IVA").ToString.FormatoNumero(2)))
- 'params.Add(New ReportParameter("Total", dr("Total").ToString.FormatoNumero(2)))
params.Add(New ReportParameter("NombreEntrego", String.Format("ENTREGÓ{0}{1}", vbCrLf, Capturo)))
params.Add(New ReportParameter("NombreRecibio", String.Format("RECIBIÓ{0}{1}", vbCrLf, Recibio)))
@@ -5883,7 +5890,7 @@ Partial Class PopUpVerFactura
End Sub
- Private Sub ImprimeMov(CveIE As Integer)
+ Private Sub ImprimeMov(CveIE As Integer, Optional ImportePagoTotal As Decimal = 0, Optional SaldoTotal As Decimal = 0)
Dim ObjIE As New ClsBancos()
Dim DtGvRH As New DataTable
Dim DtComprobacion As New DataTable
@@ -5967,6 +5974,16 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("importe", ParamComprobacion.Rows(0)("Importe").ToString))
params.Add(New ReportParameter("TotAbono", DtComprobacion.SUM("Abonado").ToString))
+
+
+ If UsuarioActual.CveEmpresa = 140 Then
+ Dim Aplicado As Decimal = 0
+ Dim ImporteDoc As Decimal = ParamComprobacion.Rows(0)("Importe").ToString.ToDecimal
+ Dim LeyendaSaldo As String = $"Folio #{ParamComprobacion.Rows(0)("Folio").ToString} con importe de ${ImporteDoc.ToString("###,###,###.00")} y saldo antes de la comprobación de ${SaldoTotal.ToString("###,###,###.00")}, Comprobaciones a la fecha {ParamComprobacion.Rows(0)("FechaDocumento").ToString().ToDate().ToString("dd/MM/yyyy")} ${ImportePagoTotal.ToString("###,###,###.00")} saldo después de la comprobación ${(SaldoTotal - ImportePagoTotal).ToString("###,###,###.00")} ."
+ params.Add(New ReportParameter("LeyendaSaldo", LeyendaSaldo))
+ End If
+
+
params.Add(New ReportParameter("LogoPath", RutaImagenLogo))
ImprimirPDF("Empresas/Grales/Formatos/RepRembolsosComprobaciones.rdlc", DtComprobacion, params, String.Format("IE{0}", CveIE), Formato:="PDF")
@@ -6039,7 +6056,12 @@ Partial Class PopUpVerFactura
Dim rdsPrePoliza As New ReportDataSource("DSPrePoliza", dtPrePoliza)
reportDataSetsList.Add(rdsPrePoliza)
+ Dim lblSubProyecto As New Label
+ CargarCentrosDeCosto(Nothing, Nothing, Nothing, lblSubProyecto)
+ paramList.Add(New ReportParameter("TipoCentroCosto", lblSubProyecto.Text))
+
ImprimirPDF("Empresas\Grales\Formatos\rptChequeMovimientosPrePoliza.rdlc", reportDataSetsList, paramList, ObjIE.Folio, "PDF")
+
Else
ImprimirPDF("Empresas\Grales\Formatos\rptChequeMovimientos.rdlc", reportDataSetsList, paramList, ObjIE.Folio, "PDF")
End If
diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb
index 164479187..822888a18 100644
--- a/Compras/ReembolsosComprobaciones.aspx.vb
+++ b/Compras/ReembolsosComprobaciones.aspx.vb
@@ -387,6 +387,8 @@ Partial Class Compras_ReembolsosComprobaciones
Dim FoliosFechasValFechaDocumentoPagoMesSuperior As New StringBuilder
Dim FoliosFechasValFechaDocumentoMesInferior As New StringBuilder
+ Dim SaldoAntesPago As Decimal = TxtChequeSaldo.Text.ToDecimal
+
For Each gvRowVal As GridViewRow In GvCxP.Rows
If gvRowVal.FCCheckBox("Chk").Checked Then
@@ -602,6 +604,7 @@ Partial Class Compras_ReembolsosComprobaciones
End If
End If
+ Dim ImportePagoTotal As Decimal = 0
If CveIERegistrado > 0 Or CveIEExcedente > 0 Or ChkReembolsarSinBancos.Checked Then
'inserto los movimientos de la conta para abonar al saldo
If ((TxtImporte.Text.ToDecimal > 0 Or ChkReembolsarSinBancos.Checked) And CvePrePolizaIERegistrado > 0) Or ((TxtImporteVinculado.Text.ToDecimal > 0 And HdnCheque.Value.ToEntero > 0) Or ChkReembolsarSinBancos.Checked) Then
@@ -676,7 +679,7 @@ Partial Class Compras_ReembolsosComprobaciones
Pago.CveMonedaPago = CveMonedaPago
Pago.TCPago = TipoCambioPago
Pago.CvePersonal =CvePersonal
-
+ ImportePagoTotal = ImportePagoTotal + ImporteMovto
'Otros Ingresos
If MsgError = "" AndAlso (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal <> 0 Then
Pago.OtroGastoIngreso = gvr.FCTextBox("TxtComision").Text.ToDecimal
@@ -819,7 +822,7 @@ Partial Class Compras_ReembolsosComprobaciones
Dim Mensaje As New StringBuilder
If CvePrePolizaExcedente > 0 Then
- Mensaje.AppendFormat("Abono Registrado Correctamente.