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, 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 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 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 Dim Retorno As Boolean = False
@@ -239,6 +239,8 @@ Public Class ClsCompras
.Add("@CveRetISRConcepto", SqlDbType.Int).Value = CveRetISRConcepto .Add("@CveRetISRConcepto", SqlDbType.Int).Value = CveRetISRConcepto
.Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible .Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible
.Add("@CveTipoCompra", SqlDbType.Int).Value = CveTipoCompra .Add("@CveTipoCompra", SqlDbType.Int).Value = CveTipoCompra
.Add("@TotalOriginal", SqlDbType.Money).Value = TotalOriginal
End With End With
Try Try

View File

@@ -907,6 +907,10 @@
<td runat="server" id="tdT5" visible="false"> <td runat="server" id="tdT5" visible="false">
<asp:Label Text="" ID="LbIVAOriginal" runat="server" /> <asp:Label Text="" ID="LbIVAOriginal" runat="server" />
</td> </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"> <%--<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: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> <asp:ListItem Selected="True" Value="1.08">8%</asp:ListItem>
@@ -914,6 +918,7 @@
<asp:ListItem Value="1">0%</asp:ListItem> <asp:ListItem Value="1">0%</asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</td>--%> </td>--%>
</tr> </tr>
<tr align="right" id="TrRetIVA" runat="server" visible="False"> <tr align="right" id="TrRetIVA" runat="server" visible="False">
<td><b>Ret. IVA:</b></td> <td><b>Ret. IVA:</b></td>

View File

@@ -868,7 +868,10 @@ Partial Class Compras_Compras
Private Property Folio As String Private Property Folio As String
Private Property Fecha As String Private Property Fecha As String
Private Property SubTotal As Decimal 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 Descuentos As Decimal = 0
Private Property EmisorRFC As String Private Property EmisorRFC As String
Private Property ReceptorRFC As String Private Property ReceptorRFC As String
@@ -1046,15 +1049,21 @@ Partial Class Compras_Compras
Set(value As Double) Set(value As Double)
ViewState("RetISROriginal") = value ViewState("RetISROriginal") = value
End Set End Set
End Property End Property
Private Property TotalOriginal As Double Private Property TotalOriginal As Double
Get Get
Return ViewState("TotalOriginal").ToString.ToDouble If ViewState("TotalOriginal") Is Nothing Then
Return 0
Else
Return ViewState("TotalOriginal").ToString.ToDouble
End If
End Get End Get
Set(value As Double) Set(value As Double)
ViewState("TotalOriginal") = value ViewState("TotalOriginal") = value
End Set End Set
End Property End Property
Private Property ActualizaTotales As Boolean Private Property ActualizaTotales As Boolean
Get Get
Return CBool(ViewState("ActualizaTotales")) Return CBool(ViewState("ActualizaTotales"))
@@ -2051,20 +2060,38 @@ Partial Class Compras_Compras
Return RFC Return RFC
End Function End Function
Private Sub CargaRetIVAConcepto(Optional Cambio As Boolean = False) Private Sub CargaRetIVAConcepto(Optional Cambio As Boolean = False)
If TrRetIVA.Visible Then If TrRetIVA.Visible Then
TdRetIVAConcepto.Visible = True TdRetIVAConcepto.Visible = True
End If End If
If Cambio Then If Cambio Then
DdlRetIVAConcepto.Items.Clear() DdlRetIVAConcepto.Items.Clear()
If RFCProv.Length = 13 Then If RFCProv.Length = 13 Then
DdlRetIVAConcepto.Items.Insert(0, New ListItem("Honorarios/Serv. Prof.", "1")) DdlRetIVAConcepto.Items.Insert(0, New ListItem("Honorarios/Serv. Prof.", "1"))
DdlRetIVAConcepto.Items.Insert(1, New ListItem("Fletes P.F.", "2")) DdlRetIVAConcepto.Items.Insert(1, New ListItem("Fletes P.F.", "2"))
ElseIf RFCProv.Length = 12 Then ElseIf RFCProv.Length = 12 Then
DdlRetIVAConcepto.Items.Insert(0, New ListItem("Fletes P.M.", "3")) DdlRetIVAConcepto.Items.Insert(0, New ListItem("Fletes P.M.", "3"))
End If 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() UpPS.Update()
End Sub End Sub
@@ -2135,10 +2162,10 @@ Partial Class Compras_Compras
TotalTemp = Total TotalTemp = Total
RetIVATemp = RetencionIVA RetIVATemp = RetencionIVA
RetISRTemp = RetencionISR RetISRTemp = RetencionISR
IEPSTemp = TrasladoIEPS IEPSTemp = TrasladoIEPS
End If End If
If TrasladoIEPS > 0 Or OtrosImpuestos > 0 Then If TrasladoIEPS > 0 Or OtrosImpuestos > 0 Then
RegistraScript("$('#ModalIEPS').modal('show');") RegistraScript("$('#ModalIEPS').modal('show');")
If TrasladoIEPS > 0 Then 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)) CargaProductos(DdlConceptoOI, If(UsuarioActual.Empresa.Funcionalidad(305).ToString.ToEntero > 0, UsuarioActual.Empresa.Funcionalidad(305).ToString.ToEntero, -1))
LbImporte2.Text = "$" + OtrosImpuestos.ToString LbImporte2.Text = "$" + OtrosImpuestos.ToString
End If End If
End If End If
Dim MostrarRetIva6 As Boolean = False
TxtSubTotal.Text = SubtotalTemp.FormatoNumero TxtSubTotal.Text = SubtotalTemp.FormatoNumero
TxtDescuento.Text = DescuentosTemp.FormatoNumero TxtDescuento.Text = DescuentosTemp.FormatoNumero
TxtSubTotal2.Text = Subtotal2Temp.FormatoNumero TxtSubTotal2.Text = Subtotal2Temp.FormatoNumero
@@ -2166,8 +2197,8 @@ Partial Class Compras_Compras
TxtTotal.Text = TotalTemp.FormatoNumero TxtTotal.Text = TotalTemp.FormatoNumero
TxtRetIVA.Text = RetIVATemp.FormatoNumero TxtRetIVA.Text = RetIVATemp.FormatoNumero
TxtRetISR.Text = RetISRTemp.FormatoNumero TxtRetISR.Text = RetISRTemp.FormatoNumero
TxtIEPS.Text = IEPSTemp.FormatoNumero TxtIEPS.Text = IEPSTemp.FormatoNumero
TrDescuento.Visible = DescuentosTemp > 0 TrDescuento.Visible = DescuentosTemp > 0
TrIEPS.Visible = IEPSTemp > 0 TrIEPS.Visible = IEPSTemp > 0
TrRetIVA.Visible = RetIVATemp > 0 TrRetIVA.Visible = RetIVATemp > 0
@@ -2202,8 +2233,27 @@ Partial Class Compras_Compras
LblRetISR.Text = (If(Subtotal2Temp > 0, (RetISRTemp / Subtotal2Temp), 0) * 100).FormatoNumero(3) LblRetISR.Text = (If(Subtotal2Temp > 0, (RetISRTemp / Subtotal2Temp), 0) * 100).FormatoNumero(3)
'ASIGNA VALORES ORIGINALES PARA GUARDAR '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 End Sub
''' <summary> ''' <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, 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, 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, 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 ViewState("CveCompra") = ObjCompras.CveCompra
If ObjCompras.DtResultados.Rows.Count > 0 Then ViewState("CompraFolio") = ObjCompras.DtResultados.Rows(0)("vFolio").ToString 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 importeMovimiento = 0
End If End If
Case 65 'Perdida Case 65 'Perdida
If TCPago <> 1 AndAlso TxtFechaPago.Text <> TxtFecha.Text Then If TCPago <> 1 AndAlso TxtFechaPago.Text <> TxtFecha.Text Then
IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
@@ -6099,8 +6150,37 @@ Partial Class Compras_Compras
End If End If
Else Else
importeMovimiento = 0 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 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" 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 RVDocumentoImporteCaja.MaximumValue = RVDocumentoImporte.MaximumValue
CargaRetIVAConcepto() CargaRetIVAConcepto()
CargaRetISRConcepto() CargaRetISRConcepto()
End Sub End Sub
Private Sub OriginalesVisible(Accion As Boolean) Private Sub OriginalesVisible(Accion As Boolean)
tdT0.Visible = Accion tdT0.Visible = Accion
@@ -18893,11 +18977,11 @@ Partial Class Compras_Compras
End If End If
Else Else
Retorno = False Retorno = False
Exit For Exit For
End If End If
Else Else
'2018.11.24 se cambia concepto 177, de cargo a abono negativo., petición MALL '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 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 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 Retorno = False
Exit For Exit For
@@ -19135,4 +19219,77 @@ Partial Class Compras_Compras
End Sub End Sub
#End Region #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 End Class