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/ClsNominas.vb b/App_Code/ClsNominas.vb
index fb2ad4e9c..e688b1a85 100644
--- a/App_Code/ClsNominas.vb
+++ b/App_Code/ClsNominas.vb
@@ -30,6 +30,10 @@ Public Class ClsNominas
Public Property FolioFiscal As String
Public Property Serie As String
Public Property Folio As Integer
+
+ Public Property FolioSolicitud As Integer
+
+
Public Property RegistroPatronal As String
Public Property SerieFolio As String
Public Property NominaFolio As String
@@ -3269,7 +3273,21 @@ Public Class ClsNominas
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
+ 'CveTipoSolicitud
+ '1 Nominas CFDI y Metadata
+ '101 Nominas CFDI
+ '201 Nominas Metadata
+
+ '2 eFacturas CFDI y Metadata
+ '102 eFacturas CFDI
+ '202 eFacturas Metadata
+
+ '3 Ingresos CFDI y Metadata
+ '103 Ingresos CFDI
+ '203 Ingresos Metadata
+
Dim CveSolictudAgregada As Integer = -1
+ FolioSolicitud = -1
Try
DataAdapter("PA_Gral_SAT_SolicitudesAdd2", CommandType.StoredProcedure)
@@ -3285,11 +3303,13 @@ Public Class ClsNominas
With SqlAdapter.SelectCommand.Parameters
.Add("@CveSolicitud", SqlDbType.Int).Direction = ParameterDirection.Output
+ .Add("@Folio", SqlDbType.Int).Direction = ParameterDirection.Output
End With
SqlAdapter.Fill(Data)
CveSolictudAgregada = SqlAdapter.SelectCommand.Parameters("@CveSolicitud").Value.ToString.ToEntero
+ FolioSolicitud = SqlAdapter.SelectCommand.Parameters("@Folio").Value.ToString.ToEntero
Catch ex As Exception
CveSolictudAgregada = -1
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 4d0886e3e..fe349f780 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
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 @@
diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb
index d5f1bb193..dcd828b1a 100644
--- a/Bancos/ProveedoresAbonar.aspx.vb
+++ b/Bancos/ProveedoresAbonar.aspx.vb
@@ -138,17 +138,6 @@ Partial Class Bancos_ProveedoresAbonar
Return ViewState("IdCtaProveedorExtranjera").ToString.ToEntero
End Get
End Property
- Private ReadOnly Property CtaAcreedor As Integer
- Get
- Return ViewState("CtaAcreedor").ToString.ToEntero
- End Get
- End Property
-
- Private ReadOnly Property IdCtaAcreedorExtranjera As Integer
- Get
- Return ViewState("IdCtaAcreedorExtranjera").ToString.ToEntero
- End Get
- End Property
Private Property IdCuenta As Integer
Get
@@ -196,41 +185,6 @@ Partial Class Bancos_ProveedoresAbonar
Return ViewState("IdCtaContComplementaria").ToString.ToEntero
End Get
End Property
- Private ReadOnly Property IdCtaContAcreedorComplementaria As Integer
- Get
- Return ViewState("IdCtaContAcreedorComplementaria").ToString.ToEntero
- End Get
- End Property
-
- Private ReadOnly Property IdCtaContRetIVA As Integer
- Get
- Return ViewState("IdCtaContRetIVA").ToString.ToEntero
- End Get
- End Property
- Private ReadOnly Property IdCtaContRetISR As Integer
- Get
- Return ViewState("IdCtaContRetISR").ToString.ToEntero
- End Get
- End Property
- Private ReadOnly Property IdCtaContRetIVAAcreditable As Integer
- Get
- Return ViewState("IdCtaContRetIVAAcreditable").ToString.ToEntero
- End Get
- End Property
- Private ReadOnly Property IdCtaContRetISRAcreditable As Integer
- Get
- Return ViewState("IdCtaContRetISRAcreditable").ToString.ToEntero
- End Get
- End Property
-
- Private Property EmpresaPrueba As Boolean
- Get
- Return CBool(ViewState("EmpresaPrueba"))
- End Get
- Set(value As Boolean)
- ViewState("EmpresaPrueba") = value
- End Set
- End Property
Private Property ComprobanteIE As String
Get
Return ViewState("ComprobanteIE").ToString
@@ -296,7 +250,6 @@ Partial Class Bancos_ProveedoresAbonar
If Not Page.IsPostBack Then
If Not UsuarioActual.Empresa.UsaAC Then
- EmpresaPrueba = True
ViewState("IdCtaContMonedaExtranjera") = 0
ViewState("IdCtaContComplementaria") = 0
ViewState("IdCtaContRetIVA") = 0
@@ -428,7 +381,7 @@ Partial Class Bancos_ProveedoresAbonar
TxtObservaciones.Text = ""
TxtImporte.Text = ""
TxtTotal.Text = ""
- 'If Mov.GetCxPProveedor(pCveProveedor, Serie, tCveMoneda, FechaVencimientoInicio:=FechaVencimientoInicio, FechaVencimientoFin:=FechaVencimientoFin, CveUsuarioRegistro:=CveUsuarioRegistro, CveUsuarioProgramo:=CveUsuarioPrograma) Then
+
If Mov.GetCxPProveedor(CveProveedor, FechaI, FechaF, CveUsuarioProgramo, CveUsuarioRegistro, CveUsuarioResponsable, CveClasificacionProveedor, tCveMoneda, CveEstatus, CveProveedorSucursal, CveAplicaNC, "-1", "-1", CodigoProgramacion) Then
DtDatos = Mov.DtResultados.FiltraParametros("Saldo > 0", "Fecha,SerieFolio")
GvCxP.DataSource = DtDatos
@@ -517,10 +470,8 @@ Partial Class Bancos_ProveedoresAbonar
e.Row.Cells(9).HorizontalAlign = HorizontalAlign.Right
e.Row.Cells(10).HorizontalAlign = HorizontalAlign.Right
-
e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1});", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo")))
-
If e.Row.RowIndex = 0 Then
e.Row.FCHyperLink("HplF").Text = (CType(GvCxP.DataSource, DataTable).Rows.Count - 1).ToString
e.Row.BackColor = Drawing.Color.LightGray
@@ -531,15 +482,10 @@ Partial Class Bancos_ProveedoresAbonar
e.Row.FCCheckBox("Chk").Visible = False
e.Row.FCTextBox("TxtComision").Visible = False
Else
-
e.Row.FCTextBox("TxtAbonar").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},1,'{2}',1);", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), "El Importe no debe de exceder el saldo"))
e.Row.FCTextBox("TxtComision").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},2,'{2}',2);", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), "El Importe no debe de exceder el saldo"))
-
- 'e.Row.FCTextBox("TxtAbonar").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},1,'{2}');", e.Row.FCCheckBox("Chk").ClientID, If(UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0, e.Row.DBCampo("ImporteAlmacen"), e.Row.DBCampo("Saldo")), If(UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0, "El importe no debe exceder el importe de entrada a almacen", "El Importe no debe de exceder el saldo")))
- 'e.Row.FCTextBox("TxtComision").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},2,'{2}');", e.Row.FCCheckBox("Chk").ClientID, If(UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0, e.Row.DBCampo("ImporteAlmacen"), e.Row.DBCampo("Saldo")), If(UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0, "El importe no debe exceder el importe de entrada a almacen", "El Importe no debe de exceder el saldo")))
End If
-
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 = "GvCxC" Then e.Row.Cells(4).ForeColor = Drawing.Color.Red
If e.Row.DBCampo("Original").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldoOriginal"), Literal).Text = ""
@@ -622,11 +568,8 @@ Partial Class Bancos_ProveedoresAbonar
'se va acumulando el importe de cada renglon para sacar el pago del IE
TxtImporte.Text = (TxtImporte.Text.ToDouble + e.Row.DBCampo("ImporteProgramo").ToDouble).FormatoNumero()
End If
-
-
End If
-
'si está bloqueada y es refacturación, debe de permitirlo, sin importar lo que se halla ingresado
If e.Row.DBCampo("CveCompraRefacturacion").ToEntero > 0 AndAlso Not e.Row.FCCheckBox("Chk").Enabled Then
e.Row.FCCheckBox("Chk").Enabled = True
@@ -637,8 +580,6 @@ Partial Class Bancos_ProveedoresAbonar
End If
End If
-
-
End If
End Sub
#End Region
@@ -685,8 +626,6 @@ Partial Class Bancos_ProveedoresAbonar
Exit Sub
End If
-
-
If DdlTipoTransaccion.SelectedValue.ToEntero < 0 Then
Alert("Seleccione un tipo de transacción", TipoMensaje.MsgAdvertencia)
Exit Sub
@@ -724,7 +663,7 @@ Partial Class Bancos_ProveedoresAbonar
Dim Validada As Boolean = False
Dim MsgValidadas As New StringBuilder
Dim Valida As New ClsValidaCFDi()
- 'veririco ante el SAT las compras que voy a pagar
+ 'verifico ante el SAT las compras que voy a pagar
For Each gvr As GridViewRow In GvCxP.Rows
If gvr.FCCheckBox("Chk").Checked Then
@@ -744,24 +683,7 @@ Partial Class Bancos_ProveedoresAbonar
'estatus inventario, no surtida
If gvr.DataKey("EstatusInventario") = "1" Then
- Dim HuboError As Boolean = False
- Dim ObjCompra As New ClsCompras
- Dim ObjEventos As New ClsOIEventos(ObjCompra.IniciaTransacSQL())
- If ObjCompra.UpdateEstatus(Valida.EsValida, gvr.DataKey("CveFactura").ToEntero, UsuarioActual.CveEmpresa) Then
-
- If ObjCompra.CancelarCompra(gvr.DataKey("CveCompra").ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
- MsgValidadas.AppendFormat("Factura Cancelada: {0} - {1}
", 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(" Imprimir movimiento ", Encripta(String.Format("OP=IECHEQUE&CVEIE={0}", CveIE)))
'End If
Msg.AppendFormat("Listado", Encripta(String.Format("OP=ImprimeMov&CveIE={0}", CveIE)))
@@ -1827,7 +1088,6 @@ Partial Class Bancos_ProveedoresAbonar
Dim Mensaje As String = String.Format("
El Documento se generó correctamente.
Descargas:", 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/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb
index c148ba7af..7b6ee5275 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.vb b/Compras/eFacturas.aspx.vb
index b7a4ef535..dc6f3a20b 100644
--- a/Compras/eFacturas.aspx.vb
+++ b/Compras/eFacturas.aspx.vb
@@ -1537,23 +1537,27 @@ Partial Class Compras_eFacturas
Dim sOnlyFilename As String
For Each filePath In fileEntries
+
ArchivoExtension = IO.Path.GetExtension(String.Format("{0}", filePath)).Replace(".", "")
sOnlyFilename = System.IO.Path.GetFileName(filePath)
- If ArchivoExtension.ToUpper = "RAR" Or ArchivoExtension.ToUpper = "ZIP" Then
- ListaComprimidos.Add(filePath)
- 'CREO DIRECTORIO ALEATORIO
- Dim Aleatorio As New Random
- Dim TempDirectorio As String = String.Format("{0}{1}\{2}{3}", UsuarioActual.Empresa.Ruta, "Temp\Facturas", Date.Now.Ticks, Aleatorio.Next(100, 999))
- Directory.CreateDirectory(TempDirectorio)
- ListaDirectoriosTemporales.Add(TempDirectorio)
- 'AGREGA DIRECTORIO A LA LISTA
- ListDirectorios.Add(TempDirectorio)
- 'DESCOMPRIME RAR
- DescomprimeFacturas(filePath, TempDirectorio)
- 'AGREGA XML A LA LISTA
- ListXML.AddRange(Directory.GetFiles(TempDirectorio))
- End If
+ If ArchivoExtension.ToUpper = "RAR" Or ArchivoExtension.ToUpper = "ZIP" Then
+ 'ListaComprimidos.Add(filePath)
+ ''CREO DIRECTORIO ALEATORIO
+ 'Dim Aleatorio As New Random
+ 'Dim TempDirectorio As String = String.Format("{0}{1}\{2}{3}", UsuarioActual.Empresa.Ruta, "Temp\Facturas", Date.Now.Ticks, Aleatorio.Next(100, 999))
+ 'Directory.CreateDirectory(TempDirectorio)
+ 'ListaDirectoriosTemporales.Add(TempDirectorio)
+ ''AGREGA DIRECTORIO A LA LISTA
+ 'ListDirectorios.Add(TempDirectorio)
+ ''DESCOMPRIME RAR
+ 'DescomprimeFacturas(filePath, TempDirectorio)
+ ''AGREGA XML A LA LISTA
+ 'ListXML.AddRange(Directory.GetFiles(TempDirectorio))
+
+ ListXML.Add(filePath)
+
+ End If
Next
diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb
index 5ee75e444..bd55a5b41 100644
--- a/Contabilidad/RegPrePolizaS.aspx.vb
+++ b/Contabilidad/RegPrePolizaS.aspx.vb
@@ -548,10 +548,10 @@ Partial Class ContabilidadC_RegPrePolizaS
Dim CveConceptoContable As Integer = e.Row.DataKey("CveConceptoContable").ToEntero
- If CveConceptoContable.Contiene(1, 2, 13, 38, 207, 203, 39, 61, 62, 63, 4, 291, 292) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta"))
+ If CveConceptoContable.Contiene(1, 2, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 272) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta"))
If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 234, 235, 240, 305, 306, 307, 308, 309, 310, 311, 312) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra"))
If CveConceptoContable.Contiene(68) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", e.Row.DBCampo("CveMovimientoAlmacen"))
- If CveConceptoContable.Contiene(30, 204) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE"))
+ If CveConceptoContable.Contiene(30, 204, 66, 92) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE"))
'e.Row.FCHyperLink("HlReferencia").NavigateUrl = CveConceptoContable
If e.Row.DBCampo("Modificado") Then
diff --git a/Empresas/2/Formatos/Factura.rdlc b/Empresas/2/Formatos/Factura.rdlc
index 5068cbbff..59b130a68 100644
--- a/Empresas/2/Formatos/Factura.rdlc
+++ b/Empresas/2/Formatos/Factura.rdlc
@@ -23,7 +23,7 @@
Textbox3
0.92083in
- 5.662in
+ 5.79542in
0.5cm
2.24597in
- true
@@ -2442,7 +2441,7 @@
DsOC
4.59222cm
- 0.11468cm
+ 0.45356cm
1.01949cm
20.01064cm
25
@@ -2481,7 +2480,7 @@
Textbox19
1.6173in
- 5.662in
+ 5.79542in
0.20317in
2.26391in
26
@@ -2770,7 +2769,7 @@
DataSet3
2.54983in
- 5.73412in
+ 5.86754in
0.34081in
2.19818in
27
@@ -2889,7 +2888,7 @@
DataSet1
5.75282cm
- 14.56464cm
+ 14.90352cm
0.6cm
5.58343cm
28
@@ -3438,7 +3437,7 @@
DsOC
5.75282cm
- 0.11468cm
+ 0.45356cm
5.16188cm
14.34413cm
29
@@ -3483,7 +3482,7 @@
Textbox18
4.59585in
- 0.04404in
+ 0.17746in
0.36457in
7.87931in
30
@@ -3519,7 +3518,7 @@
Textbox1
10.95026cm
- 0.13016cm
+ 0.46904cm
0.6cm
19.96256cm
31
@@ -3611,7 +3610,7 @@
Textbox5
12.7053cm
- 10.16136cm
+ 10.50025cm
2.37271cm
9.55228cm
32
@@ -3702,7 +3701,7 @@
Textbox5
12.7053cm
- 0.50677cm
+ 0.84566cm
2.37271cm
9.55228cm
33
@@ -3716,11 +3715,523 @@
2pt
+
+ true
+ true
+
+
+
+
+ VERSION
+
+
+
+ =Parameters!CFDIVersion.Value
+
+
+
+
+
+
+ Textbox5
+ 20.52317cm
+ 16.8018cm
+ 0.65292cm
+ 3.68516cm
+ 34
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+ true
+ true
+
+
+
+
+ CFDI Relacionados
+
+
+
+
+
+
+ Textbox5
+ 0.14926cm
+ 0.07193cm
+ 0.54004cm
+ 20.01791cm
+
+
+ #bdd7ee
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ Tipo Relación:
+
+
+
+
+
+
+ Textbox29
+ 0.83025cm
+ 4.78817cm
+ 0.41981cm
+ 5.31841cm
+ 1
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ =Parameters!TipoRelacionTexto.Value
+
+
+
+
+
+
+ Textbox29
+ 0.83025cm
+ 10.10658cm
+ 0.41981cm
+ 7.14985cm
+ 2
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+ 2.42456cm
+
+
+ 2.05585cm
+
+
+ 3.03631cm
+
+
+ 7.7847cm
+
+
+
+
+ 0.44125cm
+
+
+
+
+ true
+ true
+
+
+
+
+ Folio
+
+
+
+
+
+
+ Textbox10
+
+
+ #bdd7ee
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Fecha
+
+
+
+
+
+
+ Textbox12
+
+
+ #bdd7ee
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Importe
+
+
+
+
+
+
+ Textbox21
+
+
+ #bdd7ee
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Folio Fiscal
+
+
+
+
+
+
+ Textbox11
+
+
+ #bdd7ee
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ 0.41479cm
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!SerieFolio.Value
+
+
+
+
+
+
+ SerieFolio
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!Fecha.Value
+
+
+
+
+
+
+ Fecha
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!Importe.Value
+
+
+
+
+
+
+ Importe1
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!FolioFiscal.Value
+
+
+
+
+
+
+ FolioFiscal
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ After
+
+
+
+
+
+
+ DataSet4
+ 1.39643cm
+ 3.28643cm
+ 0.85604cm
+ 15.30142cm
+ 3
+
+
+
+
+
+ true
+ 18.09605cm
+ 0.39712cm
+ 2.25247cm
+ 20.08984cm
+ 35
+
+ =Microsoft.VisualBasic.Interaction.IIF(First(Fields!SerieFolio.Value, "DataSet4") <> "", False, True)
+
+
+
+
+
- 22.9929cm
+ 25.5329cm