on 10-21-2010 3:54 PM
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
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola, revisa este link a ver si te sirve
[https://docs.google.com/Doc?docid=0AabenBN9motlZGMzeHN4a2hfOWZmdDdicmh0&hl=en]
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.