cancel
Showing results for 
Search instead for 
Did you mean: 

Modelo de autorizacion

Former Member
0 Kudos

Hola, escribo para saber si Uds. han realizado una autorización por línea de documento, es decir, que si algún usuario aplica un descuento mayor a 40% en un ítem del pedido de venta pase a un modelo de autorización.

Probando pude ver que el estándar lo trae pero para el descuento global del documento.

Pude realizar un transaction que valide que un descuento no sea mayor a 40% por línea de documento pero no es precisamente lo que se quiere.

Les agradezco de antemano su ayuda o sugerencia

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Si, el funcionamiento lo probe y esta bien.

Se que si el descuento es menor a 40 o el campo de usuario esta en si no se realiza la autorización.

Lo que digo es, supongamos que un amigo del que factura va a comprar un articulo. El que factura decide darle 90%de descuento y en el campo de usuario coloca SI. La factura se hace sin ningun problema no?

Entonces, la validacion quedaría a la buena fe del que factura. Si el que factura decide colocar SI, se salta la autorización. Cierto?

marco_ramirez
Active Contributor
0 Kudos

En el caso que planteas la factura no se creará hasta que el facturador seleccione SI en el campo de usuario de lo contrario no pasará.

Te sugiero lo lleves a cabo en una base de datos de pruebas para que veas el funcionamiento.

Saludos

Former Member
0 Kudos

Ok, entiendo lo que me dices, eso funciona.

Pero eso lo puede hacer el usuario que debe ser autorizado antes de que el autorizador le de el visto bueno.

Si ese usuario tiene mala intencion, puede cambiar el valor por defecto a si y no ingresa al modelo de autorizacion

marco_ramirez
Active Contributor
0 Kudos

De hecho el usuario es quien solicita la autorización cambiando el valor al campo en mención.

Ahora bien, para que la autorización se active es necesario que se cumplan dos condiciones:

1. que el porcentaje de descuento sea mayor o igual a 40

2. que el campo de usuario sea igual a 'No'

Si no exiten las condiciones anteriores, aun cuando el usuario cambien el valor del campo a SI, no habrá autorización,

en tanto que cuando se cumple la condición no te permitirá crear el documento sino hasta que le cambies el valor a SI

Del lado del modelo de autorización la query indica que para activar la autorización el campo debe tener valor SI por lo que

si el usuario cambia a este valor el campo, siempre estará solicitando la autorización aun cuando el % de descuento sea menor a 40

En conclusión si crees que se saltaran la autorización, esto no pasará.

Espero haberme explicado

Saludos

Former Member
0 Kudos

Perfecto, realmente funciona muy bien. Me queda es una duda. En que momento debo cambiar el estatus del campo de usuario? lo hace el TN?. Ya que al buscar ese documento preliminar no me deja cambiar el valor del campo porque no esta creado

marco_ramirez
Active Contributor
0 Kudos

El campo de usuario lo debes crear y ponerlo los valores Si y No

esto lo haces en Herramientas -- Herramientas de personalización -- campos definidos por el usuario: Gestión -- Documentos

de marketing -- Titulo

Estando ahi dentro creas un campo alfanumerico de 2 caracteres pues los valores son Si y No y le colocas por defecto No.

al entrar a esta parte verás que es bastante sencillo e intutivo.

Una vez creado el campo de usuario, te aparecerá del lado derecho de tu formulario, en este caso de la factura, si no lo visualizas lo puedes activar con la combinación de teclas Crtl + Shift + U y verás que de forma predeterminada aparece No o bien el texto que anstes configuraste.

El TN cuando hace la validación manda el mensaje en color rojo y es en este momento cuando tu cambias el valor de No a Si

y a partir de ello se activa la autorización.

por supuesto debes tener todo el conjunto de los pasos que te detalle antes.

Espero haber aclarado.

saludos

marco_ramirez
Active Contributor
0 Kudos

Hola

Intenta con el siguiente procedimiento:

1.

if @Object_type = '13' and (@transaction_type = 'A' or @transaction_type = 'U')
begin
	Declare @Desc int
	Declare cDesc cursor for
	select T0.DiscPrcnt 
				from INV1 T0 INNER JOIN OINV T1 ON T0.DocEntry = T1.DocEntry  
							 INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode 
				where T0.DocEntry = @list_of_cols_val_tab_del and T1.U_Autoriza = 'NO'

	Open cDesc
	Fetch cDesc into @Desc
	while @@Fetch_Status = 0 
		begin
		if @Desc >= 40 
			begin
				Set @error = 1
				Set @error_message = 'Descuento mayor al autorizado. Solcite autorización'
				Deallocate cDesc
				goto Fin
			end
		Fetch cDesc into @Desc
		end
close cDesc
Deallocate cDesc
end

2. Crea un campo de usuario en la cabecera de documentos de marketing y por defecto debe tener el valor No

para que el TN te envíe el mensaje y en el campo de usuario tu puedas cambiar a Si y esto te active la autorización

3. Crea una Query con lo siguietes datos

If $[oinv.U_Autoriza]= 'No' Select 'True'

4. la Query anterior es la que vas a utilizar en la autorización

5. en la parte final del TN tienes este código.

Fin
-- Select the return values
select @error, @error_message
end

después de fin coloca : es decir debe quedar Fin: más el código que sigue

pruebalo y nos cuentas

former_member188440
Active Contributor
0 Kudos

Hola, revisa este link a ver si te sirve

[https://docs.google.com/Doc?docid=0AabenBN9motlZGMzeHN4a2hfOWZmdDdicmh0&hl=en]