cancel
Showing results for 
Search instead for 
Did you mean: 

VALIDACION PARA IMPUESTO PERCIBIDO

Former Member
0 Kudos

COLEGAS, BUEN DIA A TOD@S!

TENGO QUE VALIDAR LA DIGITACION DEL SIGUIENTE CASO:

CUANDO UN COMPROBANTE DE CREDITO FISCAL ES MAYOR DE $100, EL INDICADOR DE IMPUESTO A UTILIZAR DEBE SER 'IVAPER' EN EL SPTN TENGO LA SIGUIENTE VALIDACION:

--	ADD	YOUR	CODE	HERE
-- VALIDACION PARA EVITAR FACTURAS SIN PERCEPCION
IF (@OBJECT_TYPE = '13') AND @TRANSACTION_TYPE IN ('A','U')
BEGIN

  DECLARE @DocTotal numeric(19,6)
  DECLARE @TaxCode nvarchar(25)

  SELECT @DocTotal = DocTotal FROM OINV WHERE DocEntry = @list_of_Cols_Val_Tab_Del
  SELECT @TaxCode = TaxCode FROM INV1 WHERE DocEntry = @list_of_Cols_Val_Tab_Del
  SELECT @NumAtCard = NumAtCard FROM OINV WHERE DocEntry = @list_of_cols_val_tab_del
   IF ( @NumAtCard LIKE '%C%' AND @DocTotal >100 AND @TaxCode != 'IVAPER') 
   BEGIN
       set @error = 103
       set @error_message = 'MSG-101 El Indicador de Impuestos a Utilizar es "IVAPER"'
   END
END

SI TENGO DOS LIENAS DE ARTICULOS Y UNA TIENE EJ:'IVACCF' Y LA OTRA 'IVAPER' EL DOCUMENTO SE GUARDA COMO PUEDO EVITAR ESO? QUE LE FALTA A ESTA VALIDACION.

GRACIAS

Accepted Solutions (0)

Answers (1)

Answers (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Hola Alex

Se supone que si el documento supera los 100, todas las lienas de impto deben ser IVAPER

Trata con esta validacion


--	ADD	YOUR	CODE	HERE
-- VALIDACION PARA EVITAR FACTURAS SIN PERCEPCION
IF (@OBJECT_TYPE = '13') AND @TRANSACTION_TYPE IN ('A','U')
BEGIN 

	DECLARE @DocTotal numeric(19,6)
	DECLARE @TaxCode nvarchar(25) 
	DECLARE @LINE as nvarchar(5)
	DECLARE @IMPTO as nVarchar (5)

	SELECT @DocTotal = DocTotal FROM OINV WHERE DocEntry = @list_of_Cols_Val_Tab_Del
	SELECT @TaxCode = TaxCode FROM INV1 WHERE DocEntry = @list_of_Cols_Val_Tab_Del
	SELECT @NumAtCard = NumAtCard FROM OINV WHERE DocEntry = @list_of_cols_val_tab_del
	SELECT @LINE = COUNT(T1.LineNum) FROM OINV INNER JOIN INV1 ON T1.DocEntry = T0.DocEntry WHERE T0.DocEntry = @list_of_cols_val_tab_del 
	SELECT @IMPTO = COUNT(T1.TaxCode) FROM OINV INNER JOIN INV1 ON T1.DocEntry = T0.DocEntry WHERE T0.DocEntry = @list_of_cols_val_tab_del AND T1.TaxCode = 'IVAPER'

	IF ( @NumAtCard LIKE '%C%' AND @DocTotal >100 AND @TaxCode != 'IVAPER') OR (@LINE != @IMPTO AND @DocTotal >100) --tambien prueba con AND
		BEGIN
			set @error = 103
			set @error_message = 'MSG-103 El Indicador de Impuestos a Utilizar es "IVAPER"'
		END
END

Saludos

FLR

Edited by: Floyola on Jan 27, 2011 3:26 PM

Former Member
0 Kudos

EPA! FELIPE,

RESUELTO...

GRACIAS