Impuestos locales al aplicar NC
This commit is contained in:
@@ -9344,7 +9344,7 @@ Partial Class Ventas
|
|||||||
|
|
||||||
Dim CveTipoRetencion As Integer = 0
|
Dim CveTipoRetencion As Integer = 0
|
||||||
If UsuarioActual.Empresa.Funcionalidad(579) = "1" Then
|
If UsuarioActual.Empresa.Funcionalidad(579) = "1" Then
|
||||||
CveTipoRetencion = DdlTipoRetencion.SelectedValue.ToEntero()
|
CveTipoRetencion = factura.CveTipoRetencion
|
||||||
End If
|
End If
|
||||||
|
|
||||||
factura.CvePrePoliza = ObjConta.AddPrePolizas("Ventas/GuardarVenta", factura.CvePlantillaPoliza, factura.Total, factura.Total, factura.CveMoneda, factura.Fecha, If(CveEmpresaCRM > 0, LblEmpresaCRM.Text, factura.Cliente.Nombre), factura.CveUsuario, factura.CveEmpresa)
|
factura.CvePrePoliza = ObjConta.AddPrePolizas("Ventas/GuardarVenta", factura.CvePlantillaPoliza, factura.Total, factura.Total, factura.CveMoneda, factura.Fecha, If(CveEmpresaCRM > 0, LblEmpresaCRM.Text, factura.Cliente.Nombre), factura.CveUsuario, factura.CveEmpresa)
|
||||||
@@ -21486,13 +21486,22 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
DdlTipoComprobante.SelectedValue = "Egs"
|
DdlTipoComprobante.SelectedValue = "Egs"
|
||||||
|
Dim AplicaImpuestosLocales As Boolean = False
|
||||||
|
|
||||||
AplicarNC(DdlNCPS.SelectedValue.ToEntero, EsNCAmortizacion:=ChkAplicaNCAnticipo.Checked)
|
Dim ObjCliente As New ClsClientes
|
||||||
|
If ObjCliente.GetClienteImpuestosLocales(CveCliente) Then
|
||||||
|
'se cargan impuestos locales
|
||||||
|
Dim DtClienteImpuesto As DataTable = ObjCliente.DtResultados.FiltraParametros("Seleccionado = 1", "Orden")
|
||||||
|
AplicaImpuestosLocales = (DtClienteImpuesto IsNot Nothing AndAlso DtClienteImpuesto.Rows.Count > 0)
|
||||||
|
End If
|
||||||
|
ObjCliente.Dispose()
|
||||||
|
|
||||||
|
AplicarNC(DdlNCPS.SelectedValue.ToEntero, EsNCAmortizacion:=ChkAplicaNCAnticipo.Checked, AplicaImpuestosLocales:=AplicaImpuestosLocales)
|
||||||
|
|
||||||
RegistraScript("$('#ModalAplicarNC').modal('hide');", "EscondeModalNC")
|
RegistraScript("$('#ModalAplicarNC').modal('hide');", "EscondeModalNC")
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub AplicarNC(CvePS As Integer, Optional NCDescuento As Boolean = False, Optional EsNCAmortizacion As Boolean = False)
|
Private Sub AplicarNC(CvePS As Integer, Optional NCDescuento As Boolean = False, Optional EsNCAmortizacion As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True)
|
||||||
Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
|
Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
|
||||||
If DrPS Is Nothing Then
|
If DrPS Is Nothing Then
|
||||||
Alert("Ocurrió un error al cargar la información del producto. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError)
|
Alert("Ocurrió un error al cargar la información del producto. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError)
|
||||||
@@ -21509,6 +21518,12 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If Not AplicaImpuestosLocales Then
|
||||||
|
TmpDTImpuestos.Rows.Clear()
|
||||||
|
GvImpuestosLocales2.DataSource = TmpDTImpuestos
|
||||||
|
GvImpuestosLocales2.DataBind()
|
||||||
|
End If
|
||||||
|
|
||||||
'CREAMOS DT PARA UTILIZAR AL TIMBRAR
|
'CREAMOS DT PARA UTILIZAR AL TIMBRAR
|
||||||
InicializaDTVentasNC()
|
InicializaDTVentasNC()
|
||||||
|
|
||||||
@@ -21530,13 +21545,13 @@ Partial Class Ventas
|
|||||||
If AplicaNCMasiva Then
|
If AplicaNCMasiva Then
|
||||||
If NCDescuento Then
|
If NCDescuento Then
|
||||||
For Each RNC In ListaNCDesc
|
For Each RNC In ListaNCDesc
|
||||||
DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True), True, MissingSchemaAction.Ignore)
|
DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales), True, MissingSchemaAction.Ignore)
|
||||||
Next
|
Next
|
||||||
Else
|
Else
|
||||||
|
|
||||||
For Each Gvr As GridViewRow In GvCxC.Rows
|
For Each Gvr As GridViewRow In GvCxC.Rows
|
||||||
If Gvr.FCCheckBox("ChkCxC").Checked Then
|
If Gvr.FCCheckBox("ChkCxC").Checked Then
|
||||||
DtImpuestos.Merge(CargaDtImpuestosNC(Gvr.DataKey("CveVenta").ToString.ToEntero, Gvr.FCTextBox("TxtImporte").Text.ToString.ToDecimal), True, MissingSchemaAction.Ignore)
|
DtImpuestos.Merge(CargaDtImpuestosNC(Gvr.DataKey("CveVenta").ToString.ToEntero, Gvr.FCTextBox("TxtImporte").Text.ToString.ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales), True, MissingSchemaAction.Ignore)
|
||||||
'CARGA FACTURA A LA CUAL SE APLICA LA NC
|
'CARGA FACTURA A LA CUAL SE APLICA LA NC
|
||||||
AcumuladoNC += Gvr.FCTextBox("TxtImporte").Text.ToString.ToDecimal
|
AcumuladoNC += Gvr.FCTextBox("TxtImporte").Text.ToString.ToDecimal
|
||||||
CargaNCDT(Gvr.DataKey("CveVenta").ToString.ToEntero, Gvr.FCTextBox("TxtImporte").Text.ToString.ToDecimal)
|
CargaNCDT(Gvr.DataKey("CveVenta").ToString.ToEntero, Gvr.FCTextBox("TxtImporte").Text.ToString.ToDecimal)
|
||||||
@@ -21544,7 +21559,7 @@ Partial Class Ventas
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
DtImpuestos = CargaDtImpuestosNC(CveVenta, TxtNCImporte.Text.Trim.ToDecimal)
|
DtImpuestos = CargaDtImpuestosNC(CveVenta, TxtNCImporte.Text.Trim.ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales)
|
||||||
|
|
||||||
If EsNCAmortizacion Then
|
If EsNCAmortizacion Then
|
||||||
If DtAnticipoAmortizacion Is Nothing Then
|
If DtAnticipoAmortizacion Is Nothing Then
|
||||||
@@ -21646,7 +21661,7 @@ Partial Class Ventas
|
|||||||
GvPS.DataSource = TmpDT
|
GvPS.DataSource = TmpDT
|
||||||
GvPS.DataBind()
|
GvPS.DataBind()
|
||||||
|
|
||||||
CalculaTotalesVenta(True)
|
CalculaTotalesVenta(RecalculaImpuestosLocales:=AplicaImpuestosLocales)
|
||||||
|
|
||||||
TrTipoRelacion.Visible = True
|
TrTipoRelacion.Visible = True
|
||||||
DdlTiposRelacion.SelectedValueExist("1")
|
DdlTiposRelacion.SelectedValueExist("1")
|
||||||
@@ -21671,14 +21686,21 @@ Partial Class Ventas
|
|||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal, Optional NCDescuento As Boolean = False) As DataTable
|
Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal, Optional NCDescuento As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True) As DataTable
|
||||||
Dim Total As Decimal = 0, SubTotal As Decimal = 0, Saldo As Decimal = 0
|
Dim Total As Decimal = 0, SubTotal As Decimal = 0, Saldo As Decimal = 0
|
||||||
|
|
||||||
Dim TmpDT As DataTable = Nothing
|
Dim TmpDT As DataTable = Nothing
|
||||||
|
Dim TmpDTImpuestos As DataTable = Nothing
|
||||||
Dim ObjVentas As New ClsVentas
|
Dim ObjVentas As New ClsVentas
|
||||||
|
|
||||||
|
If ObjVentas.GetVentaImpuestosLocales(CveVentaNC) Then
|
||||||
|
If ObjVentas.DtResultados.Rows.Count > 0 Then
|
||||||
|
TmpDTImpuestos = ObjVentas.DtResultados.Copy()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
If ObjVentas.GetVentaDetalle(CveVentaNC) Then
|
If ObjVentas.GetVentaDetalle(CveVentaNC) Then
|
||||||
TmpDT = ObjVentas.DtResultados
|
TmpDT = ObjVentas.DtResultados.Copy()
|
||||||
TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
|
TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
|
||||||
TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
|
TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
|
||||||
End If
|
End If
|
||||||
@@ -21708,10 +21730,19 @@ Partial Class Ventas
|
|||||||
Dim Porcentaje As Decimal = ((Importe * 100) / ImporteReferencia) / 100
|
Dim Porcentaje As Decimal = ((Importe * 100) / ImporteReferencia) / 100
|
||||||
Dim FiltroStr As String = ""
|
Dim FiltroStr As String = ""
|
||||||
Dim importePuTemp As Decimal = 0
|
Dim importePuTemp As Decimal = 0
|
||||||
|
Dim TotalImpuestosLocales As Decimal = 0
|
||||||
|
If TmpDTImpuestos IsNot Nothing AndAlso TmpDTImpuestos.Rows.Count > 0 Then
|
||||||
|
TotalImpuestosLocales = TmpDTImpuestos.SUM("Importe").ToDecimal()
|
||||||
|
End If
|
||||||
|
|
||||||
For Each Dr As DataRow In DtImpuestosLocal.Rows
|
For Each Dr As DataRow In DtImpuestosLocal.Rows
|
||||||
FiltroStr = String.Format("ISNULL(PorcentajeIVA,0) = {0} AND ISNULL(PorcentajeRetIVA,0) = {1} AND ISNULL(PorcentajeRetISR,0) = {2} AND ISNULL(PorcentajeIEPS,0) = {3} AND ISNULL(CveSubProyecto,0) = {4} ", Dr("PorcentajeIVA").ToString.ToDecimal, Dr("PorcentajeRetIVA").ToString.ToDecimal, Dr("PorcentajeRetISR").ToString.ToDecimal, Dr("PorcentajeIEPS").ToString.ToDecimal, Dr("CveSubProyecto"))
|
FiltroStr = String.Format("ISNULL(PorcentajeIVA,0) = {0} AND ISNULL(PorcentajeRetIVA,0) = {1} AND ISNULL(PorcentajeRetISR,0) = {2} AND ISNULL(PorcentajeIEPS,0) = {3} AND ISNULL(CveSubProyecto,0) = {4} ", Dr("PorcentajeIVA").ToString.ToDecimal, Dr("PorcentajeRetIVA").ToString.ToDecimal, Dr("PorcentajeRetISR").ToString.ToDecimal, Dr("PorcentajeIEPS").ToString.ToDecimal, Dr("CveSubProyecto"))
|
||||||
importePuTemp = (Porcentaje * (TmpDT.SUM("TotalImporte", FiltroStr).ToDecimal() - TmpDT.SUM("Descuento", FiltroStr).ToDecimal()))
|
importePuTemp = (Porcentaje * (TmpDT.SUM("TotalImporte", FiltroStr).ToDecimal() - TmpDT.SUM("Descuento", FiltroStr).ToDecimal()))
|
||||||
|
|
||||||
|
If Not AplicaImpuestosLocales Then
|
||||||
|
importePuTemp = importePuTemp - TotalImpuestosLocales
|
||||||
|
End If
|
||||||
|
|
||||||
Dr("ImporteTotal") = importePuTemp.RoundSQL(2)
|
Dr("ImporteTotal") = importePuTemp.RoundSQL(2)
|
||||||
|
|
||||||
|
|
||||||
@@ -21728,9 +21759,13 @@ Partial Class Ventas
|
|||||||
Dr("ImportePU") = importePuTemp.RoundSQL(6) 'Dr("ImporteTotal").ToString.ToDecimal.RoundSQL(2) '(Dr("ImporteTotal").ToString.ToDecimal - Dr("ImporteIVA").ToString.ToDecimal - Dr("ImporteRetIVA").ToString.ToDecimal - Dr("ImporteRetISR").ToString.ToDecimal - Dr("ImporteIEPS").ToString.ToDecimal)
|
Dr("ImportePU") = importePuTemp.RoundSQL(6) 'Dr("ImporteTotal").ToString.ToDecimal.RoundSQL(2) '(Dr("ImporteTotal").ToString.ToDecimal - Dr("ImporteIVA").ToString.ToDecimal - Dr("ImporteRetIVA").ToString.ToDecimal - Dr("ImporteRetISR").ToString.ToDecimal - Dr("ImporteIEPS").ToString.ToDecimal)
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
Dim importeNC = (DtImpuestosLocal.SUMD("ImporteTotal") + DtImpuestosLocal.SUMD("ImporteIVA") + DtImpuestosLocal.SUMD("ImporteIEPS") - DtImpuestosLocal.SUMD("ImporteRetIVA") - DtImpuestosLocal.SUMD("ImporteRetISR"))
|
||||||
|
If AplicaImpuestosLocales Then
|
||||||
|
Importe = Importe + TotalImpuestosLocales
|
||||||
|
End If
|
||||||
'codigo para ajuste de centavo, si el importe total no cuadra con los totales
|
'codigo para ajuste de centavo, si el importe total no cuadra con los totales
|
||||||
Dim difTmp As Decimal = Importe - (DtImpuestosLocal.SUMD("ImporteTotal") + DtImpuestosLocal.SUMD("ImporteIVA") + DtImpuestosLocal.SUMD("ImporteIEPS") - DtImpuestosLocal.SUMD("ImporteRetIVA") - DtImpuestosLocal.SUMD("ImporteRetISR"))
|
Dim difTmp As Decimal = Importe - importeNC
|
||||||
|
|
||||||
If Math.Abs(difTmp) >= 0.01 Then
|
If Math.Abs(difTmp) >= 0.01 Then
|
||||||
'asusto la diferencia en el último concepto
|
'asusto la diferencia en el último concepto
|
||||||
Dim ImporteAjustado As Decimal = DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteTotal").ToString.ToDecimal + difTmp
|
Dim ImporteAjustado As Decimal = DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteTotal").ToString.ToDecimal + difTmp
|
||||||
|
|||||||
Reference in New Issue
Block a user