Cambios para compras con importacion
This commit is contained in:
@@ -48,7 +48,6 @@ Partial Class Bancos_PopIECompras
|
|||||||
ViewState("CveCompra") = value
|
ViewState("CveCompra") = value
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
Private Property CveTipoConcepto As Integer
|
Private Property CveTipoConcepto As Integer
|
||||||
Get
|
Get
|
||||||
Return ViewState("CveTipoConcepto").ToString.ToEntero
|
Return ViewState("CveTipoConcepto").ToString.ToEntero
|
||||||
@@ -474,6 +473,21 @@ Partial Class Bancos_PopIECompras
|
|||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
Private Property EsImportacion As Boolean
|
||||||
|
Get
|
||||||
|
|
||||||
|
If ViewState("EsImportacion") Is Nothing Then
|
||||||
|
Return False
|
||||||
|
Else
|
||||||
|
Return CBool(ViewState("EsImportacion"))
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
ViewState("EsImportacion") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -735,6 +749,7 @@ Partial Class Bancos_PopIECompras
|
|||||||
TxtImporte.Text = dr("Saldo").ToString.ToDouble.FormatoNumero
|
TxtImporte.Text = dr("Saldo").ToString.ToDouble.FormatoNumero
|
||||||
|
|
||||||
SaldoVenta = dr("Saldo").ToString.ToDouble
|
SaldoVenta = dr("Saldo").ToString.ToDouble
|
||||||
|
EsImportacion = CBool(dr("EsImportacion"))
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -1590,6 +1605,18 @@ Partial Class Bancos_PopIECompras
|
|||||||
|
|
||||||
Dim CveSubProyectoInsertar As Integer = -1
|
Dim CveSubProyectoInsertar As Integer = -1
|
||||||
Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero
|
Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero
|
||||||
|
If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then
|
||||||
|
If ConceptoContable.Contiene(14, 19) AndAlso CveCompra > 0 Then
|
||||||
|
If EsImportacion Then
|
||||||
|
If ConceptoContable = 14 Then
|
||||||
|
ConceptoContable = 287
|
||||||
|
Else
|
||||||
|
ConceptoContable = 288
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False)
|
TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False)
|
||||||
Dim ImporteMovimiento As Decimal = 0
|
Dim ImporteMovimiento As Decimal = 0
|
||||||
Dim ImporteMX As Decimal = 0
|
Dim ImporteMX As Decimal = 0
|
||||||
@@ -2635,6 +2662,230 @@ Partial Class Bancos_PopIECompras
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
Case 287 'Iva por Acreditar
|
||||||
|
If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
|
||||||
|
'funcionalidad que toma el 100% del pago para acreditamiento de iva
|
||||||
|
Dim TotalImporte As Decimal
|
||||||
|
|
||||||
|
If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
TotalImporte = ImportePagado.ToString.ToDecimal
|
||||||
|
ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2)
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2)
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
TotalImporte = ImportePagado.ToString.ToDecimal
|
||||||
|
End If
|
||||||
|
|
||||||
|
If TotalImporte = CompraSaldo Then
|
||||||
|
If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
ImporteMovimiento = MovimientoPagar.IVA
|
||||||
|
ImporteMX = ImporteMovimiento
|
||||||
|
ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
ImporteMovimiento = MovimientoPagar.IVA
|
||||||
|
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
ImporteMovimiento = MovimientoPagar.IVA
|
||||||
|
ImporteMX = ImporteMovimiento * tipoCambioCompra
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
ImporteMovimiento = MovimientoPagar.IVA
|
||||||
|
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
End If
|
||||||
|
ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
|
||||||
|
ImporteMX = Math.Round(ImporteMX, 2)
|
||||||
|
TimpocambioGeneral = tipoCambioCompra
|
||||||
|
|
||||||
|
If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
|
||||||
|
Else
|
||||||
|
ImporteMovimiento = 0
|
||||||
|
ImporteMX = 0
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
ImporteMovimiento = MovimientoPagar.IVA * PorcentajePago
|
||||||
|
ImporteMX = ImporteMovimiento
|
||||||
|
ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago)
|
||||||
|
ImporteMX = ImporteMovimiento * tipoCambioCompra
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago)
|
||||||
|
ImporteMX = ImporteMovimiento * tipoCambioCompra
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago)
|
||||||
|
ImporteMX = ImporteMovimiento * tipoCambioCompra
|
||||||
|
End If
|
||||||
|
ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
|
||||||
|
ImporteMX = Math.Round(ImporteMX, 2)
|
||||||
|
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
|
||||||
|
If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
|
||||||
|
End If
|
||||||
|
|
||||||
|
PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA
|
||||||
|
Dim IdCtaIVAXAcreditar As Integer = 0
|
||||||
|
Dim IdCtaIVAAcreditable 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
|
||||||
|
End If
|
||||||
|
|
||||||
|
IdCtaContable = If(IdCtaIVAXAcreditar > 0, IdCtaIVAXAcreditar, 0)
|
||||||
|
|
||||||
|
If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
|
||||||
|
If ObjMov.DtResultados.Rows.Count > 0 Then
|
||||||
|
IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCtaContable").ToString.ToEntero
|
||||||
|
CveCuenta = ObjMov.DtResultados.Rows(0)("IdCtaContableSIG").ToString.ToEntero
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Case 288 'Iva Acreditable
|
||||||
|
|
||||||
|
If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
|
||||||
|
'funcionalidad que toma el 100% del pago para acreditamiento de iva
|
||||||
|
Dim TotalImporte As Decimal
|
||||||
|
|
||||||
|
If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
TotalImporte = ImportePagado.ToString.ToDecimal
|
||||||
|
ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2)
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2)
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
TotalImporte = ImportePagado.ToString.ToDecimal
|
||||||
|
End If
|
||||||
|
|
||||||
|
If TotalImporte = CompraSaldo Then
|
||||||
|
If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
ImporteMovimiento = MovimientoPagar.IVADeducible
|
||||||
|
ImporteMX = ImporteMovimiento
|
||||||
|
ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
ImporteMovimiento = (MovimientoPagar.IVADeducible)
|
||||||
|
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
ImporteMovimiento = (MovimientoPagar.IVADeducible)
|
||||||
|
ImporteMX = ImporteMovimiento * tipoCambioCompra
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
ImporteMovimiento = (MovimientoPagar.IVADeducible)
|
||||||
|
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
End If
|
||||||
|
ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
|
||||||
|
ImporteMX = Math.Round(ImporteMX, 2)
|
||||||
|
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
|
||||||
|
If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
|
||||||
|
Else
|
||||||
|
ImporteMovimiento = 0
|
||||||
|
ImporteMX = 0
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago).RoundSQL
|
||||||
|
ImporteMX = ImporteMovimiento
|
||||||
|
ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago)
|
||||||
|
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago)
|
||||||
|
ImporteMX = ImporteMovimiento * tipoCambioCompra
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago)
|
||||||
|
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
End If
|
||||||
|
ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
|
||||||
|
ImporteMX = Math.Round(ImporteMX, 2)
|
||||||
|
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
|
||||||
|
If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If MovimientoPagar.IVANoDeducible.ToString.ToDecimal > 0 Then
|
||||||
|
If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
|
||||||
|
'funcionalidad que toma el 100% del pago para acreditamiento de iva
|
||||||
|
Dim TotalImporte As Decimal
|
||||||
|
|
||||||
|
If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
TotalImporte = ImportePagado.ToString.ToDecimal
|
||||||
|
ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2)
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2)
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
TotalImporte = ImportePagado.ToString.ToDecimal
|
||||||
|
End If
|
||||||
|
|
||||||
|
If TotalImporte = CompraSaldo Then
|
||||||
|
If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
ImporteMovimientoNoDeducible = MovimientoPagar.IVANoDeducible
|
||||||
|
ImporteMXNoDeducible = ImporteMovimientoNoDeducible
|
||||||
|
ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible)
|
||||||
|
ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible)
|
||||||
|
ImporteMXNoDeducible = ImporteMovimientoNoDeducible * tipoCambioCompra
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible)
|
||||||
|
ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
End If
|
||||||
|
ImporteMovimientoNoDeducible = Math.Round(ImporteMovimientoNoDeducible, 2)
|
||||||
|
ImporteMXNoDeducible = Math.Round(ImporteMX, 2)
|
||||||
|
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
|
||||||
|
If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimientoNoDeducible.FormatoNumero(2)}"
|
||||||
|
Else
|
||||||
|
ImporteMovimientoNoDeducible = 0
|
||||||
|
ImporteMXNoDeducible = 0
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
ImporteMovimientoNoDeducible = MovimientoPagar.IVANoDeducible * PorcentajePago
|
||||||
|
ImporteMXNoDeducible = ImporteMovimientoNoDeducible
|
||||||
|
ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago)
|
||||||
|
ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
|
||||||
|
ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago)
|
||||||
|
ImporteMXNoDeducible = ImporteMovimientoNoDeducible * tipoCambioCompra
|
||||||
|
ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
|
||||||
|
ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago)
|
||||||
|
ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
End If
|
||||||
|
ImporteMovimientoNoDeducible = Math.Round(ImporteMovimientoNoDeducible, 2)
|
||||||
|
ImporteMXNoDeducible = Math.Round(ImporteMXNoDeducible, 2)
|
||||||
|
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
|
||||||
|
|
||||||
|
If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimientoNoDeducible.FormatoNumero(2)}"
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA
|
||||||
|
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)
|
||||||
|
|
||||||
|
If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
|
||||||
|
If ObjMov.DtResultados.Rows.Count > 0 Then
|
||||||
|
IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCtaContable").ToString.ToEntero
|
||||||
|
CveCuenta = ObjMov.DtResultados.Rows(0)("IdCtaContableSIG").ToString.ToEntero
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If MovimientoPagar.IVANoDeducible > 0 Then
|
||||||
|
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), 280, ConceptoMovimiento, Fecha, IdCtaContableNoIVA, -1, CveIE, -1, CveCompra, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMXNoDeducible, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then
|
||||||
|
MsgError = "No se pudo insertar la póliza"
|
||||||
|
End If
|
||||||
|
End If
|
||||||
'Case 280 'Iva Acreditable No Deducible
|
'Case 280 'Iva Acreditable No Deducible
|
||||||
' If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
|
' If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
|
||||||
' 'funcionalidad que toma el 100% del pago para acreditamiento de iva
|
' 'funcionalidad que toma el 100% del pago para acreditamiento de iva
|
||||||
|
|||||||
Reference in New Issue
Block a user