Compras Actualizar Conceptos Retencion IVA, Retencion ISR

This commit is contained in:
rakcsle
2022-05-21 08:41:48 -07:00
parent ec9b8ff4b4
commit d0fe9fdf80
2 changed files with 245 additions and 2 deletions

View File

@@ -273,10 +273,12 @@ Public Class ClsCompras
Public Function UpdateCompra(Descripcion As String, FolioSecundario As String, FechaVencimiento As Date, AplicaNotaCredito As Boolean, Observaciones As String, CveEstatusCompra As Integer,
Descuento As Double, SubTotal As Double, IVA As Double, Total As Double, CveUsuario As Integer, CveCompra As Integer, Optional CveCajaChica As Integer = -1, Optional CvePersonal As Integer = -1,
Optional CveProveedorSucursal As Integer = -1, Optional PorcentajeIVA As Double = 0, Optional NumeroReembolso As String = "", Optional CveTipoCompra As Integer = -1, Optional NoDeducible As Boolean = False,
Optional CveFactura As Integer = -1, Optional CveContrato As Integer = -1) As Boolean
Optional CveFactura As Integer = -1, Optional CveContrato As Integer = -1, Optional CveRetIVAConcepto As Integer = -1, Optional CveRetISRConcepto As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Comp_CompraUpdate")
With SqlAdapter.SelectCommand.Parameters
@@ -301,6 +303,9 @@ Public Class ClsCompras
.Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible
.Add("@CveFactura", SqlDbType.Int).Value = CveFactura
.Add("@CveContrato", SqlDbType.Int).Value = CveContrato
.Add("@CveRetIVAConcepto", SqlDbType.Int).Value = CveRetIVAConcepto
.Add("@CveRetISRConcepto", SqlDbType.Int).Value = CveRetISRConcepto
End With
Try
@@ -3294,6 +3299,45 @@ Public Class ClsCompras
Return Retorno
End Function
#End Region
Public Function GetComprasPrepolizasRetIvaRetISRActualiza(CveCompra As Integer, CveRetIVAConcepto As Integer, CveRetISRConcepto As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Comp_ComprasPrepolizasRetIvaRetISRActualizaGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCompra", SqlDbType.Int).Value = CveCompra
.Add("@CveRetIVAConcepto", SqlDbType.Int).Value = CveRetIVAConcepto
.Add("@CveRetISRConcepto", SqlDbType.Int).Value = CveRetISRConcepto
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al Obtener los datos de retención de IVA y retención ISR.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function UpdateComprasPrepolizasRetIvaRetISRActualiza(CvePrePolizaDetalle As Integer, CveConceptoContable As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Comp_ComprasPrepolizasRetIvaRetISRActualizaUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePrePolizaDetalle", SqlDbType.Int).Value = CvePrePolizaDetalle
.Add("@CveConceptoContable", SqlDbType.Int).Value = CveConceptoContable
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el concepto de la prepoliza.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
End Class

View File

@@ -1126,6 +1126,37 @@ Partial Class Compras_Compras
Private Property CveRetISRConceptoOriginal As Integer
Get
If ViewState("CveRetISRConceptoOriginal") Is Nothing Then
ViewState("CveRetISRConceptoOriginal") = -1
End If
Return ViewState("CveRetISRConceptoOriginal").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveRetISRConceptoOriginal") = value
End Set
End Property
Private Property CveRetIVAConceptoOriginal As Integer
Get
If ViewState("CveRetIVAConceptoOriginal") Is Nothing Then
ViewState("CveRetIVAConceptoOriginal") = -1
End If
Return ViewState("CveRetIVAConceptoOriginal").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveRetIVAConceptoOriginal") = value
End Set
End Property
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
'ImgBtnBuscarOC.Attributes.Add("data-toggle", "tooltip")
@@ -2576,6 +2607,11 @@ Partial Class Compras_Compras
DdlRetIVAConcepto.SelectedValueExist(dr("CveRetIVAConcepto").ToString)
DdlRetISRConcepto.SelectedValueExist(dr("CveRetISRConcepto").ToString)
CveRetIVAConceptoOriginal = If(dr("CveRetIVAConcepto").ToString.ToEntero > 0, dr("CveRetIVAConcepto").ToString.ToEntero, -1)
CveRetISRConceptoOriginal = If(dr("CveRetISRConcepto").ToString.ToEntero > 0, dr("CveRetISRConcepto").ToString.ToEntero, -1)
If dr("CveTipoConcepto").ToString.ToEntero = 1 Then LblProveedor.Text = "Proveedor:" Else LblProveedor.Text = "Acreedor:"
HdnCveEstatusFactura.Value = dr("CveEstatusFactura").ToString
@@ -2844,6 +2880,16 @@ Partial Class Compras_Compras
TxtObsPS.Enabled = True
LbAgregar.Enabled = True
LnkUpdateFechaPago.Visible = True
If DdlRetIVAConcepto.SelectedValue.ToEntero > 0 Then
DdlRetIVAConcepto.Enabled = True
End If
If DdlRetISRConcepto.SelectedValue.ToEntero > 0 Then
DdlRetISRConcepto.Enabled = True
End If
End If
BtnGuardar.Visible = False
@@ -9840,10 +9886,14 @@ Partial Class Compras_Compras
'PORCENTAJE IVA
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
Dim TmpCveRetIVAConcepto As Integer = If(CveRetIVAConceptoOriginal <> DdlRetIVAConcepto.SelectedValue.ToEntero, DdlRetIVAConcepto.SelectedValue.ToEntero, -1)
Dim TmpCveRetISRConcepto As Integer = If(CveRetISRConceptoOriginal <> DdlRetISRConcepto.SelectedValue.ToEntero, DdlRetISRConcepto.SelectedValue.ToEntero, -1)
If ObjCompra.UpdateCompra(TxtDescripcion.Text.Trim, TxtFolioSecundario.Text.Trim, TxtFechaPago.Text.ToDate, ChkAplicaNotaCredito.Checked, TxtObsFact.Text.Trim, CveEstatusFactura,
TxtDescuento.Text.ToDouble, TxtSubTotal.Text.ToDouble, TxtIVA.Text.ToDouble, TxtTotal.Text.ToDouble,
UsuarioActual.CveUsuario, CveCompra, CveCajaChica:=DdlRembolsoCajaChica.SelectedValue.ToEntero, CvePersonal:=DdlRembolsoPersonal.SelectedValue.ToEntero, CveProveedorSucursal:=If(DdlProveedorSucursal.SelectedValue.ToEntero > 0, DdlProveedorSucursal.SelectedValue.ToEntero, -1), PorcentajeIVA:=PorcentajeIVA, NumeroReembolso:=TxtRembolsoNumero.Text,
CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, NoDeducible:=EsNoDeducible) Then
CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, NoDeducible:=EsNoDeducible, CveRetIVAConcepto:=TmpCveRetIVAConcepto, CveRetISRConcepto:=TmpCveRetISRConcepto) Then
If Not ComparaDatatables() Then
@@ -10336,6 +10386,155 @@ Partial Class Compras_Compras
Alert("La compra no se puede actualizar debido a que los totales no son iguales, verifique sus cambios", TipoMensaje.MsgError)
End If
If Retorno AndAlso (CveRetIVAConceptoOriginal <> DdlRetIVAConcepto.SelectedValue.ToEntero Or CveRetISRConceptoOriginal <> DdlRetISRConcepto.SelectedValue.ToEntero) Then
If ObjCompra.GetComprasPrepolizasRetIvaRetISRActualiza(CveCompra, CveRetIVAConceptoOriginal, CveRetISRConceptoOriginal) Then
Dim DTPRePolizaDesbloquedo As DataTable = ObjCompra.DtResultados.FiltraParametros("", "", {"CvePrePoliza", "Bloqueado"})
Dim DTPRePolizaDes As DataTable = ObjCompra.DtResultados
If DTPRePolizaDesbloquedo IsNot Nothing Then
For Each dr1 As DataRow In DTPRePolizaDesbloquedo.Rows
If Boolean.Parse(dr1("Bloqueado").ToString) Then
If Not ObjContabilidad.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) Then
Retorno = False
End If
End If
Next
If Retorno Then
For Each dr2 As DataRow In DTPRePolizaDes.Rows
Dim CveConceptoContableOriginal As Integer = dr2("CveConceptoContable").ToString.ToEntero
Dim CveConceptoContableNuvo As Integer = -1
If dr2("Tipo").ToString = "IVA" Then
Select Case DdlRetIVAConcepto.SelectedValue.ToEntero
Case 1
If CveConceptoContableOriginal.Contiene(184, 186, 249, 286) Then
CveConceptoContableNuvo = 15
ElseIf CveConceptoContableOriginal.Contiene(183, 185, 248, 285) Then
CveConceptoContableNuvo = 22
End If
Exit Select
Case 2
If CveConceptoContableOriginal.Contiene(22, 186, 249, 286) Then
CveConceptoContableNuvo = 184
ElseIf CveConceptoContableOriginal.Contiene(15, 185, 248, 285) Then
CveConceptoContableNuvo = 183
End If
Exit Select
Case 3
If CveConceptoContableOriginal.Contiene(22, 184, 249, 286) Then
CveConceptoContableNuvo = 186
ElseIf CveConceptoContableOriginal.Contiene(15, 183, 248, 285) Then
CveConceptoContableNuvo = 187
End If
Exit Select
Case 4
If CveConceptoContableOriginal.Contiene(22, 184, 186, 286) Then
CveConceptoContableNuvo = 249
ElseIf CveConceptoContableOriginal.Contiene(15, 183, 185, 285) Then
CveConceptoContableNuvo = 248
End If
Exit Select
Case 5
If CveConceptoContableOriginal.Contiene(22, 184, 186, 249) Then
CveConceptoContableNuvo = 286
ElseIf CveConceptoContableOriginal.Contiene(15, 183, 185, 248) Then
CveConceptoContableNuvo = 285
End If
Exit Select
End Select
End If
If dr2("Tipo").ToString = "ISR" Then
Select Case DdlRetISRConcepto.SelectedValue.ToEntero
Case 1
If CveConceptoContableOriginal.Contiene(244, 328) Then
CveConceptoContableNuvo = 23
ElseIf CveConceptoContableOriginal.Contiene(243, 327) Then
CveConceptoContableNuvo = 16
End If
Exit Select
Case 2
If CveConceptoContableOriginal.Contiene(23, 328) Then
CveConceptoContableNuvo = 244
ElseIf CveConceptoContableOriginal.Contiene(16, 327) Then
CveConceptoContableNuvo = 243
End If
Exit Select
Case 3
If CveConceptoContableOriginal.Contiene(23, 244) Then
CveConceptoContableNuvo = 328
ElseIf CveConceptoContableOriginal.Contiene(16, 243) Then
CveConceptoContableNuvo = 327
End If
Exit Select
End Select
End If
If Not (CveConceptoContableNuvo > 0 AndAlso ObjCompra.UpdateComprasPrepolizasRetIvaRetISRActualiza(dr2("CvePrePolizaDetalle").ToString.ToEntero, CveConceptoContableNuvo)) Then
Retorno = False
If CveConceptoContableNuvo <= 0 Then
Alert("Se presento un error al asiganar el nuevo concepto de retención", TipoMensaje.MsgAdvertencia)
End If
Exit For
End If
Next
For Each dr1 As DataRow In DTPRePolizaDesbloquedo.Rows
If Boolean.Parse(dr1("Bloqueado").ToString) Then
If Not ObjContabilidad.UpdatePrePolizasDetalleBloquear(CvePrePoliza, True) Then
Retorno = False
End If
End If
Next
End If
Else
Retorno = False
End If
End If
End If
Catch ex As Exception
Alert("Ocurrió un error al actualizar la compra", TipoMensaje.MsgError)
ObjCompra.RollBack()