Cambios para compras con importacion
This commit is contained in:
@@ -47,8 +47,7 @@ Partial Class Bancos_PopIECompras
|
||||
Set(value As Integer)
|
||||
ViewState("CveCompra") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
End Property
|
||||
Private Property CveTipoConcepto As Integer
|
||||
Get
|
||||
Return ViewState("CveTipoConcepto").ToString.ToEntero
|
||||
@@ -474,6 +473,21 @@ Partial Class Bancos_PopIECompras
|
||||
End Set
|
||||
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
|
||||
|
||||
SaldoVenta = dr("Saldo").ToString.ToDouble
|
||||
EsImportacion = CBool(dr("EsImportacion"))
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
@@ -1589,7 +1604,19 @@ Partial Class Bancos_PopIECompras
|
||||
|
||||
|
||||
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)
|
||||
Dim ImporteMovimiento As Decimal = 0
|
||||
Dim ImporteMX As Decimal = 0
|
||||
@@ -2635,6 +2662,230 @@ Partial Class Bancos_PopIECompras
|
||||
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
|
||||
' If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
|
||||
' 'funcionalidad que toma el 100% del pago para acreditamiento de iva
|
||||
|
||||
Reference in New Issue
Block a user