diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb
index 3da855b93..0c3f1856e 100644
--- a/App_Code/ClsClientes.vb
+++ b/App_Code/ClsClientes.vb
@@ -172,6 +172,7 @@ Public Class ClsClientes
Public Property CodigoRegimenFiscal As String
Public Property RegimenFiscal As String
+ Public Property RepresentanteLegal As String
#End Region
@@ -429,6 +430,7 @@ Public Class ClsClientes
_RegimenFiscal = Data(0)("RegimenFiscal").ToString
_CodigoRegimenFiscal = Data(0)("CodigoRegimenFiscal").ToString
+ _RepresentanteLegal = Data(0)("RepresentanteLegal").ToString
End If
Retorno = True
@@ -586,7 +588,8 @@ Public Class ClsClientes
Optional AplicaComercioExterior As Boolean = False, Optional CveTipoOperacion As Integer = -1, Optional CvePedimento As Integer = -1, Optional CveIncoterm As Integer = -1, Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveColonia As Integer = -1,
Optional CveMotivoTraslado As Integer = 0, Optional NumRegIdTrib As String = "", Optional ComExtEstado As String = "-1", Optional ComExtMunicipio As String = "-1", Optional ComExtColonia As String = "-1", Optional RequiereOC As Boolean = False,
Optional LT As String = "0", Optional LG As String = "0", Optional EsDistribuidor As Boolean = False, Optional TipoCliente As Integer = 1, Optional CargoUsado As Boolean = False, Optional BonificacionUsado As Boolean = False, Optional CveTipoRetencion As Integer = 0,
- Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1", Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional CveRegimenFiscal As Integer = 0, Optional RegimenSociedad As String = "-1", Optional TipoPersona As Boolean = False) As Boolean
+ Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1", Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional CveRegimenFiscal As Integer = 0, Optional RegimenSociedad As String = "-1", Optional TipoPersona As Boolean = False,
+ Optional RepresentanteLegal As String = "") As Boolean
Dim Retorno As Boolean = False
@@ -731,6 +734,9 @@ Public Class ClsClientes
.Add("@RegimenSociedad", SqlDbType.VarChar).Value = RegimenSociedad
.Add("@TipoPersona", SqlDbType.Bit).Value = TipoPersona
+ .Add("@RepresentanteLegal", SqlDbType.VarChar).Value = RepresentanteLegal
+
+
@@ -782,7 +788,8 @@ Public Class ClsClientes
Optional CveMotivoTraslado As Integer = 0, Optional NumRegIdTrib As String = "-1", Optional ComExtEstado As String = "-1", Optional ComExtMunicipio As String = "-1", Optional ComExtColonia As String = "-1",
Optional ApellidoPaternoPF As String = "-1", Optional ApellidoMaternoPF As String = "-1", Optional NombresPF As String = "-1", Optional RequiereOC As Boolean = False,
Optional LT As String = "0", Optional LG As String = "0", Optional EsDistribuidor As Boolean = False, Optional TipoCliente As Integer = 1, Optional CargoUsado As Boolean = False, Optional BonificacionUsado As Boolean = False, Optional CveTipoRetencion As Integer = 0, Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1",
- Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional NoDesglosaIVA As Boolean = False, Optional CveRegimenFiscal As Integer = 0, Optional RegimenSociedad As String = "-1", Optional TipoPersona As Boolean = False) As Boolean
+ Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional NoDesglosaIVA As Boolean = False, Optional CveRegimenFiscal As Integer = 0, Optional RegimenSociedad As String = "-1", Optional TipoPersona As Boolean = False,
+ Optional RepresentanteLegal As String = "") As Boolean
Dim Retorno As Boolean = False
@@ -943,6 +950,7 @@ Public Class ClsClientes
.Add("@RegimenSociedad", SqlDbType.VarChar).Value = RegimenSociedad
.Add("@TipoPersona", SqlDbType.Bit).Value = TipoPersona
+ .Add("@RepresentanteLegal", SqlDbType.VarChar).Value = RepresentanteLegal
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 4d0886e3e..4f709540a 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -9368,6 +9368,9 @@ Public Class ClsPaginas
Dim ErrorMovtos As Boolean = False
Dim PorcentajePago As Decimal = Pago.ImportePago / CompraActual.Total
Dim ImporteMovimiento As Decimal = 0
+ Dim ImporteMN As Decimal = 0
+ Dim ImporteME As Decimal = 0
+ Dim TCValuacion As Decimal = CompraActual.TC
Dim tImportePago, tImporteCompra As Decimal
Dim CveConceptoContableComplementaria As Integer = 206
@@ -9390,49 +9393,53 @@ Public Class ClsPaginas
If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then
If UltimaFluctuacion.FechaFluctuacion <= tFecha Then
'FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion
- CompraActual.TC = UltimaFluctuacion.TCFluctuacion
+ TCValuacion = 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
+ tImportePago = ((Pago.ImportePago * TCValuacion / 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
+ tImporteCompra = (Pago.ImportePago * TCValuacion).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
+ tImporteCompra = (Pago.ImportePago * TCValuacion).RoundSQL
tImportePago = (Pago.ImportePago * Pago.TCPago).RoundSQL
End If
+ If CompraActual.CveMoneda > 1 Then ImporteME = Pago.ImportePago
'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
+ 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:=TCValuacion, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True
+
'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
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (ImporteME * TCValuacion - ImporteME).RoundSQL, CveConceptoContableComplementaria, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacion, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True
+
End If
'si tiene iva y su proporcion
If Not ErrorMovtos AndAlso CompraActual.IVA <> 0 Then
ImporteMovimiento = (PorcentajePago * CompraActual.IVA).RoundSQL
+ ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL
+ If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento
+
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, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) 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 FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = (ImporteMovimiento.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 Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True
If CompraActual.IVANoDeducible > 0 Then
- Dim ImporteNOIVA As Decimal = CompraActual.IVANoDeducible * PorcentajePago
+ ImporteMovimiento = (CompraActual.IVANoDeducible * PorcentajePago).RoundSQL
+ ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL
+ If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento
- 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
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 280, CompraActual.SerieFolio, Concepto, Ret.IdCtaContIVANoAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True
End If
@@ -9441,32 +9448,41 @@ Public Class ClsPaginas
'si tiene RET IVA y su proporcion
If Not ErrorMovtos AndAlso CompraActual.RetIVA > 0 Then
ImporteMovimiento = (PorcentajePago * CompraActual.RetIVA).RoundSQL
+ ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL
+ If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento
+
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
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) 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 FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * 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
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) 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
+ ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL
+ If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento
+
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
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) 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 FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * 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
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True
End If
'si tiene IEPS y su proporcion
If Not ErrorMovtos AndAlso CompraActual.IEPS > 0 Then
ImporteMovimiento = (PorcentajePago * CompraActual.IEPS).RoundSQL
+ ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL
+ If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento
+
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
@@ -9475,12 +9491,12 @@ Public Class ClsPaginas
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
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) 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 FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * 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
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True
End If
@@ -9493,8 +9509,7 @@ Public Class ClsPaginas
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
+ 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, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME) Then ErrorMovtos = True
End If
@@ -9547,6 +9562,7 @@ Public Class ClsPaginas
Public Property CveCompraAmortizacion As Integer = 0
Public Property OtroGastoIngreso As Decimal = 0
Public Property CveConceptoPago As Integer = -1 'no definido de inicio
+ Public Property CveCreditoDetalle As Integer = -1
End Class
diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb
index aa784c42c..d7d2ecae0 100644
--- a/App_Code/ClsRH.vb
+++ b/App_Code/ClsRH.vb
@@ -7324,6 +7324,47 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
+ Public Function NomBitacoraCorreoGet(CvePeriodo As Integer, CvePersonal As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ Data = New DataTable
+ SqlDataAdapter("PA_NomBitacoraCorreoGet")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ Me.OnError("Ocurrió un error al guardar correos nominas", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar correos nominas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ Return Retorno
+ End Function
+ Public Function NomBitacoraCorreoAdd(CvePeriodo As Integer, CvePersonal As Integer, Correos As String, CveEmpresa As Integer, CveUsuario As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ Data = New DataTable
+ SqlDataAdapter("PA_NomBitacoraCorreoAdd")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ .Add("@Correos", SqlDbType.VarChar).Value = Correos
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ Me.OnError("Ocurrió un error al guardar correos nominas", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar correos nominas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ Return Retorno
+ End Function
+
Public Function UpPersonalAsistenciasMasiva(CveEmpresa As Integer, CveUsuario As Integer, xmlProductos As String) As Boolean
Dim Retorno As Boolean = False
Data = New DataTable
diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index 8058e13d5..9aee1fca2 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -860,6 +860,9 @@ Public Class ClsVentas
Return Retorno
End Function
+
+
+
Public Function UpdateVentaRNCUsado(CveVentaRNC As Integer, CveVenta As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -5544,6 +5547,29 @@ Public Class ClsVentas
#End Region
+ Public Function GetListadoCartaPorteRep(FechaI As Date, FechaF As Date, CveSubProyecto As String, CveUsuarioConsulta As Integer, CveEmpresa As Integer) As Boolean
+
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Vta_RepListadoCartaPorteGet")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@FechaI", SqlDbType.Date).Value = FechaI
+ .Add("@FechaF", SqlDbType.Date).Value = FechaF
+ .Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto
+ .Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error obtener el listado de carta porte.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+
+
+ End Function
+
+
#Region "IDisposable Support"
diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb
index d8a5a9b9d..48bfd0a27 100644
--- a/App_Code/Timbrado.vb
+++ b/App_Code/Timbrado.vb
@@ -4832,7 +4832,7 @@ Public Class Timbrado
If ObjCFDITimbre.Conceptos IsNot Nothing AndAlso ObjCFDITimbre.Conceptos.Count > 0 Then
For Each concep As CFDIConceptos In ObjCFDITimbre.Conceptos
- cfdi.Concepto(concep.ClaveProdServ, concep.Noidentificacion, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Descripcion, concep.ValorUnitario, concep.Importe, concep.Descuento, concep.ObjetoImpuesto)
+ cfdi.Concepto(concep.ClaveProdServ, concep.Noidentificacion, concep.Cantidad.ToString("0.00####"), concep.ClaveUnidad, concep.Unidad, concep.Descripcion, concep.ValorUnitario.ToString("0.00####"), concep.Importe, concep.Descuento, concep.ObjetoImpuesto)
For Each imp As CFDIConceptosImpuestos In concep.Impuestos
If imp.TrasladooRetencion = "T" Then
cfdi.ConceptoTraslado(imp.Base, imp.Impuesto, imp.TipoFactor, imp.TasaOCuota, imp.Importe)
diff --git a/Bancos/PrestamoPersonal.aspx.cs b/Bancos/PrestamoPersonal.aspx.cs
index 3798fed6a..e8c36bc90 100644
--- a/Bancos/PrestamoPersonal.aspx.cs
+++ b/Bancos/PrestamoPersonal.aspx.cs
@@ -611,8 +611,6 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
MsgError = "No se pudo insertar concepto de acreedor complementaria";
}
}
-
-
}
else
{
@@ -663,11 +661,13 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
if (MsgError.Equals(""))
{
+ ObjIE.Commit();
if (Msg.ToString().Equals(""))
{
Msg.Append("El Documento se guardo correctamente");
}
- System.IO.FileInfo archivo = null;
+ System.IO.FileInfo archivo = null;
+
if (DdlTipoTransanccionPrestamo.SelectedValue.ToEntero().Contiene(2, 8, 9))
{
@@ -691,7 +691,7 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
{
Msg.AppendFormat(@"
Ver Póliza", IDPoliza);
}
- ObjIE.Commit();
+
}
else
{
diff --git a/Bancos/ProveedoresAbonar.aspx b/Bancos/ProveedoresAbonar.aspx
index 9d5d23cab..cfd8e4adf 100644
--- a/Bancos/ProveedoresAbonar.aspx
+++ b/Bancos/ProveedoresAbonar.aspx
@@ -369,7 +369,7 @@
", gvr.DataKey("SerieFolio"), gvr.DataKey("Descripcion"))
- If Not ObjEventos.AddEventoBitacora("La compra se ha detectado como cancelada ante el SAT", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra:=gvr.DataKey("CveCompra").ToEntero) Then
- HuboError = True
- End If
- Else
- HuboError = True
- End If
- Else
- HuboError = True
- End If
- If Not HuboError Then ObjCompra.Commit() Else ObjCompra.RollBack()
- ObjCompra.Dispose()
+ MsgValidadas.AppendFormat("Factura Cancelada: {0} - {1} , relacione su factura nueva para descontar saldo
", gvr.DataKey("SerieFolio"), gvr.DataKey("Descripcion"))
Else
MsgValidadas.AppendFormat("Factura Cancelada: {0} - {1} con movimientos de almacen, relacione su factura nueva para descontar saldo
", gvr.DataKey("SerieFolio"), gvr.DataKey("Descripcion"))
End If
@@ -842,7 +764,7 @@ Partial Class Bancos_ProveedoresAbonar
'cheque
If DdlTipoTransaccion.SelectedValue = "1" AndAlso UsuarioActual.CveEmpresa.Contiene(13, 83) Then FolioFijo = TxtFolio.Text.ToEntero
- CvePrePoliza = ObjMov.AddPrePolizas("Bancos/ProveedoresAbonar", 2, ImporteSeleccionado, ImporteSeleccionado, GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", "CveCuenta = " & DdlCuenta.SelectedValue).ToEntero, TxtFechaDocumento.Text.ToDate, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, Nothing, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa))
+ CvePrePoliza = ObjMov.AddPrePolizas("Bancos/ProveedoresAbonar", 2, ImporteSeleccionado, ImporteSeleccionado, 1, TxtFechaDocumento.Text.ToDate, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, Nothing, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa))
If CveMoneda = 2 Then
If TxtTCDolares.Visible Then
@@ -859,11 +781,8 @@ Partial Class Bancos_ProveedoresAbonar
Dim CveIE As Integer = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, TxtPagueseA.Text.Trim, TxtImporte.Text.ToDecimal, GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", "CveCuenta = " & DdlCuenta.SelectedValue).ToEntero, TipoCambio, TxtObservaciones.Text.Trim, TxtNotificarA.Text.Trim, ChkAbonoCuenta.Checked, True, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1), ConceptoCIE:=TxtConceptoCIE.Text)
If CveIE > 0 Then
-
-
ComprobanteIE = $"{CveIE}.{Comprobante}"
-
If DdlCuentaDeposito.SelectedValue.ToEntero > 0 And DdlTipoTransaccion.SelectedValue = "17" Then
If TxtReferenciaCIE.Text <> OriReferenciaCIE Or TxtConceptoCIE.Text <> OriConceptoCIE Then
@@ -871,7 +790,6 @@ Partial Class Bancos_ProveedoresAbonar
Dim ObjGrales As New ClsGenerales(ObjIE.IniciaTransacSQL)
If Not ObjGrales.UpdateCuentasDepositosEstatusPagoElectronicoGrupos(DdlCuentaDeposito.SelectedValue.ToEntero, -1, -1, "-1", TxtReferenciaCIE.Text.Trim, TxtConceptoCIE.Text.Trim) Then
-
MsgError = "Error al actualziar Cuanta Referencia y Concepto Deposito."
End If
@@ -888,795 +806,158 @@ Partial Class Bancos_ProveedoresAbonar
'inserto los movimientos de la conta para abonar al saldo
If CvePrePoliza > 0 Then
+ Dim Pago As New CompraPago
+ Pago.Fecha = TxtFechaDocumento.Text.ToDate
+ Pago.CveIE = CveIE
+ Pago.CveMonedaPago = CveMoneda
- If EmpresaPrueba Then
- Dim PorcentajePago As Decimal = 100
- Dim CvePlantillaPoliza As Integer = 2
- Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:
"
- Dim idCuentaContabilizacion As Long = 1
- Dim CuentasContablesInvalidas As New StringBuilder
- Dim CuentasContablesInvalidasSIG As New StringBuilder
- Dim ConceptoContable As Integer
- Dim TipoMovimiento As Boolean
- Dim ImporteMovimiento As Decimal
- Dim importeMX As Decimal
- Dim FechaMovimiento As Date = TxtFechaDocumento.Text.ToDate
- Dim IdCtaContable As Integer = 0
- Dim ConceptoMovimiento As String
- Dim Referencia As String
- Dim tipoCambioCompra As Decimal
- Dim TipoCambioPago As Decimal = 0
- Dim TipoCambioGeneral As Decimal = 0
- Dim tipoCambioCompraValuacion As Decimal = 1
+ 'inserto las compras que voy a pagar
+ For Each gvr As GridViewRow In GvCxP.Rows
+ If gvr.FCCheckBox("Chk").Checked Then
- Dim UsaComplementariaBancos As Boolean = If(UsuarioActual.CveEmpresa.Contiene(119, 158), True, False)
- Dim UsaComplementariaProveedores As Boolean = If(UsuarioActual.CveEmpresa.Contiene(119, 158), True, False)
+ 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 = HplProveedor.Text
+ CompraActual.TC = gvr.DataKey("TipoCambioOriginal").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("PorcentajeIVA").ToDecimal
+ CompraActual.EsImportacion = gvr.DataKey("EsImportacion") = "True"
+ CompraActual.UsuarioActual = UsuarioActual
+ CompraActual.CveSubProyecto = gvr.DataKey("CveSubProyecto").ToEntero
- Dim FuncionalidadFluctuacionImpuestos As Boolean = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", True, False)
+ 'Importe de pago
+ Pago.ImportePago = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
- Dim TipoCambioFluctuacion As Decimal = 1
- Dim FechaUltimaFluctuacion As Date = MinFecha
+ 'Tipos de cambio
+ If Pago.CveMonedaPago = 1 AndAlso CompraActual.CveMoneda = 2 Then 'Si la venta viene en Dolares y se va a pagar en Pesos
+ Pago.TCPago = TxtTC.Text.ToDecimal
+ ElseIf Pago.CveMonedaPago = 2 AndAlso CompraActual.CveMoneda = 2 Then 'Si la venta viene en Dolares y se va a pagar en DOLARES
+ Pago.TCPago = TxtTCDolaresDolares.Text.ToDecimal
+ ElseIf Pago.CveMonedaPago = 2 AndAlso CompraActual.CveMoneda = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
+ Pago.TCPago = TxtTCDolares.Text.ToDecimal
+ End If
- Dim tFecha As Date = TxtFechaDocumento.Text.ToDate
- Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha)
+ If gvr.FCTextBox("TxtComision").Text.ToDecimal <> 0 Then
+ Pago.OtroGastoIngreso = gvr.FCTextBox("TxtComision").Text.ToDecimal
+ End If
- If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then
- If UltimaFluctuacion.FechaFluctuacion <= tFecha Then
- FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion
- TipoCambioFluctuacion = UltimaFluctuacion.TCFluctuacion
+ If AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjMov) Then
+ MsgError = "No se pudo insertar la póliza"
+ End If
+
+ 'DESPROGRAMA LO PROGRAMADO DESPUES DE HACERLE UN PAGO
+ ' If DdlTipoTransaccion.SelectedValue <> "9" Then 'SI ES LAYOUT SE DESPROGRAMA EN BANCOS/PAGOELECTRONICO, se comentó, 2018.07.31 peticion marilú.
+ If MsgError = "" AndAlso gvr.DataKey("ImporteProgramo").ToDouble > 0 Then
+ ObjComp.ProgramarCompra(gvr.DataKey("CveCompra").ToEntero, 0, UsuarioActual.CveUsuario, -1)
+ End If
+ End If
+ Next
+
+ Dim UsaComplementariaBancos As Boolean = Not UsuarioActual.CveEmpresa.Contiene(7, 11, 122, 145)
+ Dim ConceptoMovimiento As String = $"{TxtPagueseA.Text.Trim} - {TxtObservaciones.Text} {If(Pago.TCPago > 1, $" TC:{Pago.TCPago}", "")}"
+ Dim Referencia As String = $"{HdnTipoTransaccionAbreviatura.Value}: {TxtFolio.Text.Trim}"
+ Dim tImporteMN As Decimal = Pago.ImportePago
+
+ If DivTarjeta.Visible AndAlso DdlTarjeta.SelectedValue.ToEntero > 0 Then
+ Dim ObjCreditos As New ClsBancos
+ ObjCreditos.GetTarjetasCreditos(DdlCuenta.SelectedValue.ToEntero, DdlTarjeta.SelectedValue.ToEntero)
+ If ObjCreditos.DtResultados.Rows.Count > 0 AndAlso (ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjeta").ToString.ToEntero > 0 Or ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjetaSIG").ToString.ToEntero > 0) Then
+ IdCuenta = ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjeta").ToString.ToEntero
+ End If
+
+ Dim Importe42 As Decimal = Pago.ImportePago + Pago.OtroGastoIngreso
+ tImporteMN = If(Pago.CveMonedaPago = 2, If(DivTC.Visible, Importe42 / TxtTC.Text.ToDecimal * Pago.TCPago, Importe42 * Pago.TCPago), Importe42)
+
+ If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, Importe42, tImporteMN, 42, Referencia, ConceptoMovimiento, IdCuenta, CveIE:=CveIE, CveProveedor:=CveProveedor, TipoCambio:=Pago.TCPago, CveSubProyecto:=CveSubProyecto) Then
+ MsgError = "No se pudo insertar la póliza"
+ End If
+
+ Else
+
+ If Not UsaComplementariaBancos Then tImporteMN = (tImporteMN * Pago.TCPago).RoundSQL
+
+ If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, tImporteMN, 30, Referencia, ConceptoMovimiento, IdCuenta, CveIE:=CveIE, CveProveedor:=CveProveedor, TipoCambio:=Pago.TCPago, CveSubProyecto:=CveSubProyecto) Then
+ MsgError = "No se pudo insertar la póliza"
+ End If
+
+ If UsaComplementariaBancos Then
+ If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, (Pago.ImportePago * Pago.TCPago - Pago.ImportePago).RoundSQL, 204, Referencia, ConceptoMovimiento, IdCuentaBancariaComplementaria, CveIE:=CveIE, CveProveedor:=CveProveedor, ImporteME:=Pago.ImportePago, TipoCambio:=Pago.TCPago, CveSubProyecto:=CveSubProyecto) Then
+ MsgError = "No se pudo insertar la póliza"
End If
End If
- Dim DttPlantilla As DataTable = Nothing
- If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then
- DttPlantilla = ObjMov.DtResultados
- End If
+ If UsuarioActual.CveEmpresa.Contiene(119, 158) AndAlso CveMoneda = 2 AndAlso CveMonedaFiltro = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
+ 'fluctuación.
+ Dim TCPago = TxtTCDolares.Text.ToDecimal
- Dim TipoContabilidad As Integer = UsuarioActual.Empresa.TipoContabilidad
-
- 'inserto las compras que voy a pagar
- For Each gvr As GridViewRow In GvCxP.Rows
- If gvr.FCCheckBox("Chk").Checked Then
- Dim EsImportacion As Boolean = False
- tipoCambioCompra = gvr.DataKey("TipoCambioOriginal").ToDecimal
- PorcentajePago = (gvr.FCTextBox("TxtAbonar").Text.ToDecimal) / gvr.DataKey("Original").ToDecimal
- tipoCambioCompraValuacion = 1
- 'Tipos de cambio
- If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then 'Si la venta viene en Pesos y se va a pagar en Pesos
- TipoCambioPago = 1
- ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then 'Si la venta viene en Dolares y se va a pagar en Pesos
- TipoCambioPago = TxtTC.Text.ToDecimal
- tipoCambioCompraValuacion = If(gvr.DataKey("Fecha").ToDate < FechaUltimaFluctuacion, TipoCambioFluctuacion, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then 'Si la venta viene en Dolares y se va a pagar en DOLARES
- 'TipoCambioPago = 'GlobalTipoCambio(TxtFechaDocumento.Text.ToDate).ToString.ToDecimal
- TipoCambioPago = TxtTCDolaresDolares.Text.ToDecimal
- tipoCambioCompraValuacion = If(gvr.DataKey("Fecha").ToDate < FechaUltimaFluctuacion, TipoCambioFluctuacion, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
- TipoCambioPago = TxtTCDolares.Text.ToDecimal
- End If
- CveSubProyecto = gvr.DataKey("CveSubProyecto").ToEntero
-
- If DttPlantilla IsNot Nothing AndAlso DttPlantilla.Rows.Count > 0 Then
- For Each Row As DataRow In DttPlantilla.Rows
- ConceptoContable = Row("CveConcepto").ToString.ToEntero
- TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False)
- ImporteMovimiento = 0
- IdCtaContable = 0
- ConceptoMovimiento = $"{HplProveedor.Text} F:{gvr.DataKey("SerieFolio")}"
- Referencia = gvr.DataKey("SerieFolio").ToString
- Dim PorcentajeImpuesto As Decimal = 0
-
- Select Case ConceptoContable
- Case 17 'Pago Proveedores
-
- If gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then ConceptoContable = 308 'cuando es acreedor
- If CveMoneda <> 1 Then
- Select Case ConceptoContable
- Case 17
- ConceptoContable = 312
- Case 308
- ConceptoContable = 309
- Case Else
- End Select
- End If
-
- ImporteMovimiento = gvr.FCTextBox("TxtAbonar").Text.ToDecimal.RoundSQL
- importeMX = (gvr.FCTextBox("TxtAbonar").Text.ToDecimal * tipoCambioCompraValuacion).RoundSQL
- TipoCambioGeneral = tipoCambioCompraValuacion
- ConceptoMovimiento = $"{HplProveedor.Text} F:{gvr.DataKey("SerieFolio")}"
- 'cuando son dolares, y tienen complementaria, se hace el registro
- If gvr.DataKey("CveMoneda").ToEntero = 1 Then
- If gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then
- IdCtaContable = CtaAcreedor
- Else
- IdCtaContable = CtaProveedor
- End If
-
- Else
- Dim CveConceptoComplementaria As Integer = 206
- If gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoComplementaria = 310
-
- ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
- IdCtaContable = IdCtaContComplementaria
- If ImporteMovimiento <> 0 AndAlso (UsaComplementariaProveedores Or IdCtaContable > 0) Then 'Cuando tiene complementaria lo dividimos en dos
- importeMX = ImporteMovimiento
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0.00D, Referencia, CveConceptoComplementaria, ConceptoMovimiento, FechaMovimiento, IdCtaContable, -1, CveIE, CveCompra:=gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedor, ImporteMX:=Math.Round(ImporteMovimiento * tipoCambioCompraValuacion - ImporteMovimiento, 2, MidpointRounding.AwayFromZero), ImporteME:=ImporteMovimiento, TipoCambio:=tipoCambioCompraValuacion) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- IdCtaContable = IdCtaProveedorExtranjera
- End If
- Case 15 'Ret IVA X Acreditar Honorarios/Serv. Prof.
- If gvr.DataKey("CveRetIVAConcepto").ToEntero > 0 Then
- Dim Funcionalidad As Integer = 0
- If gvr.DataKey("CveRetIVAConcepto").ToEntero = 1 Then
- Funcionalidad = 307
- ConceptoContable = 15
- ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 2 Then
- Funcionalidad = 309
- ConceptoContable = 183
- ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 3 Then
- Funcionalidad = 311
- ConceptoContable = 185
- ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 4 Then
- Funcionalidad = 313
- ConceptoContable = 248
- ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 5 Then
- Funcionalidad = 577
- ConceptoContable = 285
- End If
-
- ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago).RoundSQL
- importeMX = (ImporteMovimiento * tipoCambioCompra).RoundSQL
-
- TipoCambioGeneral = tipoCambioCompra
- If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- 'Conta ContPAQ
- If IdCtaContRetIVA > 0 Then
- IdCtaContable = IdCtaContRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then
- IdCtaContable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero
- Else
- If ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
-
- End If
-
-
- Case 22 'Ret IVA Acreditable Honorarios/Serv. Prof.
- If gvr.DataKey("CveRetIVAConcepto").ToEntero > 0 Then
-
- Dim Funcionalidad As Integer = 0
- If gvr.DataKey("CveRetIVAConcepto").ToEntero = 1 Then
- Funcionalidad = 308
- ConceptoContable = 22
- ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 2 Then
- Funcionalidad = 310
- ConceptoContable = 184
- ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 3 Then
- Funcionalidad = 312
- ConceptoContable = 186
- ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 4 Then
- Funcionalidad = 314
- ConceptoContable = 249
- ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 5 Then
- Funcionalidad = 578
- ConceptoContable = 286
- End If
-
- ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago).RoundSQL
- importeMX = (ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)).RoundSQL
-
- TipoCambioGeneral = If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)
-
- If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- 'Conta ContPAQ
- If IdCtaContRetIVAAcreditable > 0 Then
- IdCtaContable = IdCtaContRetIVAAcreditable
- ElseIf UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then
- IdCtaContable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero
- Else
- If ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
- End If
-
-
- Case 16 'Ret ISR X Acreditar
- If gvr.DataKey("CveRetISRConcepto").ToEntero > 0 Then
- Dim funcionalidad As Integer = 0
- If gvr.DataKey("CveRetISRConcepto").ToEntero = 1 Then
- funcionalidad = 315
- ConceptoContable = 16
- ElseIf gvr.DataKey("CveRetISRConcepto").ToEntero = 2 Then
- funcionalidad = 317
- ConceptoContable = 243
- ElseIf gvr.DataKey("CveRetISRConcepto").ToEntero = 3 Then
- funcionalidad = 348
- ConceptoContable = 327
- End If
-
- ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago).RoundSQL
- importeMX = (ImporteMovimiento * tipoCambioCompra).RoundSQL
-
- TipoCambioGeneral = tipoCambioCompra
- If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- 'Conta ContPAQ
- If IdCtaContRetISR > 0 Then
- IdCtaContable = IdCtaContRetISR
- ElseIf UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero > 0 Then
- IdCtaContable = UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero
- Else
- If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
- End If
- Case 23 'Ret ISR Acreditable
- If gvr.DataKey("CveRetISRConcepto").ToEntero > 0 Then
- Dim funcionalidad As Integer = 0
- If gvr.DataKey("CveRetISRConcepto").ToEntero = 1 Then
- funcionalidad = 316
- ConceptoContable = 23
- ElseIf gvr.DataKey("CveRetISRConcepto").ToEntero = 2 Then
- funcionalidad = 318
- ConceptoContable = 244
- ElseIf gvr.DataKey("CveRetISRConcepto").ToEntero = 3 Then
- funcionalidad = 348
- ConceptoContable = 328
- End If
- ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago).RoundSQL
- importeMX = (ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)).RoundSQL
- TipoCambioGeneral = TipoCambioPago
-
- If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- 'Conta ContPAQ
- If IdCtaContRetISRAcreditable > 0 Then
- IdCtaContable = IdCtaContRetISRAcreditable
- ElseIf UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero > 0 Then
- IdCtaContable = UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero
- Else
- If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
-
- End If
-
- Case 14 'Iva X Acreditar
- Dim TotalImporte As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- 'funcionalidad que toma el 100% del pago para acreditamiento de iva
-
- If TotalImporte = gvr.DataKey("Saldo").ToDecimal Then
- ImporteMovimiento = (gvr.DataKey("IVA").ToDecimal).RoundSQL
- importeMX = (ImporteMovimiento * tipoCambioCompra).RoundSQL
-
- If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
- Else
- ImporteMovimiento = 0
- importeMX = 0
- End If
- Else
- ImporteMovimiento = (gvr.DataKey("IVA").ToDecimal * PorcentajePago).RoundSQL
- importeMX = (ImporteMovimiento * tipoCambioCompra).RoundSQL
- If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
-
- End If
- TipoCambioGeneral = If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)
-
- PorcentajeImpuesto = gvr.DataKey("PorcentajeIVA").ToDecimal
- Dim IdCtaIVAXAcreditar As Integer = 0
- Dim IdCtaIVAAcreditable As Integer = 0
-
- If gvr.DataKey("EsImportacion").ToString.contiene("1", "True") Then
- ConceptoContable = 287
- End If
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then
- IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- End If
- IdCtaContable = If(IdCtaIVAXAcreditar > 0, IdCtaIVAXAcreditar, 0)
- If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero
- End If
- End If
-
- Case 19 'Iva Acreditado
- Dim TotalImporte As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- 'funcionalidad que toma el 100% del pago para acreditamiento de iva
-
- If TotalImporte = gvr.DataKey("Saldo").ToDecimal Then
- ImporteMovimiento = (gvr.DataKey("IVADeducible").ToDecimal).RoundSQL
- importeMX = (ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)).RoundSQL
-
- If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
- Else
- ImporteMovimiento = 0
- importeMX = 0
- End If
- Else
- ImporteMovimiento = gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago
- importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)
-
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- importeMX = importeMX.RoundSQL
-
- If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
- End If
- TipoCambioGeneral = If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)
-
- If gvr.DataKey("EsImportacion").ToString.contiene("1", "True") Then
- ConceptoContable = 288
- End If
-
- PorcentajeImpuesto = gvr.DataKey("PorcentajeIVA").ToDecimal
- Dim IdCtaIVAXAcreditar As Integer = 0
- Dim IdCtaIVAAcreditable As Integer = 0
- Dim IdCtaContableNoIVA As Integer = 0
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then
- IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- IdCtaContableNoIVA = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero
- End If
- IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0)
-
- 'se registra el iva no acreditable
- If gvr.DataKey("IVANoDeducible").ToDecimal > 0 Then
-
- Dim ImporteNOIVA As Decimal = gvr.DataKey("IVANoDeducible").ToDecimal * PorcentajePago
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, FechaMovimiento, IdCtaContableNoIVA, -1, CveIE, CveCompra:=gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedor, ImporteMX:=ImporteNOIVA, ImporteME:=If(TipoCambioPago = 1, 0, ImporteMovimiento), TipoCambio:=TipoCambioGeneral, CveSubProyecto:=CveSubProyecto, PorcentajeImpuesto:=PorcentajeImpuesto) Then
- MsgError = "No se pudo insertar la póliza"
- Exit For
- End If
- End If
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero
- End If
- End If
-
- Case 25 'IEPS X Acreditar
- Dim TotalImporte As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
- ImporteMovimiento = (gvr.DataKey("IEPSPorPagar").ToDecimal * PorcentajePago).RoundSQL
- importeMX = (ImporteMovimiento * tipoCambioCompra).RoundSQL
- TipoCambioGeneral = tipoCambioCompra
-
- If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
- If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero
- End If
- End If
- Case 26 'IEPS Acreditable
- Dim TotalImporte As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
- ImporteMovimiento = (gvr.DataKey("IEPSPorPagar").ToDecimal * PorcentajePago).RoundSQL
- importeMX = (ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)).RoundSQL
- TipoCambioGeneral = If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero
- End If
- End If
-
- Case 64 'Ganancia
- If CveMoneda <> 1 OrElse gvr.DataKey("CveMoneda").ToEntero <> 1 Then
- Dim tImporteCompra, tImportePago As Decimal
- Dim Diferencia As Decimal = 0
-
- If gvr.DataKey("CveMoneda").ToEntero = 1 And CveMoneda <> 1 Then
- 'factura pesos, pago en dolares
- tImporteCompra = gvr.FCTextBox("TxtAbonar").Text.ToDecimal.RoundSQL
- tImportePago = (((gvr.FCTextBox("TxtAbonar").Text.ToDecimal) * tipoCambioCompra / TipoCambioPago).RoundSQL * TipoCambioPago).RoundSQL
- ElseIf gvr.DataKey("CveMoneda").ToEntero <> 1 And CveMoneda <> 1 Then
- 'factura dolares, pago en dolares
- tImporteCompra = ((gvr.FCTextBox("TxtAbonar").Text.ToDecimal) * tipoCambioCompraValuacion).RoundSQL
- tImportePago = ((gvr.FCTextBox("TxtAbonar").Text.ToDecimal) * TipoCambioPago).RoundSQL
- ElseIf gvr.DataKey("CveMoneda").ToEntero <> 1 And CveMoneda = 1 Then
- 'factura dolares, pago en pesos
- tImporteCompra = ((gvr.FCTextBox("TxtAbonar").Text.ToDecimal) * tipoCambioCompraValuacion).RoundSQL
- tImportePago = ((gvr.FCTextBox("TxtAbonar").Text.ToDecimal) * TipoCambioPago).RoundSQL
- End If
-
- If tImporteCompra <> tImportePago Then
- If tImporteCompra > tImportePago Then
- ConceptoContable = 64
- IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
- TipoMovimiento = True
- 'CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria
- Else
- ConceptoContable = 65
- IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
- TipoMovimiento = False
- ' CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
- End If
- Diferencia = tImporteCompra - tImportePago
-
- End If
-
- If FuncionalidadFluctuacionImpuestos Then
- Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)
- Diferencia = ((gvr.FCTextBox("TxtAbonar").Text.ToDecimal) * tipoCambioCompraValuacion) - ((gvr.FCTextBox("TxtAbonar").Text.ToDecimal) * TipoCambioPago) 'Añadimos la diferencia de perdida en la venta
- Diferencia -= ((gvr.DataKey("IVA").ToDecimal * PorcentajePago) * tipoCambioCompra) - ((gvr.DataKey("IVA").ToDecimal * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IVA
- Diferencia += ((gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambioCompra) - ((gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetIVA
- Diferencia += ((gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambioCompra) - ((gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetISR
- Diferencia -= ((gvr.DataKey("IEPS").ToDecimal * PorcentajePago) * tipoCambioCompra) - ((gvr.DataKey("IEPS").ToDecimal * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IEPS
- Diferencia = Diferencia.RoundSQL
- End If
-
- ImporteMovimiento = Math.Abs(Diferencia)
- importeMX = ImporteMovimiento
-
- Else
- ImporteMovimiento = 0
- End If
- 'Case 65 'Perdida
- ' If CveMoneda <> 1 OrElse gvr.DataKey("CveMoneda").ToEntero <> 1 Then
-
- ' IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
- ' 'tipoCambioVentaDiferenciaCambiaria = If(gvr.DataKey("Fecha").ToDate < FechaUltimaFluctuacion, TipoCambioFluctuacion, gvr.DataKey("TipoCambio").ToDecimal)
- ' Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra)
-
- ' Dim Diferencia As Decimal = ((gvr.FCTextBox("TxtAbonar").Text.ToDecimal) * tipoCambioCompraValuacion) - ((gvr.FCTextBox("TxtAbonar").Text.ToDecimal) * TipoCambioPago) 'Añadimos la diferencia de perdida en la venta
- ' Diferencia -= ((gvr.DataKey("IVA").ToDecimal * PorcentajePago) * tipoCambioCompra) - ((gvr.DataKey("IVA").ToDecimal * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IVA
- ' Diferencia += ((gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambioCompra) - ((gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetIVA
- ' Diferencia += ((gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambioCompra) - ((gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetISR
- ' Diferencia -= ((gvr.DataKey("IEPS").ToDecimal * PorcentajePago) * tipoCambioCompra) - ((gvr.DataKey("IEPS").ToDecimal * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IEPS
- ' Diferencia = Math.Round(Diferencia, 2)
- ' 'si la diferencia es negativa es pérdida, si es positiva es ganancia
- ' If Diferencia < 0 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
- ' ImporteMovimiento = Math.Abs(Diferencia)
- ' importeMX = ImporteMovimiento
- ' End If
- ' Else
- ' ImporteMovimiento = 0
- ' End If
- Case 255 'Otros egresos
- If DdlOtrosPagos.SelectedValue = "2" Then
- If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
- ImporteMovimiento = gvr.FCTextBox("TxtComision").Text.ToDecimal
- importeMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
- ImporteMovimiento = gvr.FCTextBox("TxtComision").Text.ToDecimal
- importeMX = ImporteMovimiento * TipoCambioPago
- ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
- ImporteMovimiento = gvr.FCTextBox("TxtComision").Text.ToDecimal
- importeMX = ImporteMovimiento '* TipoCambioPago
- ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
- ImporteMovimiento = gvr.FCTextBox("TxtComision").Text.ToDecimal
- importeMX = ImporteMovimiento * TipoCambioPago
- End If
-
- If gvr.FCTextBox("TxtComision").Text.ToDecimal < 0 Then
- ConceptoContable = 78
- TipoMovimiento = True
- ImporteMovimiento = ImporteMovimiento * -1
- importeMX = importeMX * -1
- IdCtaContable = UsuarioActual.Empresa.IdCuentaOtrosIngresos
- Else
- TipoMovimiento = False
- IdCtaContable = UsuarioActual.Empresa.Funcionalidad(266).ToEntero()
- End If
-
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- importeMX = importeMX.RoundSQL
- TipoCambioGeneral = TipoCambioPago
-
- End If
- Case 42 'Acreedores
-
- If DivTarjeta.Visible AndAlso DdlTarjeta.SelectedValue.ToEntero > 0 Then
- Dim ObjCreditos As New ClsBancos
- ObjCreditos.GetTarjetasCreditos(DdlCuenta.SelectedValue.ToEntero, DdlTarjeta.SelectedValue.ToEntero)
- If ObjCreditos.DtResultados.Rows.Count > 0 AndAlso (ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjeta").ToString.ToEntero > 0 Or ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjetaSIG").ToString.ToEntero > 0) Then
- IdCtaContable = ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjeta").ToString.ToEntero
- Else
- IdCtaContable = IdCuenta
- End If
-
- Dim Importe42 As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal + gvr.FCTextBox("TxtComision").Text.ToDecimal
- ImporteMovimiento = Importe42
- importeMX = If(CveMoneda = 2, If(DivTC.Visible, Importe42 / TxtTC.Text.ToDecimal * TipoCambioPago, Importe42 * TipoCambioPago), Importe42)
- TipoCambioGeneral = TipoCambioPago
- End If
-
- Case 30
- 'Conta ContPAQ
- If IdCuenta < 1 Then
- CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
- idCuentaContabilizacion = 0
- End If
-
- ImporteMovimiento = 0
- Case Else
- ImporteMovimiento = 0
- End Select
-
- If MsgError <> "" Then
- Exit For
- End If
-
- If ImporteMovimiento <> 0 Then
- 'Conta ContPAQ
- If IdCtaContable = 0 Then
- CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimeroValor("ConceptoContable", String.Format("CveConceptoContable = {0}", ConceptoContable)))
- idCuentaContabilizacion = 0
- End If
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, Referencia, ConceptoContable, ConceptoMovimiento, FechaMovimiento, IdCtaContable, -1, CveIE, CveSubProyecto:=CveSubProyecto, CveCompra:=gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedor, ImporteMX:=importeMX, ImporteME:=If(TipoCambioPago = 1, 0, ImporteMovimiento), TipoCambio:=TipoCambioGeneral, PorcentajeImpuesto:=PorcentajeImpuesto) Then
- MsgError = "No se pudo insertar la póliza"
- Exit For
- End If
- End If
- Next
- 'Unificacion de PrePolizas
- If MsgError = "" AndAlso UsuarioActual.Empresa.Funcionalidad(219) = "1" Then
- If Not ObjMov.PrePolizaUnificacion(CvePrePoliza, gvr.DataKey("CvePrePoliza").ToEntero) Then
- MsgError = "No se pudo unificar la prepoliza"
- Alert("No se pudo unificar la prepoliza", TipoMensaje.MsgError)
- End If
- End If
-
- End If
-
- 'DESPROGRAMA LO PROGRAMADO DESPUES DE HACERLE UN PAGO
- ' If DdlTipoTransaccion.SelectedValue <> "9" Then 'SI ES LAYOUT SE DESPROGRAMA EN BANCOS/PAGOELECTRONICO, se comentó, 2018.07.31 peticion marilú.
- If MsgError = "" AndAlso gvr.DataKey("ImporteProgramo").ToDouble > 0 Then
- ObjComp.ProgramarCompra(gvr.DataKey("CveCompra").ToEntero, 0, UsuarioActual.CveUsuario, -1)
- End If
+ Dim ImporteFluctuacion As Decimal = 0 '((ImporteSeleccionado / TCPago) - TxtImporte.Text.ToDecimal)
+ Dim DtPrePoliza As DataTable = Nothing
+ If ObjMov.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
+ DtPrePoliza = ObjMov.DtResultados.Copy
End If
- Next
- ConceptoMovimiento = $"{TxtPagueseA.Text.Trim} - {TxtObservaciones.Text} {If(TipoCambioPago > 1, $" TC:{TipoCambioPago}", "")}"
- Referencia = $"{HdnTipoTransaccionAbreviatura.Value}: {TxtFolio.Text.Trim}"
- If (Not DivTarjeta.Visible Or DdlTarjeta.SelectedValue.ToEntero = -1) Then
- If TipoCambioPago > 1 AndAlso CveMoneda = 2 Then
- If UsaComplementariaBancos Or (IdCuentaBancariaComplementaria > 0) Then
- If CveMoneda = 2 AndAlso CveMonedaFiltro = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
- TipoCambioPago = TxtTCDolares.Text.ToDecimal
- ElseIf CveMoneda = 2 AndAlso CveMonedaFiltro = 2 Then
- TipoCambioPago = TxtTCDolaresDolares.Text.ToDecimal
+ Dim PagoProveedoresME = DtPrePoliza.SUMD("ImporteMN", "CveConceptoContable = 312 AND TipoMovto = 0")
+ Dim Bancos = DtPrePoliza.SUMD("ImporteMN", "CveConceptoContable = 30 AND TipoMovto = 1")
+ Dim BancosComplementaria = DtPrePoliza.SUMD("ImporteMN", "CveConceptoContable = 204 AND TipoMovto = 1")
+
+ DtPrePoliza.Dispose()
+
+ ImporteFluctuacion = PagoProveedoresME - (Bancos + BancosComplementaria)
+
+ If MsgError = "" AndAlso ImporteFluctuacion.RoundSQL() <> 0 Then
+ 'SI EL PAGO DE PROVEEDORES ME ES MAYOR QUE BANCOS METER EL CONCEPTO DE GANANCIA
+ If ImporteFluctuacion > 0 Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), Referencia, 64, ConceptoMovimiento, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveSubProyecto:=CveSubProyecto, CveProveedor:=Me.CveProveedor, CveCompra:=-1, ImporteMX:=Math.Abs(ImporteFluctuacion), TipoCambio:=TipoCambio, TipoCambioPago:=TCPago) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
End If
-
- If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDecimal, Referencia, 30, ConceptoMovimiento, TxtFechaDocumento.Text.ToDate, IdCuenta, -1, CveIE, CveProveedor:=CveProveedor, ImporteMX:=TxtImporte.Text.ToDecimal, ImporteME:=If(TipoCambioPago = 1, 0, TxtImporte.Text.ToDecimal), TipoCambio:=TipoCambioPago, CveSubProyecto:=CveSubProyecto) Then
- MsgError = "No se pudo insertar la póliza"
+ ElseIf ImporteFluctuacion < 0 Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), Referencia, 65, ConceptoMovimiento, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveSubProyecto:=CveSubProyecto, CveProveedor:=Me.CveProveedor, CveCompra:=-1, ImporteMX:=Math.Abs(ImporteFluctuacion), TipoCambio:=TipoCambio, TipoCambioPago:=TCPago) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
End If
- If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, If(CveMoneda = 1 AndAlso TxtTC.Visible, TxtImporte.Text.ToDecimal / TxtTC.Text.ToDecimal, TxtImporte.Text.ToDecimal), Referencia, 204, ConceptoMovimiento, TxtFechaDocumento.Text.ToDate, IdCuentaBancariaComplementaria, -1, CveIE, CveProveedor:=CveProveedor, ImporteMX:=If(CveMoneda = 2, Math.Round((TxtImporte.Text.Trim.ToDecimal * TipoCambioPago) - TxtImporte.Text.Trim.ToDecimal, 2, MidpointRounding.AwayFromZero), TxtImporte.Text.Trim.ToDecimal), ImporteME:=If(CveMoneda = 1, 0, TxtImporte.Text.ToDecimal), TipoCambio:=TipoCambioPago, CveSubProyecto:=CveSubProyecto) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- Else
- If CveMoneda = 2 AndAlso CveMonedaFiltro = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
- TipoCambioPago = TxtTCDolares.Text.ToDecimal
- ElseIf CveMoneda = 2 AndAlso CveMonedaFiltro = 2 Then
- TipoCambioPago = TxtTCDolaresDolares.Text.ToDecimal
- End If
-
- If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDecimal, Referencia, 30, ConceptoMovimiento, TxtFechaDocumento.Text.ToDate, IdCuenta, -1, CveIE, CveProveedor:=CveProveedor, ImporteMX:=If(CveMoneda = 2, Math.Round(TxtImporte.Text.Trim.ToDecimal * TipoCambioPago, 2, MidpointRounding.AwayFromZero), TxtImporte.Text.Trim.ToDecimal), ImporteME:=If(DivTC.Visible, If(TxtTC.Text.ToDecimal > 0, TxtImporte.Text.ToDecimal / TxtTC.Text.ToDecimal, 0), 0), TipoCambio:=TipoCambioPago, CveSubProyecto:=CveSubProyecto) Then
- MsgError = "No se pudo insertar la póliza"
- End If
-
- End If
-
- If UsuarioActual.CveEmpresa.Contiene(119, 158) AndAlso CveMoneda = 2 AndAlso CveMonedaFiltro = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
- 'fluctuación.
- Dim TCPago = TxtTCDolares.Text.ToDecimal
-
- Dim ImporteFluctuacion As Decimal = 0 '((ImporteSeleccionado / TCPago) - TxtImporte.Text.ToDecimal)
-
- Dim DtPrePoliza As DataTable = Nothing
- If ObjMov.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
- DtPrePoliza = ObjMov.DtResultados.Copy
- End If
-
- Dim PagoProveedoresME = DtPrePoliza.SUMD("ImporteMN", "CveConceptoContable = 312 AND TipoMovto = 0")
- Dim Bancos = DtPrePoliza.SUMD("ImporteMN", "CveConceptoContable = 30 AND TipoMovto = 1")
- Dim BancosComplementaria = DtPrePoliza.SUMD("ImporteMN", "CveConceptoContable = 204 AND TipoMovto = 1")
-
- DtPrePoliza.Dispose()
-
- ImporteFluctuacion = PagoProveedoresME - (Bancos + BancosComplementaria)
-
- If MsgError = "" AndAlso ImporteFluctuacion.RoundSQL() <> 0 Then
- 'SI EL PAGO DE PROVEEDORES ME ES MAYOR QUE BANCOS METER EL CONCEPTO DE GANANCIA
- If ImporteFluctuacion > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), Referencia, 64, ConceptoMovimiento, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveSubProyecto:=CveSubProyecto, CveProveedor:=Me.CveProveedor, CveCompra:=-1, ImporteMX:=Math.Abs(ImporteFluctuacion), TipoCambio:=TipoCambio, TipoCambioPago:=TCPago) Then
- MsgError = "Ocurrio un error al saldar el movimiento"
- End If
- ElseIf ImporteFluctuacion < 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), Referencia, 65, ConceptoMovimiento, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveSubProyecto:=CveSubProyecto, CveProveedor:=Me.CveProveedor, CveCompra:=-1, ImporteMX:=Math.Abs(ImporteFluctuacion), TipoCambio:=TipoCambio, TipoCambioPago:=TCPago) Then
- MsgError = "Ocurrio un error al saldar el movimiento"
- End If
- End If
- End If
- End If
-
- Else
- If CveMoneda = 2 AndAlso CveMonedaFiltro = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
- TipoCambioPago = TxtTCDolares.Text.ToDecimal
- ElseIf CveMoneda = 2 AndAlso CveMonedaFiltro = 2 Then
- TipoCambioPago = GlobalTipoCambio(TxtFechaDocumento.Text.ToDate).ToString.ToDecimal
- End If
-
- If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDecimal, Referencia, 30, ConceptoMovimiento, TxtFechaDocumento.Text.ToDate, IdCuenta, -1, CveIE, CveProveedor:=CveProveedor, ImporteMX:=If(CveMoneda = 2, Math.Round(TxtImporte.Text.Trim.ToDecimal * TipoCambioPago, 2, MidpointRounding.AwayFromZero), TxtImporte.Text.Trim.ToDecimal), ImporteME:=If(DivTC.Visible, If(TxtTC.Text.ToDecimal > 0, TxtImporte.Text.ToDecimal / TxtTC.Text.ToDecimal, 0), 0), TipoCambio:=TipoCambioPago, CveSubProyecto:=CveSubProyecto) Then
- MsgError = "No se pudo insertar la póliza"
End If
End If
End If
- If MsgError = "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then
- If ObjMov.ValorPolizaDescuadre > 0 Then
- MsgError = ObjMov.MensajePolizaDescuadre + " " + ObjMov.ValorDiferencia
- GuardaLogAD($"Bancos/ProveedoresAbonar | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
- End If
+ End If
+
+ If MsgError = "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then
+ If ObjMov.ValorPolizaDescuadre > 0 Then
+ MsgError = ObjMov.MensajePolizaDescuadre + " " + ObjMov.ValorDiferencia
+ GuardaLogAD($"Bancos/ProveedoresAbonar | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
+ End If
+ End If
+
+ If MsgError = "" AndAlso UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
+ If Not ObjMov.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
+ MsgError = "No se pudo simplificar los movimientos"
+ Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError)
+ End If
+ End If
+
+ 'Conta ContPAQ
+ If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then
+
+ If ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjConta) Then
+ ' Alert(alertaContabilizacion, ModExtensiones.TipoMensaje.MsgInformacion)
+ IDPoliza = ObjMov.ContaIdPoliza
+ Else
+ Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError)
+ MsgError = "Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico"
End If
- If MsgError = "" AndAlso UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
- If Not ObjMov.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
- MsgError = "No se pudo simplificar los movimientos"
- Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError)
- End If
- End If
-
- 'Conta ContPAQ
- If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then
- If idCuentaContabilizacion > 0 Then
- If ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjConta) Then
- ' Alert(alertaContabilizacion, ModExtensiones.TipoMensaje.MsgInformacion)
- IDPoliza = ObjMov.ContaIdPoliza
- Else
- Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError)
- MsgError = "Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico"
- End If
- Else
- Alert(String.Format("No se puede contabilizar la Prepoliza debido a que las siguientes cuentas son invalidas: {0}", CuentasContablesInvalidas), TipoMensaje.MsgAdvertencia)
- MsgError = "No se puede contabilizar la Prepoliza"
- End If
- End If
-
- Else 'Empresa Prueba
-
- 'Movimientos de Bancos
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteSeleccionado, TxtFolio.Text.Trim, 30, TxtObservaciones.Text, Now, 0, -1, CveIE, CveProveedor:=CveProveedor, ImporteMX:=If(CveMoneda = 2, ImporteSeleccionado * TipoCambio, ImporteSeleccionado)) Then
- MsgError = "no se pudo insertar el detalle de la poliza"
- End If
-
-
- Dim PorcentajePago As Decimal = 100
- 'inserto las compras que voy a pagar
- For Each gvr As GridViewRow In GvCxP.Rows
- If gvr.FCCheckBox("Chk").Checked Then
-
-
- If TipoPago = 3 Then 'cuando es pago con crediproveedores
- ' CveConceptoCompra = 50 ' prestamo documentos por pagar
- 'debo de actualizar el estatus dela compra a pagada
- Dim ObjCreditos As New ClsBancos
-
- If ObjCreditos.GetCreditos(-1, -1, -1, CveProveedor, 1, UsuarioActual.CveEmpresa) Then
- Dim DTCreditos As DataTable = ObjCreditos.DtResultados.FiltraParametros(String.Format("CveCompra = {0}", gvr.DataKey("CveCompra")))
-
- If DTCreditos.Rows.Count > 0 Then
- 'actualizo el estatus
- Dim drC As DataRow = DTCreditos.Rows(0)
- Dim Estatus As Integer = 103
-
- ' Estatus = If(drE("Estatus").ToString = "P", 103, Estatus)
-
- If Not ObjCreditos.UpdateCreditosDetalle(drC("CveCreditoDetalle").ToString.ToEntero, drC("FechaVencimiento").ToString.ToDate, drC("CreditoValor").ToString.ToDouble, -1, -1.0, -1.0, -1.0, -1.0, Estatus) Then
- ' ErrorCredito = True
- End If
-
- End If
-
- End If
- ObjCreditos.Dispose()
-
- End If
-
- 'Saco el porcentaje de pago
- If gvr.DataKey("Original").ToDouble > 0 Then PorcentajePago = gvr.FCTextBox("TxtAbonar").Text.ToDecimal / gvr.DataKey("Original").ToDecimal Else PorcentajePago = 1
-
- 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 Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, gvr.FCTextBox("TxtAbonar").Text.ToDecimal, TxtObservaciones.Text, CveConceptoContablePago, "", Now, 0, -1, CveIE, CveCompra:=gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedor, ImporteMX:=gvr.FCTextBox("TxtAbonar").Text.ToDecimal) Then
- MsgError = "Detalle"
- Exit For
- Else
-
- 'IVA. siempre se registra aunque sea cero
- If MsgError = "" Then
-
- Dim IdCtaIVAXAcreditar As Integer = 0
- Dim IdCtaIVAAcreditable As Integer = 0
- Dim PorcentajeImpuesto As Decimal = gvr.DataKey("PorcentajeIVA").ToDecimal
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then
- IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- End If
-
- 'Agrego el IVA
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, gvr.DataKey("IVA").ToDecimal * PorcentajePago, TxtObservaciones.Text, 14, TxtObservaciones.Text, Now, IdCtaIVAXAcreditar, -1, CveIE, CveCompra:=gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedor, ImporteMX:=gvr.DataKey("IVA").ToDecimal * PorcentajePago) Then
- MsgError = "Detalle"
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, gvr.DataKey("IVA").ToDecimal * PorcentajePago, TxtObservaciones.Text, 19, TxtObservaciones.Text, Now, IdCtaIVAAcreditable, -1, CveIE, CveCompra:=gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedor, ImporteMX:=gvr.DataKey("IVA").ToDecimal * PorcentajePago) Then
- MsgError = "Detalle"
- End If
- End If
-
- If MsgError = "" AndAlso gvr.DataKey("RetIVA").ToDouble > 0 Then
- 'Agrego el RetIVA
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, TxtObservaciones.Text, 22, TxtObservaciones.Text, Now, 0, -1, CveIE, CveCompra:=gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedor, ImporteMX:=gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) Then
- MsgError = "Detalle"
- End If
- End If
-
- 'If MsgError = "" AndAlso gvr.DataKey("RetISR").ToDouble > 0 Then
- ' 'Agrego el RetIVA
- ' If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, TxtObservaciones.Text, 23, TxtObservaciones.Text, Now, 0, -1, CveIE, CveCompra:=gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedor, ImporteMX:=gvr.DataKey("RetISR").ToDecimal * PorcentajePago) Then
- ' MsgError = "Detalle"
- ' End If
- 'End If
-
- 'DESPROGRAMA LO PROGRAMADO DESPUES DE HACERLE UN PAGO
- If DdlTipoTransaccion.SelectedValue <> "9" Then 'SI ES LAYOUT SE DESPROGRAMA EN BANCOS/PAGOELECTRONICO
- If gvr.DataKey("ImporteProgramo").ToDouble > 0 Then
- ObjComp.ProgramarCompra(gvr.DataKey("CveCompra").ToEntero, 0, UsuarioActual.CveUsuario, -1)
- End If
- End If
-
- End If
-
- End If
- End If
- Next
- End If 'Empresa Prueba
+ End If
Else
MsgError = "No se pudo insertar la póliza"
@@ -1705,99 +986,91 @@ Partial Class Bancos_ProveedoresAbonar
If DdlTipoTransaccion.SelectedValue = "1" Then TipoChq = "CHQ"
'se multiplica por dos, porque se esta juntando el ejercido y el pagado al mismo tiempo
- If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.Empresa.UsaContabilidad Then
+ IDPoliza = ObjConta.AddPoliza(2, "Pagado " & TxtPagueseA.Text.Trim, Total, Total, UsuarioActual.CveUsuario, Fecha, TxtFolio.Text, TipoChq)
+ If IDPoliza > 0 Then
+ FolioPoliza = ObjConta.Folio
+ Dim ConceptoRenglon, Referencia As String
+ ConceptoRenglon = ""
+ Referencia = TxtFolio.Text
- IDPoliza = ObjConta.AddPoliza(2, "Pagado " & TxtPagueseA.Text.Trim, Total, Total, UsuarioActual.CveUsuario, Fecha, TxtFolio.Text, TipoChq)
- If IDPoliza > 0 Then
- FolioPoliza = ObjConta.Folio
- Dim ConceptoRenglon, Referencia As String
- ConceptoRenglon = ""
- Referencia = TxtFolio.Text
+ 'NECESITO SACAR LAS PARTIDAS DE CADA PRESUPUESTO DE LAS FACTURAS PARA AFECTARLAS CON EL PAGO
+ Dim dtAC As New DataTable
+ dtAC.Columns.Add("PorcentajePago", Type.GetType("System.Double"))
+ Dim PorcentajePago As Double = 1
+ 'Dim ComprasAC As New ClsCompras
+ For Each gvr As GridViewRow In GvCxP.Rows
+ If gvr.FCCheckBox("Chk").Checked Then
+ 'obtengo su poliza para ver que presupuestos afecto
+ If gvr.DataKey("Original").ToDouble > 0 Then PorcentajePago = gvr.FCTextBox("TxtAbonar").Text.ToDouble / gvr.DataKey("Original").ToDouble Else PorcentajePago = 1
- 'NECESITO SACAR LAS PARTIDAS DE CADA PRESUPUESTO DE LAS FACTURAS PARA AFECTARLAS CON EL PAGO
- Dim dtAC As New DataTable
- dtAC.Columns.Add("PorcentajePago", Type.GetType("System.Double"))
- Dim PorcentajePago As Double = 1
- 'Dim ComprasAC As New ClsCompras
- For Each gvr As GridViewRow In GvCxP.Rows
- If gvr.FCCheckBox("Chk").Checked Then
- 'obtengo su poliza para ver que presupuestos afecto
- If gvr.DataKey("Original").ToDouble > 0 Then PorcentajePago = gvr.FCTextBox("TxtAbonar").Text.ToDouble / gvr.DataKey("Original").ToDouble Else PorcentajePago = 1
+ If ObjComp.GetPresupuestosCompras(gvr.DataKey("CveCompra").ToEntero) Then
+ dtAC.Merge(ObjComp.DtResultados)
- If ObjComp.GetPresupuestosCompras(gvr.DataKey("CveCompra").ToEntero) Then
- dtAC.Merge(ObjComp.DtResultados)
+ If Not gvr.DataKey("Fecha").ToString.ToDate.Year < Fecha.Year Then ' SI ES EJERCICIO ANTERIOR LA COMPRA QUE EL EJERCICIO DEL PAGO NO AGREGA MOVIMIENTOS PRESUPUESTALES
+ For Each dr As DataRow In ObjComp.DtResultados.Rows
+ Total = dr("TotalPresupuesto").ToString.ToDouble * PorcentajePago
- If Not gvr.DataKey("Fecha").ToString.ToDate.Year < Fecha.Year Then ' SI ES EJERCICIO ANTERIOR LA COMPRA QUE EL EJERCICIO DEL PAGO NO AGREGA MOVIMIENTOS PRESUPUESTALES
- For Each dr As DataRow In ObjComp.DtResultados.Rows
- Total = dr("TotalPresupuesto").ToString.ToDouble * PorcentajePago
+ If Total > 0 Then
- If Total > 0 Then
+ 'EJERCIDO
+ If ChkACEjercer.Checked Then
- 'EJERCIDO
- If ChkACEjercer.Checked Then
-
- ConceptoRenglon = String.Format("GE {0} Fact:{1}", TxtPagueseA.Text.Trim, gvr.DataKey("SerieFolio"))
- If ObjConta.AddMovimiento(IDPoliza, dr("IdCuentaEjercido").ToString.ToEntero, False, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then
- 'actualizo el idcuenta del presupuesto
- If Not ObjConta.AddMovimiento(IDPoliza, dr("IdCuentaDevengado").ToString.ToEntero, True, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then
- TieneError = True : Exit For
- End If
-
- Else
- TieneError = True : Exit For
- End If
- End If
-
- 'PAGADO
- ConceptoRenglon = String.Format("GP {0} Fact:{1}", TxtPagueseA.Text.Trim, gvr.DataKey("SerieFolio"))
- If ObjConta.AddMovimiento(IDPoliza, dr("IdCuentaPagado").ToString.ToEntero, False, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then
+ ConceptoRenglon = String.Format("GE {0} Fact:{1}", TxtPagueseA.Text.Trim, gvr.DataKey("SerieFolio"))
+ If ObjConta.AddMovimiento(IDPoliza, dr("IdCuentaEjercido").ToString.ToEntero, False, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then
'actualizo el idcuenta del presupuesto
- If Not ObjConta.AddMovimiento(IDPoliza, dr("IdCuentaEjercido").ToString.ToEntero, True, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then
+ If Not ObjConta.AddMovimiento(IDPoliza, dr("IdCuentaDevengado").ToString.ToEntero, True, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then
TieneError = True : Exit For
End If
+
Else
TieneError = True : Exit For
End If
-
End If
- Next
- End If
- 'AFECTA PROVEEDOR
- Total = gvr.FCTextBox("TxtAbonar").Text.ToDouble
- If Not ObjConta.AddMovimiento(IDPoliza, CtaProveedor, False, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then
- TieneError = True
- Exit For
- End If
+ 'PAGADO
+ ConceptoRenglon = String.Format("GP {0} Fact:{1}", TxtPagueseA.Text.Trim, gvr.DataKey("SerieFolio"))
+ If ObjConta.AddMovimiento(IDPoliza, dr("IdCuentaPagado").ToString.ToEntero, False, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then
+ 'actualizo el idcuenta del presupuesto
+ If Not ObjConta.AddMovimiento(IDPoliza, dr("IdCuentaEjercido").ToString.ToEntero, True, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then
+ TieneError = True : Exit For
+ End If
+ Else
+ TieneError = True : Exit For
+ End If
+ End If
+ Next
+ End If
+
+ 'AFECTA PROVEEDOR
+ Total = gvr.FCTextBox("TxtAbonar").Text.ToDouble
+ If Not ObjConta.AddMovimiento(IDPoliza, CtaProveedor, False, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then
+ TieneError = True
+ Exit For
End If
- End If
- Next
- If Not TieneError Then
- ConceptoRenglon = String.Format("GP {0} {1}", TxtPagueseA.Text.Trim, TxtObservaciones.Text)
- Total = TxtImporte.Text.ToDouble
- If Not ObjConta.AddMovimiento(IDPoliza, IdCuenta, True, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then
- TieneError = True
End If
End If
+ Next
-
- Else
- TieneError = True
+ If Not TieneError Then
+ ConceptoRenglon = String.Format("GP {0} {1}", TxtPagueseA.Text.Trim, TxtObservaciones.Text)
+ Total = TxtImporte.Text.ToDouble
+ If Not ObjConta.AddMovimiento(IDPoliza, IdCuenta, True, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then
+ TieneError = True
+ End If
End If
- End If
- If Not TieneError Then
-
- 'actualizar la conta del IE
- ObjIE.UpdateIEPrePoliza(Fecha, FolioPoliza.ToString, IDPoliza, CvePrePoliza, CveIE, 0)
Else
-
- IDPoliza = 0
+ TieneError = True
End If
+ End If
-
+ If Not TieneError Then
+ 'actualizar la conta del IE
+ ObjIE.UpdateIEPrePoliza(Fecha, FolioPoliza.ToString, IDPoliza, CvePrePoliza, CveIE, 0)
+ Else
+ IDPoliza = 0
End If
If Not TieneError Then
@@ -1806,20 +1079,8 @@ Partial Class Bancos_ProveedoresAbonar
If ObjConta IsNot Nothing Then ObjConta.Commit()
Anexo.Text = "[]"
- 'RMF. comentado para verificar proceso.
- ''actualizo el notificar A del proveedor
- 'If UsuarioActual.Empresa.Funcionalidad(142) = "1" Then
- ' Dim Prov As New ClsCompProveedores
- ' Prov.UpdateProveedorNotificarA(CveProveedor, TxtNotificarA.Text.Trim)
- ' Prov.Dispose()
- 'End If
-
- 'IMPRIME CHEQUE
- 'GeneraChequePDF(CveIE, UsuarioActual.Empresa, IDPoliza)
Dim Msg As New StringBuilder
- 'Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/CHQ-{1}.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero))
- 'If Archivo.Exists Then
Msg.AppendFormat("
El Documento se generó correctamente.
Descargas:{0}
", Msg.ToString)
-
'LIMPIA
TxtFolio.Text = ""
TxtObservaciones.Text = ""
@@ -1839,8 +1099,7 @@ Partial Class Bancos_ProveedoresAbonar
Anexo.Text = "[]"
UpDatos.Update()
'upanexo.Update()
- CargaDatos() '(CveProveedor, CveMoneda, FechaI, FechaF, CveUsuarioRegistro, CveUsuarioProgramo, Serie)
-
+ CargaDatos()
Alert(Mensaje.ToString, TipoMensaje.MsgInformacion, If(ChkSeguirRegistrando.Checked And GvCxP.Rows.Count > 0, "location.href =""#""", "location.href =""RepProveedoresPagos.aspx"""))
@@ -1899,7 +1158,6 @@ Partial Class Bancos_ProveedoresAbonar
DdlTipoTransaccion.DataBind()
End If
-
If DdlTipoTransaccion.Items.Count > 1 Then DdlTipoTransaccion.Items.Insert(0, New ListItem("Seleccione Tipo Movimiento", "-1"))
End Sub
Protected Sub DdlTipoTransaccion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoTransaccion.SelectedIndexChanged
@@ -1909,11 +1167,9 @@ Partial Class Bancos_ProveedoresAbonar
If DdlTipoTransaccion.SelectedValue = "1" Then
ChkAbonoCuenta.Visible = True
TxtPagueseA.Enabled = True
-
Else
ChkAbonoCuenta.Visible = False
TxtPagueseA.Enabled = False
-
End If
If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(9, 17) Then
@@ -1924,9 +1180,6 @@ Partial Class Bancos_ProveedoresAbonar
ChkEnviarCorreo.Checked = True
End If
-
-
-
CargaCuentas(DdlTipoTransaccion.SelectedValue.ToEntero)
RecargaCuentasDepositos()
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 3af2c50b1..fe2fe1bfd 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -5957,19 +5957,31 @@ Partial Class Compras_Compras
ErrorPrepoliza = True
End If
- If TipoCreditoInteres Then
+ If importeMovimiento <> 0 Then
+ Dim Pago As New CompraPago
+ Pago.ImportePago = importeMovimiento
+ Pago.CveIE = CveIE
+ Pago.CveMonedaPago = 1
+ Pago.CveCompraAmortizacion = -1
+ Pago.CveCreditoDetalle = CveCreditoDetalle
- Dim importeMovimientoIn As Decimal = ImporteIECredito - importeMovimiento
- Dim importeMNIn As Decimal = importeMovimientoIn * tipoCambioActual * Multiplicador
+ ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimientoIn, importeMNIn, 41, Referencia, Concepto, CtaProveedorAcreedores, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CveCreditoDetalle:=CveCreditoDetalle, CveClasificacion:=CveClasificacionDT, CveSubProyecto:=CveSubProyectoDT, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimientoIn), CveTipoGasto:=CveTipoGastoDT, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
- ErrorPrepoliza = True
- End If
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimientoIn, importeMNIn, 50, Referencia, Concepto, ViewState("IdCtaContDocsXPagar").ToString.ToEntero(), CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CveCreditoDetalle:=CveCreditoDetalle, CveClasificacion:=CveClasificacionDT, CveSubProyecto:=CveSubProyectoDT, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimientoIn), CveTipoGasto:=CveTipoGastoDT, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
- ErrorPrepoliza = True
-
- End If
End If
+
+ 'If TipoCreditoInteres Then
+
+ ' Dim importeMovimientoIn As Decimal = ImporteIECredito - importeMovimiento
+ ' Dim importeMNIn As Decimal = importeMovimientoIn * tipoCambioActual * Multiplicador
+
+ ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimientoIn, importeMNIn, 41, Referencia, Concepto, CtaProveedorAcreedores, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CveCreditoDetalle:=CveCreditoDetalle, CveClasificacion:=CveClasificacionDT, CveSubProyecto:=CveSubProyectoDT, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimientoIn), CveTipoGasto:=CveTipoGastoDT, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
+ ' ErrorPrepoliza = True
+ ' End If
+ ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimientoIn, importeMNIn, 50, Referencia, Concepto, ViewState("IdCtaContDocsXPagar").ToString.ToEntero(), CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CveCreditoDetalle:=CveCreditoDetalle, CveClasificacion:=CveClasificacionDT, CveSubProyecto:=CveSubProyectoDT, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimientoIn), CveTipoGasto:=CveTipoGastoDT, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
+ ' ErrorPrepoliza = True
+
+ ' 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)}"
diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb
index 7608f8afe..5f77cd67e 100644
--- a/Compras/PopUpVerFactura.aspx.vb
+++ b/Compras/PopUpVerFactura.aspx.vb
@@ -223,7 +223,28 @@ Partial Class PopUpVerFactura
End If
End If
+ End If
+ End Sub
+
+
+ Private Sub DescargaArchivoDirecto(RutaArchivo As String)
+ If RutaArchivo <> "" Then
+
+ 'Dim Path As String = String.Format("{0}\{1}", UsuarioActual.Empresa.Ruta, RutaArchivo)
+ Dim Archivo As New System.IO.FileInfo(RutaArchivo)
+
+ If Archivo.Exists Then
+ HttpContext.Current.Response.Clear()
+ HttpContext.Current.Response.ClearContent()
+ HttpContext.Current.Response.ContentType = "application/octet-stream"
+ HttpContext.Current.Response.AppendHeader("Content-disposition", String.Format("attachment; filename={0}", Archivo.Name))
+ HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString())
+ HttpContext.Current.Response.TransmitFile(RutaArchivo)
+ 'HttpContext.Current.Response.Flush()
+ HttpContext.Current.Response.End()
End If
+ Archivo = Nothing
+ End If
End Sub
Private Sub ReciboAgropecuaria()
@@ -972,6 +993,12 @@ Partial Class PopUpVerFactura
DescargaFactura(UrlParametros)
End If
+ If UrlParametros("OP").ToString = "File" Then
+
+ DescargaArchivoDirecto(UrlParametros("FILE").ToString)
+
+ End If
+
'DESCARGA DOCUMENTO XML O PDF DE LA FACTURA VENTA
If UrlParametros("OP").ToString = "FactVta" Then
DescargaFacturaVenta(UrlParametros)
@@ -1258,6 +1285,13 @@ Partial Class PopUpVerFactura
End If
End If
+ 'IMPRIME ENTREGAS POR REALIZAR
+ If UrlParametros("OP").ToString = "FILE" Then
+ If UrlParametros("CVEASIGNACIONENTREGA") IsNot Nothing And UrlParametros("USUARIOENTREGA") IsNot Nothing Then
+ ImprimeEntregasPorRealizar(UrlParametros("CVEASIGNACIONENTREGA").ToString.ToLong, UrlParametros("USUARIOENTREGA").ToString)
+ End If
+ End If
+
End Sub
Private Function Parametros(Cadena As String) As Hashtable
@@ -3048,6 +3082,16 @@ Partial Class PopUpVerFactura
CartaPorte = New Modelos.MSubReportData()
CartaPorte.Parametros.Add(New ReportParameter($"TieneCartaPorte", "False"))
End If
+ Else
+ If UsuarioActual.CveEmpresa = 13 AndAlso Vta.TipoDocto = "Egs" Then
+ CartaPorte = New Modelos.MSubReportData()
+ CartaPorte.Parametros.Add(New ReportParameter($"TieneCartaPorte", "False"))
+ End If
+ End If
+ Else
+ If UsuarioActual.CveEmpresa = 13 AndAlso Vta.TipoDocto = "Egs" Then
+ CartaPorte = New Modelos.MSubReportData()
+ CartaPorte.Parametros.Add(New ReportParameter($"TieneCartaPorte", "False"))
End If
End If
diff --git a/Compras/eFacturas.aspx b/Compras/eFacturas.aspx
index a113abc55..ec13217d4 100644
--- a/Compras/eFacturas.aspx
+++ b/Compras/eFacturas.aspx
@@ -63,8 +63,8 @@