-
-
+
+
<%----%>
diff --git a/Ventas/RepIngresos.aspx.vb b/Ventas/RepIngresos.aspx.vb
index 802e23eb1..467609afe 100644
--- a/Ventas/RepIngresos.aspx.vb
+++ b/Ventas/RepIngresos.aspx.vb
@@ -107,11 +107,11 @@ Partial Class Ventas_RepIngresos
Dim Cves_Subprotectos As String = If(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM)
Dim TiposDoc As String = If(DdlTipoDocto.GetSelectedValuesM = "", "-1", DdlTipoDocto.GetSelectedValuesM)
- If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
- TCEspecifico = TxtEspecifico.Text.ToDecimal
- Else
- TCEspecifico = -1
- End If
+ 'If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
+ ' TCEspecifico = TxtEspecifico.Text.ToDecimal
+ 'Else
+ ' TCEspecifico = -1
+ 'End If
Dim ObjRepI As New ClsVentas()
If ObjRepI.RepIngresos(UsuarioActual.CveEmpresa, If(RsFechaI = "-1", MinFecha, RsFechaI.ToDate), If(RsFechaF = "-1", MaxFecha, RsFechaF.ToDate), TiposDoc, Cves_Subprotectos, TipoCambio:=TipoCambio, TCEspecifico:=TCEspecifico) Then
@@ -174,20 +174,20 @@ Partial Class Ventas_RepIngresos
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("TipoAmortizacion") = "" Then
e.Row.CssClass = "Totales"
- ElseIf e.Row.DBCampo("TipoAmortizacion") <> "" AndAlso e.Row.DBCampo("CveConceptoContable") = "-1" Then
+ ElseIf e.Row.DBCampo("TipoAmortizacion") <> "" AndAlso e.Row.DBCampo("CveConceptoContable") = "" Then
e.Row.CssClass = "SubTotales"
End If
End If
End Sub
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
TipoCambio = RblTipoCambio.SelectedValue.ToEntero
- If TipoCambio = 3 Then
- LiEspecifico.Visible = True
- TCEspecifico = GlobalTipoCambio(Now).ToDecimal
- TxtEspecifico.Text = TCEspecifico.ToString
- Else
- LiEspecifico.Visible = False
- End If
+ 'If TipoCambio = 3 Then
+ ' LiEspecifico.Visible = True
+ ' TCEspecifico = GlobalTipoCambio(Now).ToDecimal
+ ' TxtEspecifico.Text = TCEspecifico.ToString
+ 'Else
+ ' LiEspecifico.Visible = False
+ 'End If
UpBodyTipoCambio.Update()
End Sub
Private Sub BtnTipoCambio_Click(sender As Object, e As EventArgs) Handles BtnTipoCambio.Click
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index 52b6db6e6..ce903284a 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -9344,7 +9344,7 @@ Partial Class Ventas
Dim CveTipoRetencion As Integer = 0
If UsuarioActual.Empresa.Funcionalidad(579) = "1" Then
- CveTipoRetencion = DdlTipoRetencion.SelectedValue.ToEntero()
+ CveTipoRetencion = factura.CveTipoRetencion
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)
@@ -21486,13 +21486,22 @@ Partial Class Ventas
End If
End If
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")
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("")
If DrPS Is Nothing Then
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
+ If Not AplicaImpuestosLocales Then
+ TmpDTImpuestos.Rows.Clear()
+ GvImpuestosLocales2.DataSource = TmpDTImpuestos
+ GvImpuestosLocales2.DataBind()
+ End If
+
'CREAMOS DT PARA UTILIZAR AL TIMBRAR
InicializaDTVentasNC()
@@ -21530,13 +21545,13 @@ Partial Class Ventas
If AplicaNCMasiva Then
If NCDescuento Then
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
Else
For Each Gvr As GridViewRow In GvCxC.Rows
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
AcumuladoNC += 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
End If
Else
- DtImpuestos = CargaDtImpuestosNC(CveVenta, TxtNCImporte.Text.Trim.ToDecimal)
+ DtImpuestos = CargaDtImpuestosNC(CveVenta, TxtNCImporte.Text.Trim.ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales)
If EsNCAmortizacion Then
If DtAnticipoAmortizacion Is Nothing Then
@@ -21646,7 +21661,7 @@ Partial Class Ventas
GvPS.DataSource = TmpDT
GvPS.DataBind()
- CalculaTotalesVenta(True)
+ CalculaTotalesVenta(RecalculaImpuestosLocales:=AplicaImpuestosLocales)
TrTipoRelacion.Visible = True
DdlTiposRelacion.SelectedValueExist("1")
@@ -21671,14 +21686,21 @@ Partial Class Ventas
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 TmpDT As DataTable = Nothing
+ Dim TmpDTImpuestos As DataTable = Nothing
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
- TmpDT = ObjVentas.DtResultados
+ TmpDT = ObjVentas.DtResultados.Copy()
TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
End If
@@ -21708,10 +21730,19 @@ Partial Class Ventas
Dim Porcentaje As Decimal = ((Importe * 100) / ImporteReferencia) / 100
Dim FiltroStr As String = ""
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
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()))
+
+ If Not AplicaImpuestosLocales Then
+ importePuTemp = importePuTemp - TotalImpuestosLocales
+ End If
+
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)
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
- 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
'asusto la diferencia en el último concepto
Dim ImporteAjustado As Decimal = DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteTotal").ToString.ToDecimal + difTmp