diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb
index 65340c487..551fca6ab 100644
--- a/App_Code/ClsBancos.vb
+++ b/App_Code/ClsBancos.vb
@@ -64,7 +64,7 @@ Public Class ClsBancos
Public Property Importe As Double
Public Property CveMoneda As Integer
Public Property Moneda As String
- Public Property TipoCambio As Double
+ Public Property TipoCambio As Decimal
Public Property ClaveFormaPagoSAT As String
Public Property Observaciones As String
Public Property NotificarA As String
@@ -762,7 +762,7 @@ Public Class ClsBancos
Me.Importe = Data.Rows(0)("Importe").ToString.ToDouble
Me.CveMoneda = Data.Rows(0)("CveMoneda").ToString.ToEntero
Me.Moneda = Data.Rows(0)("Moneda").ToString
- Me.TipoCambio = Data.Rows(0)("TipoCambio").ToString.ToDouble
+ Me.TipoCambio = Data.Rows(0)("TipoCambio").ToString.ToDecimal
Me.Observaciones = Data.Rows(0)("Observaciones").ToString
NotificarA = Data.Rows(0)("NotificarA").ToString
Me.EsAbonoEnCuenta = CBool(Data.Rows(0)("EsAbonoEnCuenta").ToString)
diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb
index 8a2a42d6a..fb2ad4e9c 100644
--- a/App_Code/ClsNominas.vb
+++ b/App_Code/ClsNominas.vb
@@ -3238,12 +3238,14 @@ Public Class ClsNominas
End Function
#Region "CRUD_SolicitudesNominas"
- Public Function SolicitudesGet(CveSolicitud As Integer, CveEmpresa As Integer, Optional CveTipoSolicitud As Integer = 1) As Boolean
+ Public Function SolicitudesGet(CveSolicitud As Integer, CveEmpresa As Integer, Optional CveTipoSolicitud As Integer = 1, Optional Estatus As Integer = -1, Optional Top As Integer = 100000) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Gral_SAT_SolicitudesGet", CommandType.StoredProcedure)
addParameters("@CveSolicitud", SqlDbType.Int, CveSolicitud)
addParameters("@CveEmpresa", SqlDbType.Int, CveEmpresa)
addParameters("@CveTipoSolicitud", SqlDbType.Int, CveTipoSolicitud)
+ addParameters("@Estatus", SqlDbType.Int, Estatus)
+ addParameters("@Top", SqlDbType.Int, Top)
retorno = RunQuery("Ocurrió un error al obtener el SolicitudesNominas.")
Return retorno
End Function
@@ -3263,6 +3265,68 @@ Public Class ClsNominas
retorno = RunQuery("Ocurrió un error al agregar el SolicitudesNominas.")
Return retorno
End Function
+
+
+ Public Function SolicitudesAdd2(CveSolicitudCFDI As Integer, CveSolicitudMetadata As Integer, estatus As Integer, observaciones As String, fechaInicio As DateTime, fechaFin As DateTime, cveUsuarioIng As Int32, cveEmpresa As Int32, Optional CveTipoSolicitud As Integer = 1) As Integer
+
+ Dim CveSolictudAgregada As Integer = -1
+
+ Try
+ DataAdapter("PA_Gral_SAT_SolicitudesAdd2", CommandType.StoredProcedure)
+ addParameters("@CveSolicitudCFDI", SqlDbType.Int, CveSolicitudCFDI)
+ addParameters("@CveSolicitudMetadata", SqlDbType.Int, CveSolicitudMetadata)
+ addParameters("@Estatus", SqlDbType.Int, estatus)
+ addParameters("@Observaciones", SqlDbType.VarChar, observaciones)
+ addParameters("@FechaInicio", SqlDbType.DateTime, fechaInicio)
+ addParameters("@FechaFin", SqlDbType.DateTime, fechaFin)
+ addParameters("@CveUsuarioIng", SqlDbType.Int, cveUsuarioIng)
+ addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa)
+ addParameters("@CveTipoSolicitud", SqlDbType.Int, CveTipoSolicitud)
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveSolicitud", SqlDbType.Int).Direction = ParameterDirection.Output
+ End With
+
+
+ SqlAdapter.Fill(Data)
+ CveSolictudAgregada = SqlAdapter.SelectCommand.Parameters("@CveSolicitud").Value.ToString.ToEntero
+
+ Catch ex As Exception
+ CveSolictudAgregada = -1
+ OnError("Ocurrió un error al agregar la Solicitud.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return CveSolictudAgregada
+
+
+ End Function
+
+
+ Public Function UpdateSolicitudDetalleCveSolicitudDetalle(CveEmpresa As Integer, UUID As String, CveSolicitudDetalle As Integer) As Boolean
+
+
+ Dim retorno As Boolean = False
+ Try
+ DataAdapter("PA_SAT_SolicitudesCFDIDataCveSolicitudDetalleUpdate", CommandType.StoredProcedure)
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@UUID", SqlDbType.VarChar).Value = UUID
+ .Add("@CveSolicitudDetalle", SqlDbType.Int).Value = CveSolicitudDetalle
+ End With
+ SqlAdapter.Fill(Data)
+
+ retorno = True
+
+ Catch ex As Exception
+ retorno = False
+ OnError("Ocurrió un error al Actualizar SolicitudesCFDIData.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return retorno
+
+
+ End Function
+
Public Function SolicitudesUp(CveSolicitud As Int32, CveSolicitudCFDI As Int32, CveSolicitudMetadata As Int32, estatus As Int32, observaciones As String, cveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Gral_SAT_SolicitudesUp", CommandType.StoredProcedure)
diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb
index 628310288..53feb942d 100644
--- a/App_Code/ClsOC.vb
+++ b/App_Code/ClsOC.vb
@@ -119,6 +119,7 @@ Public Class ClsOC
Public Property UsoCFDI As String
Public Property Promocion As String
Public Property CveProveedorContacto As Integer
+ Public Property NumRemision As String
Public ReadOnly Property DtResultados() As DataTable
Get
@@ -685,6 +686,7 @@ Public Class ClsOC
_UsoCFDI = dr("UsoCFDI").ToString
Promocion = IfNull(dr("Promocion"), "", dr("Promocion").ToString)
CveProveedorContacto = If(Not IsDBNull(dr("CveProveedorContacto")), dr("CveProveedorContacto").ToString.ToEntero, -1)
+ NumRemision = dr("NumRemision").ToString
Retorno = True
ElseIf Data.Rows.Count > 0 Then
@@ -704,7 +706,7 @@ Public Class ClsOC
Optional CveCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PrioridadObservacion As String = "",
Optional PorcentajeIVA As Decimal = 0.16, 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) As Boolean
+ 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") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OC_OrdenesCompraAdd")
@@ -747,6 +749,7 @@ Public Class ClsOC
.Add("@UsoCFDI", SqlDbType.Int).Value = UsoCFDI
.Add("@Promocion", SqlDbType.VarChar).Value = Promocion
.Add("@CveProveedorContacto", SqlDbType.Int).Value = CveProveedorContacto
+ .Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision
.Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output
.Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output
@@ -910,7 +913,7 @@ Public Class ClsOC
pCveProveedor As Integer, pCveOrdenCompra As Integer, pCveUsuarioModifico As Integer, Optional CveCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PrioridadObservacion As String = "",
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.16) As Boolean
+ Optional pCveProveedorSucursal As Integer = -1, Optional CveProveedorContacto As Integer = -1, Optional PorcentajeIVA As Decimal = 0.16, Optional NumRemision As String = "-1") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OC_OrdenesCompraUpdate")
@@ -944,6 +947,7 @@ Public Class ClsOC
.Add("@CveProveedorSucursal", SqlDbType.Int).Value = pCveProveedorSucursal
.Add("@CveProveedorContacto", SqlDbType.Int).Value = CveProveedorContacto
.Add("@PorcentajeIVA", SqlDbType.SmallMoney).Value = PorcentajeIVA
+ .Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision
End With
Try
@@ -2506,6 +2510,30 @@ Public Class ClsOC
Return Retorno
End Function
+
+ Public Function GetVerificaNumRemision(CveProveedor As Integer, Tipo As String, NumRemision As String, CveEmpresa As Integer, CveOrdenCompraValida As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_OC_OCVerificaNumRemisionGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
+ .Add("@Tipo", SqlDbType.VarChar).Value = Tipo
+ .Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision
+ .Add("@CveOrdenCompraValida", SqlDbType.Int).Value = CveOrdenCompraValida
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al consultar las remiciones", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+
+
#Region " IDisposable Support "
' IDisposable
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index ea843f582..4d0886e3e 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -5384,7 +5384,7 @@ Public Class ClsPaginas
PaginaDict.Add("/RH/RepUniformes.aspx".ToUpper(), 630)
PaginaDict.Add("/RH/RepUniformesResguardo.aspx".ToUpper(), 666)
- PaginaDict.Add("/RH/ListaAsistenciaRH.aspx".ToUpper(), 631)
+ 'PaginaDict.Add("/RH/ListaAsistenciaRH.aspx".ToUpper(), 631)
PaginaDict.Add("/RH/CatUniformes.aspx".ToUpper(), 632)
PaginaDict.Add("/RH/CatUniformesDetalle.aspx".ToUpper(), 633)
PaginaDict.Add("/RH/CatConceptosViaticos.aspx".ToUpper(), 662)
@@ -9360,5 +9360,356 @@ Public Class ClsPaginas
End If
dtsec.Dispose()
End Sub
+
+#Region "P A G O D E C O M P R A S "
+
+
+ Public Function AplicaPrePolizaPago(CompraActual As Compra, Pago As CompraPago, CvePrePoliza As Integer, ByRef ObjConta As ClsContabilidad) As Boolean
+ Dim ErrorMovtos As Boolean = False
+ Dim PorcentajePago As Decimal = Pago.ImportePago / CompraActual.Total
+ Dim ImporteMovimiento As Decimal = 0
+ Dim tImportePago, tImporteCompra As Decimal
+ Dim CveConceptoContableComplementaria As Integer = 206
+
+ Pago.CveConceptoPago = If(Pago.CveConceptoPago = -1, 17, Pago.CveConceptoPago) 'si viene en parametro lo toma com primera opcion, sino el 17
+ If CompraActual.CveTipoConceptoProveedor = 2 Then Pago.CveConceptoPago = 308 'cuando es acreedor
+ If CompraActual.CveMoneda <> 1 Then
+ Select Case Pago.CveConceptoPago
+ Case 17 : Pago.CveConceptoPago = 312
+ Case 308 : Pago.CveConceptoPago = 309 : CveConceptoContableComplementaria = 310
+ Case Else
+ End Select
+ End If
+
+ Dim Concepto As String = String.Format("{0} F:{1}", CompraActual.ProveedorNombre, CompraActual.SerieFolio)
+ Dim FuncionalidadFluctuacionImpuestos As Boolean = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", True, False)
+
+ Dim tFecha As Date = Pago.Fecha
+ Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha)
+
+ If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then
+ If UltimaFluctuacion.FechaFluctuacion <= tFecha Then
+ 'FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion
+ CompraActual.TC = UltimaFluctuacion.TCFluctuacion
+ End If
+ End If
+
+ If CompraActual.CveMoneda = 1 And Pago.CveMonedaPago <> 1 Then 'factura pesos, pago en dolares
+ tImportePago = ((Pago.ImportePago * CompraActual.TC / Pago.TCPago).RoundSQL * Pago.TCPago).RoundSQL
+ ElseIf CompraActual.CveMoneda <> 1 And Pago.CveMonedaPago <> 1 Then 'factura dolares, pago en dolares
+ tImporteCompra = (Pago.ImportePago * CompraActual.TC).RoundSQL
+ tImportePago = (Pago.ImportePago * Pago.TCPago).RoundSQL
+ ElseIf CompraActual.CveMoneda <> 1 And Pago.CveMonedaPago = 1 Then 'factura dolares, pago en pesos
+ tImporteCompra = (Pago.ImportePago * CompraActual.TC).RoundSQL
+ tImportePago = (Pago.ImportePago * Pago.TCPago).RoundSQL
+ End If
+
+ 'movimiento de pago proveedor
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, Pago.CveConceptoPago, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=CompraActual.TC) Then
+ ErrorMovtos = True
+ End If
+
+ 'movimiento de pago proveedor Complementaria
+ If Not ErrorMovtos AndAlso CompraActual.CveMoneda > 1 Then
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (Pago.ImportePago * CompraActual.TC - Pago.ImportePago).RoundSQL, CveConceptoContableComplementaria, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=CompraActual.TC, ImporteME:=Pago.ImportePago) Then
+ ErrorMovtos = True
+ End If
+ End If
+
+ 'si tiene iva y su proporcion
+ If Not ErrorMovtos AndAlso CompraActual.IVA <> 0 Then
+ ImporteMovimiento = (PorcentajePago * CompraActual.IVA).RoundSQL
+ Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaIVA
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
+
+ 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe
+ If FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = ((PorcentajePago * CompraActual.IVA).RoundSQL * Pago.TCPago).RoundSQL
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
+
+ If CompraActual.IVANoDeducible > 0 Then
+
+ Dim ImporteNOIVA As Decimal = CompraActual.IVANoDeducible * PorcentajePago
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteNOIVA, ImporteNOIVA, 280, CompraActual.SerieFolio, Concepto, Ret.IdCtaContIVANoAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
+
+ End If
+
+ End If
+
+ 'si tiene RET IVA y su proporcion
+ If Not ErrorMovtos AndAlso CompraActual.RetIVA > 0 Then
+ ImporteMovimiento = (PorcentajePago * CompraActual.RetIVA).RoundSQL
+ Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaRetIVA
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
+
+ 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe
+ If FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = ((PorcentajePago * CompraActual.RetIVA).RoundSQL * Pago.TCPago).RoundSQL
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
+
+ End If
+
+ 'si tiene Ret ISR y su proporcion
+ If Not ErrorMovtos AndAlso CompraActual.RetISR > 0 Then
+ ImporteMovimiento = (PorcentajePago * CompraActual.RetISR).RoundSQL
+ Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaRetISR
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
+
+ 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe
+ If FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = ((PorcentajePago * CompraActual.RetISR).RoundSQL * Pago.TCPago).RoundSQL
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
+
+ End If
+
+ 'si tiene IEPS y su proporcion
+ If Not ErrorMovtos AndAlso CompraActual.IEPS > 0 Then
+ ImporteMovimiento = (PorcentajePago * CompraActual.IEPS).RoundSQL
+ Dim Ret As New CompraRetenciones
+ If UsuarioActual.Empresa.TipoContabilidad = 2 Then
+ If ObjConta.GetRetCuenta(26, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero
+
+ If ObjConta.GetRetCuenta(25, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero
+
+ End If
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
+
+ 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe
+ If FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = ((PorcentajePago * CompraActual.IEPS).RoundSQL * Pago.TCPago).RoundSQL
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
+
+ End If
+
+ 'si tiene otros gastos/ingresos
+ ImporteMovimiento = Pago.OtroGastoIngreso
+ If Not ErrorMovtos AndAlso ImporteMovimiento <> 0 Then
+ Dim tOtCveCon As Integer = 211
+ Dim tOtTipoMovto As Boolean = False
+ If ImporteMovimiento < 0 Then
+ tOtTipoMovto = True : tOtCveCon = 78
+ ImporteMovimiento = Math.Abs(ImporteMovimiento)
+ End If
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tOtTipoMovto, ImporteMovimiento, ImporteMovimiento, tOtCveCon, CompraActual.SerieFolio, Concepto, 0, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
+
+ End If
+
+ If Not ErrorMovtos AndAlso CompraActual.TC <> Pago.TCPago Then
+ Dim ConceptoContable, IdCtaContable As Integer
+ Dim TipoMovimiento As Boolean
+ Dim Diferencia As Decimal = 0
+
+ If tImporteCompra <> tImportePago Then
+ If tImporteCompra > tImportePago Then
+ ConceptoContable = 64 : IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
+ TipoMovimiento = True
+ Else
+ ConceptoContable = 65 : IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
+ TipoMovimiento = False
+ End If
+ Diferencia = (tImporteCompra - tImportePago).Abs.RoundSQL
+
+ End If
+
+ If FuncionalidadFluctuacionImpuestos Then
+ Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, Pago.TCPago, CompraActual.TC)
+ Diferencia = (Pago.ImportePago * CompraActual.TC) - (Pago.ImportePago * Pago.TCPago) 'Añadimos la diferencia de perdida en la venta
+ Diferencia -= ((CompraActual.IVA * PorcentajePago) * CompraActual.TC) - ((CompraActual.IVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IVA
+ Diferencia += ((CompraActual.RetIVA * PorcentajePago) * CompraActual.TC) - ((CompraActual.RetIVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetIVA
+ Diferencia += ((CompraActual.RetISR * PorcentajePago) * CompraActual.TC) - ((CompraActual.RetISR * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetISR
+ Diferencia -= ((CompraActual.IEPS * PorcentajePago) * CompraActual.TC) - ((CompraActual.IEPS * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IEPS
+ Diferencia = Diferencia.Abs.RoundSQL
+ End If
+
+ If Diferencia <> 0 Then
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Diferencia, Diferencia, ConceptoContable, Concepto, Concepto, IdCtaContable, CveCompra:=CompraActual.CveCompra, CveSubProyecto:=CompraActual.CveSubProyecto, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE) Then
+ ErrorMovtos = True
+ End If
+ End If
+ End If
+
+ Return ErrorMovtos
+ End Function
+
+
+ Public Class CompraPago
+ Public Fecha As Date
+ Public Property CveIE As Integer = -1
+ Public Property CvePersonal As Integer = -1
+ Public Property ImportePago As Decimal = 0
+ Public Property CveMonedaPago As Integer = 1
+ Public Property TCPago As Decimal = 1
+ Public Property CveCompraAmortizacion As Integer = 0
+ Public Property OtroGastoIngreso As Decimal = 0
+ Public Property CveConceptoPago As Integer = -1 'no definido de inicio
+
+ End Class
+
+ Public Class Compra
+ Public Property CveCompra As Integer = -1
+ Public Property CveProveedor As Integer
+ Public Property CveTipoConceptoProveedor As Integer
+ Public Property CveMoneda As Integer
+ Public Property SerieFolio As String = ""
+ Public Property ProveedorNombre As String = ""
+ Public Property EsImportacion As Boolean = False
+ Public Property TC As Decimal = 1
+ Public Property Total As Decimal
+ Public Property IVA As Decimal
+ Public Property IVADeducible As Decimal
+ Public Property IVANoDeducible As Decimal = 0
+ Public Property IEPS As Decimal
+ Public Property RetIVA As Decimal
+ Public Property RetISR As Decimal
+ Public Property PorcentajeIVA As Decimal
+ Public Property CveConceptoRetIVA As Integer
+ Public Property CveConceptoRetISR As Integer
+ Public Property CveSubProyecto As Integer
+ Public Property UsuarioActual As Usuario
+
+ Public Property IdCtaContableProv As Integer
+ Public Property IdCtaContableProvComplementaria As Integer
+ Public ReadOnly Property ConceptoPrePolizaIVA As CompraRetenciones
+ Get
+ Dim Ret As New CompraRetenciones
+ If EsImportacion Then
+ Ret.CveConceptoAcreditable = 288
+ Ret.CveConceptoxAcreditar = 287
+ Else
+ Ret.CveConceptoAcreditable = 19
+ Ret.CveConceptoxAcreditar = 14
+ End If
+
+ If UsuarioActual.Empresa.TipoContabilidad = 2 Then
+
+ Dim IdCtaIVAXAcreditar, IdCtaIVAAcreditable As Integer
+ Dim dt As DataTable = ClsPaginas.GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA)
+ If dt.Rows.Count > 0 Then
+ IdCtaIVAXAcreditar = dt.Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
+ IdCtaIVAAcreditable = dt.Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
+ End If
+
+ Ret.IdCtaContableAcreditable = IdCtaIVAAcreditable
+ Ret.IdCtaContablexAcreditar = IdCtaIVAXAcreditar
+ End If
+
+ Return Ret
+ End Get
+ End Property
+
+ Public ReadOnly Property ConceptoPrePolizaRetIVA As CompraRetenciones
+ Get
+ Dim Ret As New CompraRetenciones
+ Dim Funcionalidad As Integer
+ If CveConceptoRetIVA = 1 Then
+ Funcionalidad = 308
+ Ret.CveConceptoAcreditable = 22
+ Ret.CveConceptoxAcreditar = 15
+ ElseIf CveConceptoRetIVA = 2 Then
+ Funcionalidad = 310
+ Ret.CveConceptoAcreditable = 184
+ Ret.CveConceptoxAcreditar = 183
+ ElseIf CveConceptoRetIVA = 3 Then
+ Funcionalidad = 312
+ Ret.CveConceptoAcreditable = 186
+ Ret.CveConceptoxAcreditar = 185
+ ElseIf CveConceptoRetIVA = 4 Then
+ Funcionalidad = 314
+ Ret.CveConceptoAcreditable = 249
+ Ret.CveConceptoxAcreditar = 248
+ ElseIf CveConceptoRetIVA = 5 Then
+ Funcionalidad = 578
+ Ret.CveConceptoAcreditable = 286
+ Ret.CveConceptoxAcreditar = 285
+ ElseIf CveConceptoRetIVA = 6 Then
+ Funcionalidad = 578
+ Ret.CveConceptoAcreditable = 333
+ Ret.CveConceptoxAcreditar = 334
+ End If
+
+ If UsuarioActual.Empresa.TipoContabilidad = 2 Then
+ If UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then
+ Ret.IdCtaContablexAcreditar = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero
+ Else
+ Dim ObjConta As New ClsContabilidad
+ If ObjConta.GetRetCuenta(Ret.CveConceptoAcreditable, UsuarioActual.CveEmpresa) Then
+ If ObjConta.DtResultados.Rows.Count > 0 Then
+ Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
+ End If
+ End If
+ If ObjConta.GetRetCuenta(Ret.CveConceptoxAcreditar, UsuarioActual.CveEmpresa) Then
+ If ObjConta.DtResultados.Rows.Count > 0 Then
+ Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
+ End If
+ End If
+ ObjConta.Dispose()
+ End If
+ End If
+
+ Return Ret
+ End Get
+ End Property
+ Public ReadOnly Property ConceptoPrePolizaRetISR As CompraRetenciones
+ Get
+ Dim Ret As New CompraRetenciones
+ Dim Funcionalidad As Integer
+ If CveConceptoRetISR = 1 Then
+ Funcionalidad = 316
+ Ret.CveConceptoAcreditable = 23
+ Ret.CveConceptoxAcreditar = 16
+ ElseIf CveConceptoRetISR = 2 Then
+ Funcionalidad = 318
+ Ret.CveConceptoAcreditable = 244
+ Ret.CveConceptoxAcreditar = 243
+ ElseIf CveConceptoRetISR = 3 Then
+ Funcionalidad = 348
+ Ret.CveConceptoAcreditable = 328
+ Ret.CveConceptoxAcreditar = 327
+ End If
+
+ If UsuarioActual.Empresa.TipoContabilidad = 2 Then
+ If UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then
+ Ret.IdCtaContableAcreditable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero
+ Else
+ Dim ObjConta As New ClsContabilidad
+ If ObjConta.GetRetCuenta(Ret.CveConceptoxAcreditar, UsuarioActual.CveEmpresa) Then
+ If ObjConta.DtResultados.Rows.Count > 0 Then
+ Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
+ End If
+ End If
+ If ObjConta.GetRetCuenta(Ret.CveConceptoAcreditable, UsuarioActual.CveEmpresa) Then
+ If ObjConta.DtResultados.Rows.Count > 0 Then
+ Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
+ End If
+ End If
+ ObjConta.Dispose()
+ End If
+ End If
+
+ Return Ret
+ End Get
+
+ End Property
+
+ End Class
+
+ Public Class CompraRetenciones
+ Public Property CveConceptoxAcreditar As Integer
+ Public Property CveConceptoAcreditable As Integer
+ Public Property IdCtaContablexAcreditar As Integer
+ Public Property IdCtaContableAcreditable As Integer
+ Public Property IdCtaContIVANoAcreditable As Integer
+
+ End Class
+
+
+
+#End Region
+
End Class
diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index 13350f597..8058e13d5 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -2636,13 +2636,20 @@ Public Class ClsVentas
-#Region "Firmas"
-
- Public Function GetVentasRelacionadas(CveVenta As Integer, CveEmpresa As Integer) As Boolean
+#Region "Relacionadas"
+ '''
+ '''
+ '''
+ '''
+ '''
+ ''' 1. Relacion de Padres, 2. Relacion sobre hijos
+ '''
+ Public Function GetVentasRelacionadas(CveVenta As Integer, CveEmpresa As Integer, Optional TipoRelacion As Integer = 1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasRelacionadasGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
+ .Add("@TipoRelacion", SqlDbType.Int).Value = TipoRelacion
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb
index 0a8ec268e..4c511f2c9 100644
--- a/Bancos/IE.aspx.vb
+++ b/Bancos/IE.aspx.vb
@@ -4303,6 +4303,7 @@ Partial Class Bancos_IE
Dim MensajeError = ""
Dim IdPolizaNueva = -1
Dim FolioPolizaNueva = -1
+ Dim MensajeLog As String = ""
Dim Banc As New ClsBancos
Dim ObjConta As New ClsContabilidad(Banc.IniciaTransacSQL())
@@ -4427,7 +4428,7 @@ Partial Class Bancos_IE
End If
End If
-
+ MensajeLog += "GeneraCancelacionEnCero:" & GeneraCancelacionEnCero
Dim CvePrePolizaCancelacion As Integer = 0
If Not GeneraCancelacionEnCero Then
@@ -4503,37 +4504,60 @@ Partial Class Bancos_IE
If CveMotivoCancelacion > 0 AndAlso CveSATMotivoCancelacion > 0 Then
- Dim ObjCancelacion As New Timbrado
- If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then
+ Dim DtComplementos As DataTable = Nothing
+ If CveIE > 0 AndAlso Banc.GetComplementoPagos(-1, CveIE, -1, UsuarioActual.CveEmpresa) Then
+ DtComplementos = Banc.DtResultados.FiltraParametros(" Estatus IN(1,3) ")
+ End If
- If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, Date.Now, "", 1) Then
- CargaComplementosPago()
- RegistraScript("$('#ModalCancelarComplemetno').modal('hide');")
- ErrorCancelarComplemento = False
- Alert("El complemento se cancelo correctamente.")
- End If
+ For Each RowComplemento As DataRow In DtComplementos.Rows
- Else
- Dim respCancelacion = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion)
- If respCancelacion.Verificado Then
+ CveComplementoPagoCancelar = RowComplemento("CveComplementoPago").ToString().ToEntero()
+ FolioFiscalCancelar = RowComplemento("FolioFiscal").ToString()
+ '' Dim RFCEmisor As String = UsuarioActual.Empresa.RFC
+ RFCReceptorCancelar = RowComplemento("RFCReceptor").ToString()
+ CvePACCancelacion = RowComplemento("CvePAC").ToString().ToEntero()
- If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then
+ Dim ObjCancelacion As New Timbrado
+ If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then
+
+ If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, Date.Now, "", 1) Then
CargaComplementosPago()
RegistraScript("$('#ModalCancelarComplemetno').modal('hide');")
ErrorCancelarComplemento = False
Alert("El complemento se cancelo correctamente.")
+ Else
+ ErrorCancelarComplemento = True
End If
Else
- Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia)
+ Dim respCancelacion = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion)
+ If respCancelacion.Verificado Then
+
+ If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then
+ CargaComplementosPago()
+ RegistraScript("$('#ModalCancelarComplemetno').modal('hide');")
+ ErrorCancelarComplemento = False
+ Alert("El complemento se cancelo correctamente.")
+ End If
+
+ Else
+ Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia)
+ ErrorCancelarComplemento = True
+ End If
+
End If
+ Next
+
+ If DtComplementos IsNot Nothing Then
+ DtComplementos.Dispose()
+ DtComplementos = Nothing
End If
+
+ Else
+ ErrorCancelarComplemento = True
End If
-
-
-
Else
ErrorCancelarComplemento = False
End If
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 5fc0f6dcc..3af2c50b1 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -3081,7 +3081,7 @@ Partial Class Compras_Compras
'TIENE AMORTIZACIÓN
If GvAnticiposSel.Rows.Count > 0 Then
- If Not DdlTipoComprobante.SelectedValue.Contiene("NC") Then
+ If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then
BtnCancelarCompra.Visible = False
BtnEliminarCompra.Visible = False
End If
@@ -5861,8 +5861,6 @@ Partial Class Compras_Compras
'Dim CveIEProvisional = CveIE
End If
-
-
If ObjConta.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPrePoliza) Then
Dim DTPlatilla As New DataTable
@@ -5961,7 +5959,6 @@ Partial Class Compras_Compras
If TipoCreditoInteres Then
-
Dim importeMovimientoIn As Decimal = ImporteIECredito - importeMovimiento
Dim importeMNIn As Decimal = importeMovimientoIn * tipoCambioActual * Multiplicador
@@ -5974,7 +5971,7 @@ Partial Class Compras_Compras
End If
End If
End If
-
+ importeMovimiento = 0 : importeMN = 0
If TipoCambioCompra > 1 AndAlso DdlMoneda.SelectedValue.ToEntero <> 1 Then Concepto += $" TC{TipoCambioCompra} ${importeMovimiento.FormatoNumero(2)}"
If TipoCambioCompra = 1 Or DdlMoneda.SelectedValue.ToEntero = 1 Then
@@ -6019,6 +6016,17 @@ Partial Class Compras_Compras
IdCtaContable = IdCuentaBancaria
End If
+ If importeMovimiento <> 0 Then
+ Dim Pago As New CompraPago
+ Pago.ImportePago = importeMovimiento
+ Pago.CveIE = CveIE
+ Pago.CveMonedaPago = 1
+ Pago.CveCompraAmortizacion = -1
+ 'Pago.CveConceptoPago = CveConceptoPago
+
+ ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
+ End If
+
Case 14 'IVA X Acreditar
importeMovimiento = CompraActual.IVA
importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL
@@ -6071,13 +6079,13 @@ Partial Class Compras_Compras
End If
End If
- Case 224 'Otros impuestos
- If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then
- importeMovimiento = OtrosImpuestos
- importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador
- If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}"
- IdCtaContable = If(UsuarioActual.CveEmpresa = 119, 1171, -1)
- End If
+ 'Case 224 'Otros impuestos
+ ' If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then
+ ' importeMovimiento = OtrosImpuestos
+ ' importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador
+ ' If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}"
+ ' IdCtaContable = If(UsuarioActual.CveEmpresa = 119, 1171, -1)
+ ' End If
Case 15 'RetIVA X Acreditar Honorarios/Serv. Prof.
If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then
@@ -7070,6 +7078,17 @@ Partial Class Compras_Compras
End If
End If
+ If importeMovimiento > 0 Then
+ Dim Pago As New CompraPago
+ Pago.ImportePago = importeFE
+ Pago.CveIE = -1
+ Pago.CvePersonal = CvePersonal
+
+ ErrorPrepoliza = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
+
+ End If
+
+
Case 21 'Anticipo
If ArrAnticipos.Count > 0 Then
@@ -7213,12 +7232,15 @@ Partial Class Compras_Compras
If Ant.TipoMovto.Contiene("Ant") Then
- Dim Pago As New CompraPago
- Pago.ImportePago = importeMovimientoNC
- Pago.CveIE = Ant.CveIE
- Pago.CveMonedaPago = 1
+ If importeMovimientoNC <> 0 Then
+ Dim Pago As New CompraPago
+ Pago.ImportePago = importeMovimientoNC
+ Pago.CveIE = Ant.CveIE
+ Pago.CveMonedaPago = 1
- ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
+ ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
+
+ End If
End If
@@ -7456,13 +7478,16 @@ Partial Class Compras_Compras
If CveIE > 0 Then
- 'inserto los movimientos de la conta para abonar al saldo
- Dim Pago As New CompraPago
- Pago.ImportePago = ImporteCompra
- Pago.CveIE = CveIE
- Pago.CveMonedaPago = 1
+ If ImporteCompra <> 0 Then
+ 'inserto los movimientos de la conta para abonar al saldo
+ Dim Pago As New CompraPago
+ Pago.ImportePago = ImporteCompra
+ Pago.CveIE = CveIE
+ Pago.CveMonedaPago = 1
- ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
+ ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
+
+ End If
Else
ErrorMovtosIE = True
@@ -20561,111 +20586,6 @@ Partial Class Compras_Compras
End Sub
-
- Private Function AplicaPrePolizaPago(CompraActual As Compra, Pago As CompraPago, CvePrePoliza As Integer, ByRef ObjConta As ClsContabilidad) As Boolean
- Dim ErrorMovtos As Boolean = False
- Dim PorcentajePago As Decimal = Pago.ImportePago / CompraActual.Total
- Dim ImporteMovimiento As Decimal = 0
- Dim CveConceptoContableComplementaria As Integer = 201
-
- Pago.CveConceptoPago = If(Pago.CveConceptoPago = -1, 17, Pago.CveConceptoPago) 'si viene en parametro lo toma com primera opcion, sino el 17
- If CompraActual.CveTipoConceptoProveedor = 2 Then Pago.CveConceptoPago = 308 'cuando es acreedor
- If CompraActual.CveMoneda <> 1 Then
- Select Case Pago.CveConceptoPago
- Case 17 : Pago.CveConceptoPago = 312
- Case 308 : Pago.CveConceptoPago = 309 : CveConceptoContableComplementaria = 307
- Case Else
- End Select
- End If
- Dim Concepto As String = CompraActual.ProveedorNombre & " F:" & CompraActual.SerieFolio
-
- 'movimiento de pago proveedor
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, Pago.CveConceptoPago, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=CompraActual.TC) Then
- ErrorMovtos = True
- End If
-
- 'movimiento de pago proveedor Complementaria
- If Not ErrorMovtos AndAlso CompraActual.CveMoneda > 1 Then
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (Pago.ImportePago * CompraActual.TC - Pago.ImportePago).RoundSQL, CveConceptoContableComplementaria, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=CompraActual.TC, ImporteME:=Pago.ImportePago) Then
- ErrorMovtos = True
- End If
- End If
-
- 'si tiene iva y su proporcion
- ImporteMovimiento = (PorcentajePago * CompraActual.IVA).RoundSQL
- If Not ErrorMovtos AndAlso ImporteMovimiento <> 0 Then
-
- Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaIVA
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- End If
-
- 'si tiene RET IVA y su proporcion
- ImporteMovimiento = (PorcentajePago * CompraActual.RetIVA).RoundSQL
- If Not ErrorMovtos AndAlso ImporteMovimiento > 0 Then
- Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaRetIVA
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- End If
-
- 'si tiene Ret ISR y su proporcion
- ImporteMovimiento = (PorcentajePago * CompraActual.RetISR).RoundSQL
- If Not ErrorMovtos AndAlso ImporteMovimiento > 0 Then
- Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaRetISR
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- End If
-
- 'si tiene IEPS y su proporcion
- ImporteMovimiento = (PorcentajePago * CompraActual.IEPS).RoundSQL
- If Not ErrorMovtos AndAlso ImporteMovimiento > 0 Then
- Dim Ret As New CompraRetenciones
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- If ObjConta.GetRetCuenta(26, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero
- End If
- If ObjConta.GetRetCuenta(25, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero
- End If
- End If
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True
-
- End If
-
- If Not ErrorMovtos AndAlso CompraActual.TC <> Pago.TCPago Then
- ImporteMovimiento = (Pago.ImportePago * CompraActual.TC) - (Pago.ImportePago * Pago.TCPago)
- Dim ConceptoContable, IdCtaContable As Integer
- Dim TipoMovimiento As Boolean
- If ImporteMovimiento > 0 Then
- ConceptoContable = 64 : TipoMovimiento = True
- IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
- ElseIf ImporteMovimiento < 0 Then
- ConceptoContable = 65 : TipoMovimiento = False
- IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
- End If
-
- ImporteMovimiento = ImporteMovimiento.Abs.RoundSQL()
- If ImporteMovimiento <> 0 Then
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, ImporteMovimiento, ConceptoContable, Concepto, Concepto, IdCtaContable, CveCompra:=CompraActual.CveCompra, CveSubProyecto:=CompraActual.CveSubProyecto, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE) Then
- ErrorMovtos = True
- End If
- End If
- End If
-
- Return ErrorMovtos
- End Function
-
End Class
Public Class MMensajeDevolucion
@@ -20675,167 +20595,3 @@ Public Class MMensajeDevolucion
Public Property Total As Decimal
End Class
-Public Class CompraPago
- Public Property CveIE As Integer = -1
- Public Property CvePersonal As Integer = -1
- Public Property ImportePago As Decimal
- Public Property CveMonedaPago As Integer = 1
- Public Property TCPago As Decimal = 1
- Public Property CveCompraAmortizacion As Integer
- Public Property CveConceptoPago As Integer = -1 'no definido de inicio
-
-End Class
-
-Public Class Compra
- Public Property CveCompra As Integer = -1
- Public Property CveProveedor As Integer
- Public Property CveTipoConceptoProveedor As Integer
- Public Property CveMoneda As Integer
- Public Property SerieFolio As String = ""
- Public Property ProveedorNombre As String = ""
- Public Property EsImportacion As Boolean = False
- Public Property TC As Decimal = 1
- Public Property Total As Decimal
- Public Property IVA As Decimal
- Public Property IEPS As Decimal
- Public Property RetIVA As Decimal
- Public Property RetISR As Decimal
- Public Property PorcentajeIVA As Decimal
- Public Property CveConceptoRetIVA As Integer
- Public Property CveConceptoRetISR As Integer
- Public Property CveSubProyecto As Integer
- Public Property UsuarioActual As Usuario
-
- Public Property IdCtaContableProv As Integer
- Public Property IdCtaContableProvComplementaria As Integer
- Public ReadOnly Property ConceptoPrePolizaIVA As CompraRetenciones
- Get
- Dim Ret As New CompraRetenciones
- If EsImportacion Then
- Ret.CveConceptoAcreditable = 288
- Ret.CveConceptoxAcreditar = 287
- Else
- Ret.CveConceptoAcreditable = 19
- Ret.CveConceptoxAcreditar = 14
- End If
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
-
- Dim IdCtaIVAXAcreditar, IdCtaIVAAcreditable As Integer
- Dim dt As DataTable = ClsPaginas.GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA)
- If dt.Rows.Count > 0 Then
- IdCtaIVAXAcreditar = dt.Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaIVAAcreditable = dt.Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- End If
-
- Ret.IdCtaContableAcreditable = IdCtaIVAAcreditable
- Ret.IdCtaContablexAcreditar = IdCtaIVAXAcreditar
- End If
-
- Return Ret
- End Get
- End Property
-
- Public ReadOnly Property ConceptoPrePolizaRetIVA As CompraRetenciones
- Get
- Dim Ret As New CompraRetenciones
- Dim Funcionalidad As Integer
- If CveConceptoRetIVA = 1 Then
- Funcionalidad = 308
- Ret.CveConceptoAcreditable = 22
- Ret.CveConceptoxAcreditar = 15
- ElseIf CveConceptoRetIVA = 2 Then
- Funcionalidad = 310
- Ret.CveConceptoAcreditable = 184
- Ret.CveConceptoxAcreditar = 183
- ElseIf CveConceptoRetIVA = 3 Then
- Funcionalidad = 312
- Ret.CveConceptoAcreditable = 186
- Ret.CveConceptoxAcreditar = 185
- ElseIf CveConceptoRetIVA = 4 Then
- Funcionalidad = 314
- Ret.CveConceptoAcreditable = 249
- Ret.CveConceptoxAcreditar = 248
- ElseIf CveConceptoRetIVA = 5 Then
- Funcionalidad = 578
- Ret.CveConceptoAcreditable = 286
- Ret.CveConceptoxAcreditar = 285
- ElseIf CveConceptoRetIVA = 6 Then
- Funcionalidad = 578
- Ret.CveConceptoAcreditable = 333
- Ret.CveConceptoxAcreditar = 334
- End If
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- If UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then
- Ret.IdCtaContablexAcreditar = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero
- Else
- Dim ObjConta As New ClsContabilidad
- If ObjConta.GetRetCuenta(Ret.CveConceptoAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjConta.DtResultados.Rows.Count > 0 Then
- Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- If ObjConta.GetRetCuenta(Ret.CveConceptoxAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjConta.DtResultados.Rows.Count > 0 Then
- Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- ObjConta.Dispose()
- End If
- End If
-
- Return Ret
- End Get
- End Property
- Public ReadOnly Property ConceptoPrePolizaRetISR As CompraRetenciones
- Get
- Dim Ret As New CompraRetenciones
- Dim Funcionalidad As Integer
- If CveConceptoRetISR = 1 Then
- Funcionalidad = 316
- Ret.CveConceptoAcreditable = 23
- Ret.CveConceptoxAcreditar = 16
- ElseIf CveConceptoRetISR = 2 Then
- Funcionalidad = 318
- Ret.CveConceptoAcreditable = 244
- Ret.CveConceptoxAcreditar = 243
- ElseIf CveConceptoRetISR = 3 Then
- Funcionalidad = 348
- Ret.CveConceptoAcreditable = 328
- Ret.CveConceptoxAcreditar = 327
- End If
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- If UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then
- Ret.IdCtaContableAcreditable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero
- Else
- Dim ObjConta As New ClsContabilidad
- If ObjConta.GetRetCuenta(Ret.CveConceptoxAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjConta.DtResultados.Rows.Count > 0 Then
- Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
- End If
- End If
- If ObjConta.GetRetCuenta(Ret.CveConceptoAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjConta.DtResultados.Rows.Count > 0 Then
- Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
- End If
- End If
- ObjConta.Dispose()
- End If
- End If
-
- Return Ret
- End Get
-
- End Property
-
-End Class
-
-Public Class CompraRetenciones
- Public Property CveConceptoxAcreditar As Integer
- Public Property CveConceptoAcreditable As Integer
- Public Property IdCtaContablexAcreditar As Integer
- Public Property IdCtaContableAcreditable As Integer
-End Class
-
diff --git a/Compras/ReembolsosComprobaciones.aspx b/Compras/ReembolsosComprobaciones.aspx
index 165b2899a..772a28732 100644
--- a/Compras/ReembolsosComprobaciones.aspx
+++ b/Compras/ReembolsosComprobaciones.aspx
@@ -294,7 +294,7 @@
+ DataKeyNames="CveCompra,FechaCompra,CveProveedor,Proveedor,SerieFolio,SubTotal,IVA,RetIVA,RetISR,IEPS,Total,TipoCambio,IdCtaContProveedores,IdCtaContAcreedor,CvePrePoliza,IdPoliza,CveRetIVAConcepto,CveRetISRConcepto,IVAPorcentaje,IVADeducible,IVANoDeducible,CveTipoConcepto,CveSubProyecto,IVAPorPagar">
@@ -337,9 +337,9 @@
- Monto Compra (Saldo Orig.)
+ Total
-
+
diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb
index adea81f2d..43a31ced1 100644
--- a/Compras/ReembolsosComprobaciones.aspx.vb
+++ b/Compras/ReembolsosComprobaciones.aspx.vb
@@ -1,4 +1,6 @@
-
+Option Explicit On
+Option Strict On
+
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
@@ -25,6 +27,24 @@ Partial Class Compras_ReembolsosComprobaciones
ViewState("CveMoneda") = value
End Set
End Property
+ Private Property CveMonedaPago As Integer
+ Get
+ Return ViewState("CveMonedaPago").ToString.ToEntero
+ End Get
+ Set(value As Integer)
+ ViewState("CveMonedaPago") = value
+ End Set
+ End Property
+
+ Private Property TipoCambioPago As Decimal
+ Get
+ Return ViewState("TipoCambioPago").ToString.ToDecimal
+ End Get
+ Set(value As Decimal)
+ ViewState("TipoCambioPago") = value
+ End Set
+ End Property
+
Private Property CvePrePolizaComprobacion As Integer
Get
@@ -92,6 +112,7 @@ Partial Class Compras_ReembolsosComprobaciones
TxtAboneA.Enabled = False
CveCuentaBancaria = -1
ViewState("CveMoneda") = 1
+ CveMonedaPago = 1
Folio = ""
'Cargar Filtros
@@ -224,12 +245,13 @@ Partial Class Compras_ReembolsosComprobaciones
HdnCheque.Value = tCveIE.ToString
LtChequeImporte.Text = ObjIE.Importe.FormatoNumero
+ CveMonedaPago = ObjIE.CveMoneda
+ TipoCambioPago = ObjIE.TipoCambio
Dim IndexCheque = If(UsuarioActual.TienePermisoProceso(113), DDlCheques.SelectedIndex - 1, DDlCheques.SelectedIndex)
TxtChequeSaldo.Text = DtCheques.Rows(DDlCheques.SelectedIndex - 1)("Saldo").ToString.FormatoNumero
-
Else
Alert("El Documento solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia)
End If
@@ -323,7 +345,7 @@ Partial Class Compras_ReembolsosComprobaciones
Dim dr As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("CveCuenta = " & DdlCuenta.SelectedValue)
If dr IsNot Nothing Then
- CveMoneda = dr("CveMoneda").ToString.ToEntero
+ CveMonedaPago = dr("CveMoneda").ToString.ToEntero
IdCuentaBancaria = dr("IdCtaContable").ToString.ToEntero
End If
@@ -540,7 +562,7 @@ Partial Class Compras_ReembolsosComprobaciones
Dim dr As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("CveCuenta = " & DdlCuenta.SelectedValue)
If dr IsNot Nothing Then
- CveMoneda = dr("CveMoneda").ToString.ToEntero
+ CveMonedaPago = dr("CveMoneda").ToString.ToEntero
IdCuentaBancaria = dr("IdCtaContable").ToString.ToEntero
End If
@@ -609,29 +631,18 @@ Partial Class Compras_ReembolsosComprobaciones
End If
End If
-
-
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
Dim SaldoCheque = If(HdnCheque.Value.ToEntero > 0, TxtChequeSaldo.Text.ToDecimal, TxtImporte.Text.ToDecimal)
- Dim ImportePagar = 0.0
- Dim ImporteOriginal = 0.0
- Dim ImporteMovto = 0.0
+
Dim PorcentajePago As Decimal = 1
Dim FechaMovimiento As Date = TxtFechaDocumento.Text.ToDate
- Dim ConceptoMovimiento As String = ""
- Dim Referencia As String = ""
Dim IdCtaProveedor As Integer = 0
- Dim IdCtaIVAxAcreditar As Integer = 0
- Dim IdCtaIVAAcreditable As Integer = 0
- Dim IdCtaRetIVA As Integer = 0
- Dim IdCtaRetISR As Integer = 0
Dim IdCtaOtrosProductos As Integer = 0
Dim CvePrePolizaUnificar As Integer = 0
-
Dim SeUnifico = False
If UsuarioActual.Empresa.TipoContabilidad = 2 Then
@@ -650,34 +661,6 @@ Partial Class Compras_ReembolsosComprobaciones
End If
End If
- 'Obtenemos la cuenta del IVAxAcreditar
- If ObjMov.GetRetCuenta(14, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaIVAxAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero
- End If
- End If
-
- 'Obtenemos la cuenta del IVAAcreditable
- If ObjMov.GetRetCuenta(19, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero
- End If
- End If
-
- 'Obtenemos la cuenta del RetIVA
- If ObjMov.GetRetCuenta(15, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaRetIVA = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
-
- 'Obtenemos la cuenta del RetISR
- If ObjMov.GetRetCuenta(16, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaRetISR = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
- End If
- End If
-
'Obtenemos la cuenta del IdCtaOtrosProductos
If ObjMov.GetRetCuenta(132, UsuarioActual.CveEmpresa) Then
If ObjMov.DtResultados.Rows.Count > 0 Then
@@ -690,31 +673,41 @@ Partial Class Compras_ReembolsosComprobaciones
For Each gvr As GridViewRow In GvCxP.Rows
If gvr.FCCheckBox("Chk").Checked Then
- ConceptoMovimiento = $"{gvr.DataKey("Proveedor")} F:{gvr.DataKey("SerieFolio")} {If(DdlPersonal.Visible, DdlPersonal.SelectedItem.Text, DdlCajaChica.SelectedItem.Text)}"
- Referencia = gvr.DataKey("SerieFolio").ToString
- IdCtaProveedor = gvr.DataKey("IdCtaContProveedores").ToEntero
+ Dim ImporteMovto As Decimal
+ Dim ConceptoMovimiento As String = $"{gvr.DataKey("Proveedor")} F:{gvr.DataKey("SerieFolio")} {If(DdlPersonal.Visible, DdlPersonal.SelectedItem.Text, DdlCajaChica.SelectedItem.Text)}"
+ Dim Referencia As String = gvr.DataKey("SerieFolio").ToString
+ Dim ImportePagar, ImporteOriginal As Decimal
-
- ImportePagar = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
- ImporteOriginal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
-
- Dim CveConceptoContablePago As Integer = 17
- If gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoContablePago = 308 'cuando es acreedor
- If CveMoneda <> 1 Then
- Select Case CveConceptoContablePago
- Case 17
- CveConceptoContablePago = 312
- Case 308
- CveConceptoContablePago = 309
- Case Else
- End Select
- End If
If gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then
IdCtaProveedor = gvr.DataKey("IdCtaContAcreedor").ToEntero
Else
IdCtaProveedor = gvr.DataKey("IdCtaContProveedores").ToEntero
End If
+ Dim CompraActual As New Compra
+ CompraActual.CveCompra = gvr.DataKey("CveCompra").ToEntero
+ CompraActual.CveTipoConceptoProveedor = gvr.DataKey("CveTipoConcepto").ToEntero
+ CompraActual.CveProveedor = gvr.DataKey("CveProveedor").ToEntero
+ CompraActual.CveMoneda = gvr.DataKey("CveMoneda").ToEntero
+ CompraActual.SerieFolio = gvr.DataKey("SerieFolio").ToString
+ CompraActual.ProveedorNombre = gvr.DataKey("Proveedor")
+ CompraActual.TC = gvr.DataKey("TipoCambio").ToDecimal
+ CompraActual.Total = gvr.DataKey("Total").ToDecimal
+ CompraActual.IVA = gvr.DataKey("IVA").ToDecimal
+ CompraActual.IVADeducible = gvr.DataKey("IVADeducible").ToDecimal
+ CompraActual.IEPS = gvr.DataKey("IEPS").ToDecimal
+ CompraActual.RetIVA = gvr.DataKey("RetIVA").ToDecimal
+ CompraActual.RetISR = gvr.DataKey("RetISR").ToDecimal
+ CompraActual.CveConceptoRetISR = gvr.DataKey("CveRetISRConcepto").ToEntero
+ CompraActual.CveConceptoRetIVA = gvr.DataKey("CveRetIVAConcepto").ToEntero
+ CompraActual.PorcentajeIVA = gvr.DataKey("IVAPorcentaje").ToDecimal
+ CompraActual.UsuarioActual = UsuarioActual
+ CompraActual.CveSubProyecto = gvr.DataKey("CveSubProyecto").ToEntero
+ CompraActual.IdCtaContableProv = IdCtaProveedor
+
+ ImportePagar = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
+ ImporteOriginal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
+
If SaldoCheque > 0 Then
'ImporteMovto = If(ImportePagar > SaldoCheque, SaldoCheque, ImportePagar)
@@ -725,7 +718,6 @@ Partial Class Compras_ReembolsosComprobaciones
'SE USARA PARA PODER ELIMINAR UNA COMPROBACION
CvePrePolizaPagoOriginal = ObjMov.AddPrePolizas("Compras/Comprobaciones6", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", $"Compra: { gvr.DataKey("SerieFolio").ToString }", TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
-
'registramos el nuevo IE
If CveCajaChica > 0 Then
CveIEPago = 0
@@ -735,229 +727,43 @@ Partial Class Compras_ReembolsosComprobaciones
CveIEPago = CveIERegistrado
End If
-
- Dim ComisionTmp As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal
+ Dim Pago As New CompraPago
+ Pago.Fecha = TxtFechaDocumento.Text.ToDate
+ Pago.ImportePago = ImporteMovto
+ Pago.CveIE = CveIEPago
+ Pago.CveMonedaPago = CveMonedaPago
+ Pago.TCPago = TipoCambioPago
'Otros Ingresos
- If MsgError = "" AndAlso (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso ComisionTmp <> 0 Then
-
- Dim tOtCveCon As Integer = 211
- Dim tOtTipoMovto As Boolean = False
- If ComisionTmp < 0 Then
- tOtTipoMovto = True : tOtCveCon = 78
- ComisionTmp = Math.Abs(ComisionTmp)
- End If
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, tOtTipoMovto, ComisionTmp, Referencia, tOtCveCon, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ComisionTmp), ImporteMX:=ComisionTmp * tipoCambio) Then
- MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos"
- End If
- If CveCajaChica > 0 AndAlso Not HdnCheque.Value.ToEntero > 0 Then
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, Not tOtTipoMovto, ComisionTmp, Referencia, tOtCveCon, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ComisionTmp), ImporteMX:=ComisionTmp * tipoCambio, Contabilizable:=False) Then
- MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos"
- End If
- End If
+ If MsgError = "" AndAlso (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal <> 0 Then
+ Pago.OtroGastoIngreso = gvr.FCTextBox("TxtComision").Text.ToDecimal
End If
- If gvr.DataKey("Original").ToDecimal > 0 Then PorcentajePago = (ImporteMovto / gvr.DataKey("Original").ToDecimal) Else PorcentajePago = 1
-
If MsgError = "" AndAlso Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158)) Then
- Dim ImporteMovtoTmp As Decimal = ImporteMovto
- 'If ComisionTmp < 0 Then
- ' ImporteMovtoTmp = ImporteMovto + ComisionTmp
- 'End If
-
'Si es caja chica metemos el concepto 30, si es funcionario metemos 29
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovtoTmp, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovtoTmp), ImporteMX:=ImporteMovtoTmp * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then
+ ImporteMovto += Pago.OtroGastoIngreso ' si ajuste, sedebe de aplicar en su contraparte
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovto, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then
MsgError = "Detalle"
End If
- End If
- 'Pago Proveedores
- If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteMovto, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
- MsgError = "Detalle"
- End If
-
- If MsgError = "" AndAlso gvr.DataKey("IVA").ToDecimal > 0 Then
- Dim PorcentajeIVA As Decimal = gvr.DataKey("IVAPorcentaje").ToDecimal
- Dim IdCtaContIVAXAcreditar As Integer = 0
- Dim IdCtaContIVAAcreditable As Integer = 0
- Dim IdCtaContIVANoAcreditable As Integer = 0
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows.Count > 0 Then
- IdCtaContIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaContIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- IdCtaContIVANoAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero
- End If
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- If ImporteMovto = gvr.FCLiteral("LtlSaldo").Text.ToDouble Then
- 'Agrego el IVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("IVA").ToDecimal, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal), ImporteMX:=(gvr.DataKey("IVA").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el IVA
- If gvr.DataKey("IVADeducible").ToDecimal > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("IVADeducible").ToDecimal, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVADeducible").ToDecimal), ImporteMX:=(gvr.DataKey("IVADeducible").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
- End If
- End If
- Else
- 'Agrego el IVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("IVA").ToDecimal * PorcentajePago, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
- 'Agrego el IVA
- If gvr.DataKey("IVADeducible").ToDecimal > 0 Then
- Dim ImporteIVA As Decimal = gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteIVA, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteIVA), ImporteMX:=(ImporteIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
- End If
+ If AplicaPrePolizaPago(CompraActual, Pago, CvePrePolizaPago, ObjMov) Then
+ MsgError = "Detalle"
End If
- If gvr.DataKey("IVANoDeducible").ToDecimal > 0 Then
-
- Dim ImporteNOIVA As Decimal = gvr.DataKey("IVANoDeducible").ToDecimal * PorcentajePago
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVANoAcreditable > 0, IdCtaContIVANoAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteNOIVA), ImporteMX:=(ImporteNOIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
- End If
-
- End If
-
- If MsgError = "" AndAlso gvr.DataKey("RetIVA").ToDecimal > 0 Then
- Dim ConceptoContableRetIVAXAcreditar = 0, ConceptoContableRetIVAAcreditable = 0, IdCtaContableRetIVAXAcreditar = 0, IdCtaContableRetIVAAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0
- Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero
- Case 1
- ConceptoContableRetIVAXAcreditar = 15
- ConceptoContableRetIVAAcreditable = 22
- CveFunc = 307
- CveFuncAcreditable = 308
- Case 2
- ConceptoContableRetIVAXAcreditar = 183
- ConceptoContableRetIVAAcreditable = 184
- CveFunc = 309
- CveFuncAcreditable = 310
- Case 3
- ConceptoContableRetIVAXAcreditar = 185
- ConceptoContableRetIVAAcreditable = 186
- CveFunc = 311
- CveFuncAcreditable = 312
- Case 4
- ConceptoContableRetIVAXAcreditar = 248
- ConceptoContableRetIVAAcreditable = 249
- CveFunc = 313
- CveFuncAcreditable = 314
- Case 5
- ConceptoContableRetIVAXAcreditar = 285
- ConceptoContableRetIVAAcreditable = 286
- CveFunc = 578
- CveFuncAcreditable = 578
- End Select
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero > 0 Then
- IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAAcreditable = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero > 0 Then
- IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- If ImporteMovto = gvr.FCLiteral("LtlSaldo").Text.ToDouble Then
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("RetIVA").ToDecimal, Referencia, ConceptoContableRetIVAXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAXAcreditar, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("RetIVA").ToDecimal, Referencia, ConceptoContableRetIVAAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAAcreditable, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
- End If
- Else
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAXAcreditar, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAAcreditable, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
- End If
-
- Dim AcreditaISR As Boolean = False
- If UsuarioActual.CveEmpresa = 140 Then AcreditaISR = True
-
- If MsgError = "" AndAlso AcreditaISR AndAlso gvr.DataKey("RetISR").ToDecimal > 0 Then
- Dim ConceptoContableRetISRXAcreditar = 0, ConceptoContableRetISRAcreditable = 0, IdCtaContableRetISRXAcreditar = 0, IdCtaContableRetISRAcreditable = 0
- Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero
- Case 1
- ConceptoContableRetISRXAcreditar = 16
- ConceptoContableRetISRAcreditable = 23
-
- Case 2
- ConceptoContableRetISRXAcreditar = 243
- ConceptoContableRetISRAcreditable = 244
- CveFunc = 309
- CveFuncAcreditable = 310
-
- Case 3
- ConceptoContableRetISRXAcreditar = 327
- ConceptoContableRetISRAcreditable = 328
- CveFunc = 311
-
- End Select
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
- End If
End If
Dim SaldoExcedente As Decimal = gvr.FCTextBox("TxtSaldoExcedente").Text.ToDecimal
If MsgError = "" AndAlso UsuarioActual.Empresa.Funcionalidad(506) = "1" And CbPermitirExcedente.Checked = True And SaldoExcedente > 0 Then
If DDlPermitirExcedente.SelectedValue = "1" Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, SaldoExcedente, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=(SaldoExcedente) * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
- MsgError = "Detalle Reembolso Personal"
- End If
+
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, SaldoExcedente, Referencia, 132, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaOtrosProductos, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
MsgError = "Detalle Reembolso Personal"
End If
ElseIf DDlPermitirExcedente.SelectedValue = "2" Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, SaldoExcedente, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
- MsgError = "Detalle Reembolso Personal Excedente"
- End If
+
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, SaldoExcedente, Referencia, 29, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaPersonal, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
MsgError = "Detalle Reembolso Personal Excedente"
End If
@@ -967,12 +773,6 @@ Partial Class Compras_ReembolsosComprobaciones
'Unificamos el cheque y la caja chica con los pagos y facturas
If MsgError = "" AndAlso Not IdPoliza > 0 AndAlso Not gvr.DataKey("IdPoliza").ToEntero > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(219) = "1" Then
If MsgError = "" Then
- 'CvePrePolizaUnificar = CvePrePolizaPago
- ''codigo temoral, RMF. falta criterio de unificacion, en una póliza nueva de diario
- 'If UsuarioActual.CveEmpresa = 119 Then
- ' CvePrePolizaUnificar = ObjMov.AddPrePolizas("Compras/ComprobacionesU", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=TxtFolio.Text.Trim.ToEntero)
- ' 'CvePrePolizaUnificar = -1 ' unificar en una de diario
- 'End If
If Not ObjMov.PrePolizaUnificacion(CvePrePolizaPago, gvr.DataKey("CvePrePoliza").ToEntero) Then
MsgError = "No se pudo unificar la prepoliza"
@@ -1000,177 +800,25 @@ Partial Class Compras_ReembolsosComprobaciones
End If
End If
- If gvr.DataKey("Original").ToDecimal > 0 Then PorcentajePago = (ImporteMovto / gvr.DataKey("Original").ToDecimal).RoundSQL Else PorcentajePago = 1
+ Dim Pago As New CompraPago
+ Pago.ImportePago = ImporteMovto
+ Pago.CveIE = CveIEExcedente
+ Pago.CveMonedaPago = CveMoneda
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=(ImporteMovto * tipoCambio)) Then
+
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, 30, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCuentaBancaria, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CveCuenta:=CveCuentaBancaria) Then
+ MsgError = "no se pudo insertar el detalle de la poliza"
+ End If
+
+ If Not AplicaPrePolizaPago(CompraActual, Pago, CvePrePolizaPago, ObjMov) Then
MsgError = "Detalle"
- Exit For
- Else
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, 30, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCuentaBancaria, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CveCuenta:=CveCuentaBancaria) Then
- MsgError = "no se pudo insertar el detalle de la poliza"
+ End If
+
+ 'Otros Ingresos
+ If ChkAjusteOI.Checked Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, UsuarioActual.Empresa.IdCuentaOtrosIngresos, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio) Then
+ MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos"
End If
-
- 'Otros Ingresos
- If ChkAjusteOI.Checked Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, UsuarioActual.Empresa.IdCuentaOtrosIngresos, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio) Then
- MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos"
- End If
- End If
-
- '*********IVA. siempre se registra aunque sea cero PREGUNTAR POR EL CONCEPTO DE IVA EN Conta_Conceptos
- If MsgError = "" AndAlso gvr.DataKey("IVA").ToDecimal > 0 Then
- Dim PorcentajeIVA As Decimal = gvr.DataKey("IVAPorcentaje").ToDecimal
- Dim IdCtaContIVAXAcreditar As Integer = 0
- Dim IdCtaContIVAAcreditable As Integer = 0
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows.Count > 0 Then
- IdCtaContIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaContIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- If gvr.FCTextBox("TxtAbonar").Text.ToDecimal = gvr.FCLiteral("LtlSaldo").Text.ToDouble Then
- 'Agrego el IVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("IVA").ToDecimal, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal), ImporteMX:=(gvr.DataKey("IVA").ToDecimal) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el IVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("IVA").ToDecimal, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal), ImporteMX:=(gvr.DataKey("IVA").ToDecimal) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
- End If
- Else
- 'Agrego el IVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("IVA").ToDecimal * PorcentajePago, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVA").ToDecimal * PorcentajePago) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el IVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
-
- End If
-
- If gvr.DataKey("IVANoDeducible").ToDecimal > 0 Then
-
- Dim IdCtaContIVANoAcreditable As Integer = 0
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows.Count > 0 Then
- IdCtaContIVANoAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero
- End If
-
- Dim ImporteNOIVA As Decimal = gvr.DataKey("IVANoDeducible").ToDecimal * PorcentajePago
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVANoAcreditable > 0, IdCtaContIVANoAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteNOIVA), ImporteMX:=(ImporteNOIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
- MsgError = "Detalle"
- End If
- End If
-
-
- End If
-
- If MsgError = "" AndAlso gvr.DataKey("RetIVA").ToDecimal > 0 Then
- Dim ConceptoContableRetIVAXAcreditar = 0, ConceptoContableRetIVAAcreditable = 0, IdCtaContableRetIVAXAcreditar = 0, IdCtaContableRetIVAAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0
- Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero
- Case 1
- ConceptoContableRetIVAXAcreditar = 15
- ConceptoContableRetIVAAcreditable = 22
- CveFunc = 307
- CveFuncAcreditable = 308
-
- Case 2
- ConceptoContableRetIVAXAcreditar = 183
- ConceptoContableRetIVAAcreditable = 184
- CveFunc = 309
- CveFuncAcreditable = 310
-
- Case 3
- ConceptoContableRetIVAXAcreditar = 185
- ConceptoContableRetIVAAcreditable = 186
- CveFunc = 311
- CveFuncAcreditable = 312
-
- Case 4
- ConceptoContableRetIVAXAcreditar = 248
- ConceptoContableRetIVAAcreditable = 249
- CveFunc = 313
- CveFuncAcreditable = 314
-
- End Select
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero > 0 Then
- IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAAcreditable = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero > 0 Then
- IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
- End If
-
- Dim AcreditaISR As Boolean = False
- If UsuarioActual.CveEmpresa = 140 Then AcreditaISR = True
-
- If MsgError = "" AndAlso AcreditaISR AndAlso gvr.DataKey("RetISR").ToDecimal > 0 Then
- Dim ConceptoContableRetISRXAcreditar = 0, ConceptoContableRetISRAcreditable = 0, IdCtaContableRetISRXAcreditar = 0, IdCtaContableRetISRAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0
- Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero
- Case 1
- ConceptoContableRetISRXAcreditar = 16
- ConceptoContableRetISRAcreditable = 23
-
- Case 2
- ConceptoContableRetISRXAcreditar = 243
- ConceptoContableRetISRAcreditable = 244
- CveFunc = 309
- CveFuncAcreditable = 310
-
- Case 3
- ConceptoContableRetISRXAcreditar = 327
- ConceptoContableRetISRAcreditable = 328
- CveFunc = 311
-
- End Select
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
-
- 'Agrego el RetIVA
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
- MsgError = "Detalle"
- End If
- End If
-
-
End If
If MsgError = "" AndAlso ImportePagar = ImporteOriginal Then
@@ -1229,23 +877,15 @@ Partial Class Compras_ReembolsosComprobaciones
AutoConta = False
End If
-
'Conta ContPAQ AUTOMATICA
If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError.Trim = "" Then
If CvePrePolizaIERegistrado > 0 Then
If IdCtaPersonal > 0 Or DdlCajaChica.Visible Then
If IdCtaProveedor > 0 Then
- If IdCtaIVAxAcreditar > 0 Then
- If IdCtaIVAAcreditable > 0 Then
- If ObjMov.ContabilizarPrePoliza(CvePrePolizaIERegistrado, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
- Else
- MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico"
- End If
- Else
- MsgError = "No tiene cuenta contable IVA Acreditable"
- End If
+
+ If ObjMov.ContabilizarPrePoliza(CvePrePolizaIERegistrado, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
Else
- MsgError = "No tiene cuenta contable IVA x Acreditar"
+ MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico"
End If
Else
MsgError = "No tiene cuenta contable de proveedor"
@@ -1258,26 +898,12 @@ Partial Class Compras_ReembolsosComprobaciones
If ChkChequeExcedente.Checked Then
If IdCuentaBancaria > 0 Then
If IdCtaProveedor > 0 Then
- If IdCtaIVAxAcreditar > 0 Then
- If IdCtaIVAAcreditable > 0 Then
- If IdCtaRetIVA > 0 Then
- If IdCtaRetISR > 0 Then
- If ObjMov.ContabilizarPrePoliza(CvePrePolizaExcedente, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
- Else
- MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico"
- End If
- Else
- MsgError = "No tiene cuenta contable Ret ISR"
- End If
- Else
- MsgError = "No tiene cuenta contable Ret IVA"
- End If
- Else
- MsgError = "No tiene cuenta contable IVA Acreditable"
- End If
+
+ If ObjMov.ContabilizarPrePoliza(CvePrePolizaExcedente, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
Else
- MsgError = "No tiene cuenta contable IVA x Acreditar"
+ MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico"
End If
+
Else
MsgError = "No tiene cuenta contable de proveedor"
End If
@@ -1533,7 +1159,7 @@ Partial Class Compras_ReembolsosComprobaciones
If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(7).ForeColor = Drawing.Color.Red
If e.Row.DBCampo("DiasVencidos").ToDouble > 0 AndAlso CType(sender, GridView).ID = "GvCxP" Then e.Row.Cells(5).ForeColor = Drawing.Color.Red
- If e.Row.DBCampo("Original").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldoOriginal"), Literal).Text = ""
+ If e.Row.DBCampo("Total").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldoTotal"), Literal).Text = ""
If e.Row.DBCampo("Abonado").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlAbonado"), Literal).Text = ""
If e.Row.DBCampo("Saldo").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldo"), Literal).Text = ""
@@ -1543,7 +1169,7 @@ Partial Class Compras_ReembolsosComprobaciones
e.Row.FCTextBox("TxtSaldoExcedente").Attributes.Add("onblur", String.Format("FnSumaExcedente({0},{1},{2});", e.Row.FCTextBox("TxtSaldoExcedente").ClientID, e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo")))
e.Row.FCTextBox("TxtComision").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},2);", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo")))
- e.Row.FCRangeValidator("RVComision").MinimumValue = 0.00
+ e.Row.FCRangeValidator("RVComision").MinimumValue = "0"
e.Row.FCRangeValidator("RVComision").MaximumValue = e.Row.DBCampo("Saldo")
End If
End Sub
diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb
index 85d745c64..b7a4ef535 100644
--- a/Compras/eFacturas.aspx.vb
+++ b/Compras/eFacturas.aspx.vb
@@ -2645,10 +2645,10 @@ Partial Class Compras_eFacturas
sbResultado.Append($"{resultSolicitud(1)}
")
Else
sbResultado.Append($"Solicitud Generada Correctamente")
- sbResultado.Append($"Se presento un error al verificar las solicitudes
{resultSolicitud(2)}
")
+ sbResultado.Append($"Se presento un error al verificar las solicitudes
{resultSolicitud(1)}
")
End If
Else
- sbResultado.Append($"{resultSolicitud(2)}")
+ sbResultado.Append($"{resultSolicitud(1)}")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
Else
@@ -2675,7 +2675,7 @@ Partial Class Compras_eFacturas
If Continuar Then
txtFechaIAdd.Text = ""
txtFechaFAdd.Text = ""
- Me.RegistraScript("$('#ModalAgregarSolicitud').modal('hide');")
+ Me.RegistraScript("$('#ModalViewSolicitudes').modal('hide');")
cargasolicitudes()
End If
@@ -2723,10 +2723,10 @@ Partial Class Compras_eFacturas
sbResultado.Append($"{resultSolicitud(2)}
")
Else
sbResultado.Append($"Solicitud Generada Correctamente")
- sbResultado.Append($"Se presento un error al verificar las solicitudes
{resultSolicitud(2)}
")
+ sbResultado.Append($"Se presento un error al verificar las solicitudes
{resultSolicitud(1)}
")
End If
Else
- sbResultado.Append($"{resultSolicitud(2)}")
+ sbResultado.Append($"{resultSolicitud(1)}")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
Else
@@ -2737,9 +2737,9 @@ Partial Class Compras_eFacturas
If SeVerifico AndAlso resultVerificacion.Count = 4 Then
If ResultadoVerificaionOK Then
- sbResultado.Append($"{resultVerificacion(2)}
")
+ sbResultado.Append($"{resultVerificacion(1)}
")
Else
- sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(2)}
")
+ sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(1)}
")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
Else
diff --git a/Empresas/Grales/Formatos/RepVentaDetalle.rdlc b/Empresas/Grales/Formatos/RepVentaDetalle.rdlc
index 816c4bfd3..2d2e81ef0 100644
--- a/Empresas/Grales/Formatos/RepVentaDetalle.rdlc
+++ b/Empresas/Grales/Formatos/RepVentaDetalle.rdlc
@@ -1114,7 +1114,7 @@
0.63559in