This commit is contained in:
Antonio Gonzalez
2019-12-27 08:58:00 -07:00
3 changed files with 193 additions and 29 deletions

View File

@@ -191,7 +191,7 @@ Public Class ClsCompras
AplicaNotaCredito As Boolean, Observaciones As String, CveEstatusCompra As Integer, CvePrePoliza As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional IdPoliza As Integer = -1,
Optional CveOC As Integer = -1, Optional CveCajaChica As Integer = -1, Optional CvePersonal As Integer = -1, Optional NumeroReembolso As String = "-1", Optional CveProveedorSucursal As Integer = -1,
Optional AplicoPromocion As Boolean = False, Optional PorcentajeIVA As Double = 0, Optional CveMetodoPago As Integer = -1, Optional CveRetIVAConcepto As Integer = -1, Optional CveConceptoContableAlmacen As Integer = -1,
Optional CveRetISRConcepto As Integer = -1, Optional NoDeducible As Boolean = False, Optional CveTipoCompra As Integer = -1) As Boolean
Optional CveRetISRConcepto As Integer = -1, Optional NoDeducible As Boolean = False, Optional CveTipoCompra As Integer = -1, Optional TotalOriginal As Double = 0) As Boolean
Dim Retorno As Boolean = False
@@ -239,6 +239,8 @@ Public Class ClsCompras
.Add("@CveRetISRConcepto", SqlDbType.Int).Value = CveRetISRConcepto
.Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible
.Add("@CveTipoCompra", SqlDbType.Int).Value = CveTipoCompra
.Add("@TotalOriginal", SqlDbType.Money).Value = TotalOriginal
End With
Try

View File

@@ -907,6 +907,10 @@
<td runat="server" id="tdT5" visible="false">
<asp:Label Text="" ID="LbIVAOriginal" runat="server" />
</td>
<td runat="server" id="tdIVA6" visible="false">
<asp:LinkButton runat="server" ID="LnkActivaIva6" Text="" ToolTip="Ret IVA Servicios" OnClick="LnkActivaIva6_Click"><i class="fa fa-usd" aria-hidden="true"></i></asp:LinkButton>
</td>
<%--<td align="left" runat="server" id="TdIVA" visible="false">
<asp:DropDownList ID="DdlIVA" AutoPostBack="true" OnSelectedIndexChanged="DdlIVA_SelectedIndexChanged" CssClass="select2me" Style="width: 100%; display: inline-block;" runat="server" Visible="false">
<asp:ListItem Selected="True" Value="1.08">8%</asp:ListItem>
@@ -914,6 +918,7 @@
<asp:ListItem Value="1">0%</asp:ListItem>
</asp:DropDownList>
</td>--%>
</tr>
<tr align="right" id="TrRetIVA" runat="server" visible="False">
<td><b>Ret. IVA:</b></td>

View File

@@ -868,7 +868,10 @@ Partial Class Compras_Compras
Private Property Folio As String
Private Property Fecha As String
Private Property SubTotal As Decimal
Private Property Total As Decimal = 0
Private Property Total As Decimal = 0
Private Property Descuentos As Decimal = 0
Private Property EmisorRFC As String
Private Property ReceptorRFC As String
@@ -1046,15 +1049,21 @@ Partial Class Compras_Compras
Set(value As Double)
ViewState("RetISROriginal") = value
End Set
End Property
End Property
Private Property TotalOriginal As Double
Get
Return ViewState("TotalOriginal").ToString.ToDouble
If ViewState("TotalOriginal") Is Nothing Then
Return 0
Else
Return ViewState("TotalOriginal").ToString.ToDouble
End If
End Get
Set(value As Double)
ViewState("TotalOriginal") = value
End Set
End Property
Private Property ActualizaTotales As Boolean
Get
Return CBool(ViewState("ActualizaTotales"))
@@ -2051,20 +2060,38 @@ Partial Class Compras_Compras
Return RFC
End Function
Private Sub CargaRetIVAConcepto(Optional Cambio As Boolean = False)
Private Sub CargaRetIVAConcepto(Optional Cambio As Boolean = False)
If TrRetIVA.Visible Then
TdRetIVAConcepto.Visible = True
TdRetIVAConcepto.Visible = True
End If
If Cambio Then
DdlRetIVAConcepto.Items.Clear()
If RFCProv.Length = 13 Then
DdlRetIVAConcepto.Items.Insert(0, New ListItem("Honorarios/Serv. Prof.", "1"))
DdlRetIVAConcepto.Items.Insert(1, New ListItem("Fletes P.F.", "2"))
ElseIf RFCProv.Length = 12 Then
DdlRetIVAConcepto.Items.Insert(0, New ListItem("Fletes P.M.", "3"))
End If
DdlRetIVAConcepto.Items.Add(New ListItem("Arrendamiento", "4"))
End If
DdlRetIVAConcepto.Items.Add(New ListItem("Arrendamiento", "4"))
DdlRetIVAConcepto.Items.Add(New ListItem("Ret IVA Servicios", "5"))
End If
UpPS.Update()
End Sub
@@ -2135,10 +2162,10 @@ Partial Class Compras_Compras
TotalTemp = Total
RetIVATemp = RetencionIVA
RetISRTemp = RetencionISR
IEPSTemp = TrasladoIEPS
IEPSTemp = TrasladoIEPS
End If
If TrasladoIEPS > 0 Or OtrosImpuestos > 0 Then
If TrasladoIEPS > 0 Or OtrosImpuestos > 0 Then
RegistraScript("$('#ModalIEPS').modal('show');")
If TrasladoIEPS > 0 Then
@@ -2155,10 +2182,14 @@ Partial Class Compras_Compras
CargaProductos(DdlConceptoOI, If(UsuarioActual.Empresa.Funcionalidad(305).ToString.ToEntero > 0, UsuarioActual.Empresa.Funcionalidad(305).ToString.ToEntero, -1))
LbImporte2.Text = "$" + OtrosImpuestos.ToString
End If
End If
End If
Dim MostrarRetIva6 As Boolean = False
TxtSubTotal.Text = SubtotalTemp.FormatoNumero
TxtDescuento.Text = DescuentosTemp.FormatoNumero
TxtSubTotal2.Text = Subtotal2Temp.FormatoNumero
@@ -2166,8 +2197,8 @@ Partial Class Compras_Compras
TxtTotal.Text = TotalTemp.FormatoNumero
TxtRetIVA.Text = RetIVATemp.FormatoNumero
TxtRetISR.Text = RetISRTemp.FormatoNumero
TxtIEPS.Text = IEPSTemp.FormatoNumero
TxtIEPS.Text = IEPSTemp.FormatoNumero
TrDescuento.Visible = DescuentosTemp > 0
TrIEPS.Visible = IEPSTemp > 0
TrRetIVA.Visible = RetIVATemp > 0
@@ -2202,8 +2233,27 @@ Partial Class Compras_Compras
LblRetISR.Text = (If(Subtotal2Temp > 0, (RetISRTemp / Subtotal2Temp), 0) * 100).FormatoNumero(3)
'ASIGNA VALORES ORIGINALES PARA GUARDAR
AsignaValoresOriginales(SubtotalTemp, Subtotal2Temp, IVATemp, RetIVATemp, RetISRTemp, Total)
AsignaValoresOriginales(SubtotalTemp, Subtotal2Temp, IVATemp, RetIVATemp, RetISRTemp, Total)
If RetencionIVA = 0 And IVAOriginal > 0 Then
For Each dRow As DataRow In TmpDT.Rows
If dRow("CveTipoPS").ToString.ToEntero = 1 Then
tdIVA6.Visible = True
Exit For
End If
Next
End If
End Sub
''' <summary>
@@ -4347,7 +4397,7 @@ Partial Class Compras_Compras
TxtRedondeo.Text.ToDouble, TxtTotal.Text.ToDouble, TxtFecha.Text.Trim.ToDate, DdlMoneda.SelectedValue.ToEntero, TipoCambio, TxtFechaPago.Text.Trim.ToDate, ChkAplicaNotaCredito.Checked, TxtObsFact.Text.Trim, CveEstatusFactura,
CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, IdPoliza, CveCajaChica:=CveCajaChica, CvePersonal:=CvePersonal, NumeroReembolso:=NumeroReembolso, CveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero,
AplicoPromocion:=ChkOCPromocion.Checked, PorcentajeIVA:=PorcentajeIVA, CveMetodoPago:=CveMetodoPago, CveRetIVAConcepto:=If(DdlRetIVAConcepto.Items.Count > 0, DdlRetIVAConcepto.SelectedValue.ToEntero, -1), CveConceptoContableAlmacen:=CveConceptoContableAlmacen,
CveRetISRConcepto:=If(DdlRetISRConcepto.Items.Count > 0, DdlRetISRConcepto.SelectedValue.ToEntero, -1), NoDeducible:=EsNoDeducible, CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero) Then
CveRetISRConcepto:=If(DdlRetISRConcepto.Items.Count > 0, DdlRetISRConcepto.SelectedValue.ToEntero, -1), NoDeducible:=EsNoDeducible, CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, TotalOriginal:=TotalOriginal) Then
ViewState("CveCompra") = ObjCompras.CveCompra
If ObjCompras.DtResultados.Rows.Count > 0 Then ViewState("CompraFolio") = ObjCompras.DtResultados.Rows(0)("vFolio").ToString
@@ -6086,7 +6136,8 @@ Partial Class Compras_Compras
importeMovimiento = 0
End If
Case 65 'Perdida
Case 65 'Perdida
If TCPago <> 1 AndAlso TxtFechaPago.Text <> TxtFecha.Text Then
IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
@@ -6099,8 +6150,37 @@ Partial Class Compras_Compras
End If
Else
importeMovimiento = 0
End If
End If
Case 285 'Perdida
If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
If ObjConta.DtResultados.Rows.Count > 0 Then
IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacionSIG").ToString.ToEntero
End If
End If
If DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then
If CveMoneda = 2 Then
importeMN = TmpDT.SUMD("RetIVA") * TxtTC.Text.ToDecimal
Else
importeMN = TmpDT.SUMD("RetIVA")
importeMovimiento = TmpDT.SUMD("RetIVA")
End If
Else
importeMovimiento = 0
End If
Case 6 'Compra
Dim AgregaMercanciaInventario As Boolean = UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119) AndAlso UsuarioActual.Empresa.UsaInventarios AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1"
@@ -16288,8 +16368,12 @@ Partial Class Compras_Compras
RVDocumentoImporteCaja.MaximumValue = RVDocumentoImporte.MaximumValue
CargaRetIVAConcepto()
CargaRetISRConcepto()
CargaRetISRConcepto()
End Sub
Private Sub OriginalesVisible(Accion As Boolean)
tdT0.Visible = Accion
@@ -18893,11 +18977,11 @@ Partial Class Compras_Compras
End If
Else
Retorno = False
Exit For
End If
Else
'2018.11.24 se cambia concepto 177, de cargo a abono negativo., petición MALL
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -DiferenciaInvOC, SerieFolio, If(ConceptoSalida = 0, 177, 177), ConceptoPartida, Fecha, If(ConceptoSalida = 0, IdCtaContableAlmacen, IdCtaContableRecepcionOCER), -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteMX:=-DiferenciaInvOC, CveCuenta:=CveCuentaAlmacen, CveOCDetalle:=CveOCDetalle) Then
Exit For
End If
Else
'2018.11.24 se cambia concepto 177, de cargo a abono negativo., petición MALL
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -DiferenciaInvOC, SerieFolio, If(ConceptoSalida = 0, 177, 177), ConceptoPartida, Fecha, If(ConceptoSalida = 0, IdCtaContableAlmacen, IdCtaContableRecepcionOCER), -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteMX:=-DiferenciaInvOC, CveCuenta:=CveCuentaAlmacen, CveOCDetalle:=CveOCDetalle) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DiferenciaInvOC, SerieFolio, 176, ConceptoPartida, Fecha, IdCtaContableRecepcionOC, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteMX:=DiferenciaInvOC, CveOCDetalle:=CveOCDetalle) Then
Retorno = False
Exit For
@@ -19135,4 +19219,77 @@ Partial Class Compras_Compras
End Sub
#End Region
Protected Sub LnkActivaIva6_Click(sender As Object, e As EventArgs)
TrRetIVA.Visible = True
TdRetIVAConcepto.Visible = True
TotalOriginal = TxtTotal.Text.ToDecimal
'For Each dRow As DataRow In TmpDT.Rows
' If dRow("CveTipoPS").ToString.ToEntero = 1 Then
' tdIVA6.Visible = True
' Exit For
' End If
'Next
For Each dRow As DataRow In TmpDT.Rows
If dRow("CvePS").ToString.ToEntero <= 0 Then
Alert("Debe de asignar producto a todas las partidas", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Next
If RetencionIVA = 0 And IVAOriginal > 0 Then
For Each dRow As DataRow In TmpDT.Rows
If dRow("CveTipoPS").ToString.ToEntero = 1 Then
'Dim InternalIVA As Decimal = 0D
Dim InternalRETIVA As Decimal = 0D
'InternalIVA = dRow("Cantidad").ToString.ToDecimal * dRow("PU").ToString.ToDecimal * 0.1D
InternalRETIVA = dRow("Cantidad").ToString.ToDecimal * dRow("PU").ToString.ToDecimal * 0.06D
'dRow("IVA") = InternalIVA
'dRow("IVAPorcentaje") = 0.1D
dRow("RetIVA") = InternalRETIVA
' dRow("IVAPorcentaje") = 0.1D
End If
Next
End If
TmpDT.AcceptChanges()
GvPS.DataSource = TmpDT
GvPS.DataBind()
DdlRetIVAConcepto.SelectedValueExist("5")
LblRetIVA.Text = "0.06%"
RetencionIVA = TmpDT.SUMD("RetIVA")
TxtRetIVA.Text = RetencionIVA.ToString("###,###,###.00")
'TrasladoIVA = TmpDT.SUMD("IVA")
'TxtIVA.Text = TrasladoIVA.ToString("###,###,###.00")
'Total = Total - RetencionIVA
TxtTotal.Text = (TxtTotal.Text.ToDecimal - RetencionIVA).ToString("###,###,###.00")
UpPS.Update()
'ValidacionesTotalesXml()
ValidaTotalesGuardar()
End Sub
End Class