concepto 103

This commit is contained in:
rrene
2020-07-04 11:48:40 -07:00
parent b8ed1e71b2
commit 26e6199260
2 changed files with 112 additions and 88 deletions

View File

@@ -2917,42 +2917,66 @@ Namespace Modelos
importeMovimiento = 0 importeMovimiento = 0
Case 103 'Descuento Case 103 'Descuento
If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") AndAlso ObjFactura.CveTipoAmortizacionAnticipo = -1 Then If ObjFactura.Descuento <> 0 AndAlso Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") AndAlso ObjFactura.CveTipoAmortizacionAnticipo = -1 Then
importeMovimiento = (ObjFactura.Descuento * ValorMultiplicador) importeMovimiento = ObjFactura.Descuento * ValorMultiplicador
importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador
FechaMovimiento = ObjFactura.FechaPago FechaMovimiento = ObjFactura.FechaPago
CveSubProyectoContabilizar = CveSubProyectoVenta CveSubProyectoContabilizar = CveSubProyectoVenta
If importeMovimiento <> 0 AndAlso ObjConta.GetRetCuenta(ConceptoContable, ObjFactura.CveEmpresa) Then If importeMovimiento <> 0 AndAlso ObjConta.GetRetCuenta(ConceptoContable, ObjFactura.CveEmpresa) Then
If ObjConta.DtResultados.Rows.Count > 0 Then If ObjConta.DtResultados.Rows.Count > 0 Then
IdCtaContable = ObjConta.DtResultados.Rows(0)("Conta_IdCuentaDescuentoVenta").ToString.ToEntero IdCtaContable = ObjConta.DtResultados.Rows(0)("Conta_IdCuentaDescuentoVenta").ToString().ToEntero()
'CveCuenta = ObjConta.DtResultados.Rows(0)("Conta_IdCuentaDescuentoVenta").ToString.ToEntero 'CveCuenta = ObjConta.DtResultados.Rows(0)("Conta_IdCuentaDescuentoVenta").ToString().ToEntero()
End If End If
End If End If
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
If importeMovimiento > 0 AndAlso UsuarioActual.CveEmpresa = 119 Then
'código fijo en base el porcentaje iva, que se afecten las clasificaciones
For i = 0 To TmpDTDetalle.Rows.Count - 1
If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=TmpDTDetalle.MAX("PorcentajeIVA").ToDouble).Rows.Count > 0 Then DT = TmpDTDetalle.FiltraParametros("", "", {"CveClasificacion", "CveSubProyecto", "PorcentajeIVA"})
TmpDTDetalle(i)("CveClasificacion") = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=TmpDTDetalle.MAX("PorcentajeIVA").ToDouble).Rows(0)("CveClasificacion").ToString
If DT.Rows.Count > 0 Then
'Se agrega movimiento separado por la cuenta de ventas (ER)
For Each Row2 As DataRow In DT.Rows
importeMovimiento = (TmpDTDetalle.SUM("Descuento", String.Format("CveClasificacion = {0} And CveSubProyecto = {1}", Row2("CveClasificacion"), Row2("CveSubProyecto"))).ToString().ToDecimal) * ValorMultiplicador
importeMX = importeMovimiento * tipoCambio * Multiplicador
FechaMovimiento = ObjFactura.FechaPago
Concepto = $"{ObjFactura.SerieFolio} {If(Row2("CveClasificacion").ToString().ToEntero() > 0, GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $"CveClasificacion = {Row2("CveClasificacion").ToString()}"), "")} - {If(Row2("CveSubProyecto").ToString().ToEntero() > 0, GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa).FiltroPrimeroValor("SubProyecto", $"CveSubProyecto = {Row2("CveSubProyecto").ToString()}"), "Sin SubProyecto Asignado")}"
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
'Nota cuando es Nota de crédiot, debe de tomar el devoluciones y rebajas
If ObjFactura.TipoDocto.Contiene("Egs") Then
IdCtaContable = GlobalDTClasificaciones(ObjFactura.CveEmpresa).FiltroPrimeroValor("IdCuentaGasto", String.Format("CveClasificacion = {0}", Row2("CveClasificacion"))).ToEntero()
Else
IdCtaContable = GlobalDTClasificaciones(ObjFactura.CveEmpresa).FiltroPrimeroValor("IdCuentaIngresos", String.Format("CveClasificacion = {0}", Row2("CveClasificacion"))).ToEntero()
End If
If importeMovimiento <> 0 Then
If IdCtaContable <= 0 Then
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString() + GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $"CveClasificacion = {Row2("CveClasificacion").ToString()}"))
idCuentaContabilizacion = 0
End If
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 103, Concepto, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveVentaAmortizacion:=-1, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, CveClasificacion:=Row2("CveClasificacion").ToString().ToEntero(), CveSubProyecto:=Row2("CveSubProyecto").ToString().ToEntero(), ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), TipoCambio:=tipoCambio, PorcentajeImpuesto:=Row2("PorcentajeIVA").ToString().ToDecimal) Then
ErrorPrepoliza = True
Else
ObjFactura.SeGuardoPrePoliza = True
End If
End If End If
Next Next
End If End If
End If End If
importeMovimiento = 0
Case 103 'Descuento 'Case 103 'Descuento
'si se amortiza anticipo por concepto de descuento, no debe de registrar esta partida. ' 'si se amortiza anticipo por concepto de descuento, no debe de registrar esta partida.
If ObjFactura.CveTipoAmortizacionAnticipo <> 1 Then ' If ObjFactura.CveTipoAmortizacionAnticipo <> 1 Then
importeMovimiento = (ObjFactura.Descuento * ValorMultiplicador) ' importeMovimiento = (ObjFactura.Descuento * ValorMultiplicador)
importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador ' importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador
FechaMovimiento = ObjFactura.FechaPago ' FechaMovimiento = ObjFactura.FechaPago
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" ' If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
IdCtaContable = 0 ' IdCtaContable = 0
End If ' End If
Case 8 'Ret IVA por Trasladar Case 8 'Ret IVA por Trasladar
If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") AndAlso ObjFactura.CveTipoRetencion <> 4 Then 'SI NO ES RETENCION DE IVA DE SERVICIOS If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") AndAlso ObjFactura.CveTipoRetencion <> 4 Then 'SI NO ES RETENCION DE IVA DE SERVICIOS

View File

@@ -1948,7 +1948,7 @@ Partial Class Ventas
CreaDTmpF() CreaDTmpF()
CreaDTDocumentosRelacionados() CreaDTDocumentosRelacionados()
CargaDdlSubProyectos() CargaDdlSubProyectos()
'CargaProyecto() CargaProyecto()
CargaSucursales() CargaSucursales()
CargaClasificaciones() CargaClasificaciones()
@@ -2452,13 +2452,13 @@ Partial Class Ventas
CargaFletes() CargaFletes()
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
'DdlProyecto.Visible = False DdlProyecto.Visible = False
BrSubProyecto.Visible = False BrSubProyecto.Visible = False
DdlProyectoPyME.Visible = False DdlProyectoPyME.Visible = False
' LblProyectoHeader.Text = "Sucursal" LblProyectoHeader.Text = "Sucursal"
LblSubProyecto.Text = "" LblSubProyecto.Text = ""
divProyectoPyME.Visible = False divProyectoPyME.Visible = False
'LblSubProyectoPyME.InnerText = "Sucursal" LblSubProyectoPyME.Text = "Sucursal"
Dim dttSub As New DataTable Dim dttSub As New DataTable
dttSub = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) dttSub = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
@@ -2476,41 +2476,41 @@ Partial Class Ventas
dttSub.Dispose() dttSub.Dispose()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
'DdlProyecto.Visible = False DdlProyecto.Visible = False
BrSubProyecto.Visible = False BrSubProyecto.Visible = False
DdlProyectoPyME.Visible = False DdlProyectoPyME.Visible = False
'LblProyectoHeader.Text = "Proyecto" LblProyectoHeader.Text = "Proyecto"
LblSubProyecto.Text = "" LblSubProyecto.Text = ""
divProyectoPyME.Visible = False divProyectoPyME.Visible = False
'LblSubProyectoPyME.InnerText = "Proyecto" LblSubProyectoPyME.Text = "Proyecto"
'Dim dttSub As New DataTable Dim dttSub As New DataTable
'dttSub = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) dttSub = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
'DdlSubProyecto.Items.Clear() DdlSubProyecto.Items.Clear()
'DdlSubProyecto.DataSource = dttSub DdlSubProyecto.DataSource = dttSub
''DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"}) 'DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
'DdlSubProyecto.DataBind() DdlSubProyecto.DataBind()
'DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
'DdlSubProyectoPyME.Items.Clear() DdlSubProyectoPyME.Items.Clear()
'DdlSubProyectoPyME.DataSource = dttSub DdlSubProyectoPyME.DataSource = dttSub
''DdlSubProyectoPyME.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"}) 'DdlSubProyectoPyME.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
'DdlSubProyectoPyME.DataBind() DdlSubProyectoPyME.DataBind()
'DdlSubProyectoPyME.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlSubProyectoPyME.Items.Insert(0, New ListItem("Seleccione", "-1"))
'dttSub.Dispose() dttSub.Dispose()
'ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
' LblProyectoHeader.Text = "Sucursal" LblProyectoHeader.Text = "Sucursal"
' LblSubProyecto.Text = "Proyecto" LblSubProyecto.Text = "Proyecto"
'ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
' LblProyectoHeader.Text = "Proyecto" LblProyectoHeader.Text = "Proyecto"
' LblSubProyecto.Text = "Sucursal" LblSubProyecto.Text = "Sucursal"
End If End If
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyectoHeader, LblSubProyecto) 'CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyectoHeader, LblSubProyecto)
CargarCentrosDeCosto(DdlProyectoPyME, DdlSubProyectoPyME, LblProyectoPyME, LblSubProyectoPyME) 'CargarCentrosDeCosto(DdlProyectoPyME, DdlSubProyectoPyME, LblProyectoPyME, LblSubProyectoPyME)
'MOSTRAR LA OPCION DE AGREGAR PS EN BDH 'MOSTRAR LA OPCION DE AGREGAR PS EN BDH
If UsuarioActual.CveEmpresa = 140 AndAlso CveVenta <= 0 Then If UsuarioActual.CveEmpresa = 140 AndAlso CveVenta <= 0 Then
@@ -4472,25 +4472,25 @@ Partial Class Ventas
End If End If
If UsuarioActual.CveEmpresa = 48 Then If UsuarioActual.CveEmpresa = 48 Then
TxtFecha.AutoPostBack = True TxtFecha.AutoPostBack = True
End If
CargaCodigoUnico()
'SI ES COTIZACION PUEDE GENERAR UNA OC PARA MODIFICAR LOS IMPORTES
If DdlTipoComprobante.SelectedValue = "Cot" AndAlso UsuarioActual.Empresa.Funcionalidad(583) = "1" Then
Dim DtOCGeneradas As DataTable = Nothing
If ObjVentas.GetVentasCotizacionesOC(Me.CveVenta, -1, UsuarioActual.CveEmpresa) Then
DtOCGeneradas = ObjVentas.DtResultados.Copy()
End If End If
If DtOCGeneradas IsNot Nothing AndAlso DtOCGeneradas.Rows.Count > 0 Then
CargaCodigoUnico() LtGenerarOC.Visible = False
Else
'SI ES COTIZACION PUEDE GENERAR UNA OC PARA MODIFICAR LOS IMPORTES LtGenerarOC.Visible = True
If DdlTipoComprobante.SelectedValue = "Cot" AndAlso UsuarioActual.Empresa.Funcionalidad(583) = "1" Then
Dim DtOCGeneradas As DataTable = Nothing
If ObjVentas.GetVentasCotizacionesOC(Me.CveVenta, -1, UsuarioActual.CveEmpresa) Then
DtOCGeneradas = ObjVentas.DtResultados.Copy()
End If
If DtOCGeneradas IsNot Nothing AndAlso DtOCGeneradas.Rows.Count > 0 Then
LtGenerarOC.Visible = False
Else
LtGenerarOC.Visible = True
End If
End If End If
End If
DdlTipoRetencion.SelectedValueExist(DbRowVenta("CveTipoRetencion").ToString()) DdlTipoRetencion.SelectedValueExist(DbRowVenta("CveTipoRetencion").ToString())
CargaPS(-1, DdlPS) CargaPS(-1, DdlPS)
@@ -4509,8 +4509,8 @@ Partial Class Ventas
UpEstatus.Update() UpEstatus.Update()
Retorno = True Retorno = True
Else Else
ViewState("CveVenta") = -1 ViewState("CveVenta") = -1
Alert("El documento solicitado no existe, favor de revisar su búsqueda.", TipoMensaje.MsgAdvertencia) Alert("El documento solicitado no existe, favor de revisar su búsqueda.", TipoMensaje.MsgAdvertencia)
End If End If
End If End If
@@ -10047,17 +10047,17 @@ Partial Class Ventas
CveCuentaCliente = CveCuenta CveCuentaCliente = CveCuenta
End If End If
Case 7 'descuentos 'Case 7 'descuentos
If LblDescuentos.Text.ToDecimal > 0 Then ' If LblDescuentos.Text.ToDecimal > 0 Then
importeMovimiento = (ObjFactura.Descuento) * ValorMultiplicador ' importeMovimiento = (ObjFactura.Descuento) * ValorMultiplicador
importeMX = importeMovimiento * tipoCambio * Multiplicador ' importeMX = importeMovimiento * tipoCambio * Multiplicador
FechaMovimiento = ObjFactura.FechaPago ' FechaMovimiento = ObjFactura.FechaPago
CveSubProyectoContabilizar = CveSubProyectoVenta ' CveSubProyectoContabilizar = CveSubProyectoVenta
IdCtaContable = 0 ' IdCtaContable = 0
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" ' If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
End If ' End If
Case 3 'Cliente Case 3 'Cliente
If ObjFactura.TipoDocto = "Ant" Then If ObjFactura.TipoDocto = "Ant" Then
@@ -10419,7 +10419,7 @@ Partial Class Ventas
'End If 'End If
End If End If
If Not ErrorPrepoliza AndAlso ObjConta.ValidacionPrePolizaCuadre(ObjFactura.CvePrePoliza, 5) Then If Not ErrorPrepoliza AndAlso ObjConta.ValidacionPrePolizaCuadre(ObjFactura.CvePrePoliza, 5) Then
If ObjConta.ValorPolizaDescuadre > 0 Then If ObjConta.ValorPolizaDescuadre > 0 Then
'ErrorPrepoliza = True 'ErrorPrepoliza = True
GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas") GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas")
@@ -10956,7 +10956,7 @@ Partial Class Ventas
importeMovimiento = 0 importeMovimiento = 0
Case 103 'Descuento Case 103 'Descuento
If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") AndAlso DdlTipoAmortizacionAnticipo.SelectedValue = "-1" Then If ObjFactura.Descuento <> 0 AndAlso Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") AndAlso DdlTipoAmortizacionAnticipo.SelectedValue = "-1" Then
importeMovimiento = ObjFactura.Descuento * ValorMultiplicador importeMovimiento = ObjFactura.Descuento * ValorMultiplicador
importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador
@@ -10975,7 +10975,7 @@ Partial Class Ventas
If DT.Rows.Count > 0 Then If DT.Rows.Count > 0 Then
'Se agrega movimiento separado por la cuenta de ventas (ER) 'Se agrega movimiento separado por la cuenta de ventas (ER)
For Each Row2 As DataRow In DT.Rows For Each Row2 As DataRow In DT.Rows
importeMovimiento = (TmpDTDetalle.SUM("TotalImporte", String.Format("CveClasificacion = {0} And CveSubProyecto = {1}", Row2("CveClasificacion"), Row2("CveSubProyecto"))).ToString().ToDecimal) * ValorMultiplicador importeMovimiento = (TmpDTDetalle.SUM("Descuento", String.Format("CveClasificacion = {0} And CveSubProyecto = {1}", Row2("CveClasificacion"), Row2("CveSubProyecto"))).ToString().ToDecimal) * ValorMultiplicador
importeMX = importeMovimiento * tipoCambio * Multiplicador importeMX = importeMovimiento * tipoCambio * Multiplicador
FechaMovimiento = ObjFactura.FechaPago FechaMovimiento = ObjFactura.FechaPago
Concepto = $"{ViewState("VentaFolio").ToString()} {If(Row2("CveClasificacion").ToString().ToEntero() > 0, GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $"CveClasificacion = {Row2("CveClasificacion").ToString()}"), "")} - {If(Row2("CveSubProyecto").ToString().ToEntero() > 0, GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa).FiltroPrimeroValor("SubProyecto", $"CveSubProyecto = {Row2("CveSubProyecto").ToString()}"), "Sin SubProyecto Asignado")}" Concepto = $"{ViewState("VentaFolio").ToString()} {If(Row2("CveClasificacion").ToString().ToEntero() > 0, GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $"CveClasificacion = {Row2("CveClasificacion").ToString()}"), "")} - {If(Row2("CveSubProyecto").ToString().ToEntero() > 0, GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa).FiltroPrimeroValor("SubProyecto", $"CveSubProyecto = {Row2("CveSubProyecto").ToString()}"), "Sin SubProyecto Asignado")}"
@@ -11005,16 +11005,16 @@ Partial Class Ventas
End If End If
End If End If
importeMovimiento = 0
Case 103 'Descuento 'Case 103 'Descuento
'si se amortiza anticipo por concepto de descuento, no debe de registrar esta partida. ' 'si se amortiza anticipo por concepto de descuento, no debe de registrar esta partida.
If DdlTipoAmortizacionAnticipo.SelectedValue <> "1" Then ' If DdlTipoAmortizacionAnticipo.SelectedValue <> "1" Then
importeMovimiento = ObjFactura.Descuento * ValorMultiplicador ' importeMovimiento = ObjFactura.Descuento * ValorMultiplicador
importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador ' importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador
FechaMovimiento = ObjFactura.FechaPago ' FechaMovimiento = ObjFactura.FechaPago
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" ' If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
IdCtaContable = 0 ' IdCtaContable = 0
End If ' End If
Case 8 'Ret IVA por Trasladar Case 8 'Ret IVA por Trasladar
If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") AndAlso ObjFactura.CveTipoRetencion <> 4 Then 'SI NO ES RETENCION DE IVA DE SERVICIOS If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") AndAlso ObjFactura.CveTipoRetencion <> 4 Then 'SI NO ES RETENCION DE IVA DE SERVICIOS