on 08-12-2010 6:02 PM
Buen dia.. alguien me puede ayudar en decirme como hago para que en la orden de venta se obligue el campo de Empleado de ventas y que cuando se cree la factura lleve este valor, pues se requiere para ejerceer control sobre las personas que realizan ventas.
Cordial saludo
Estimado,
Existen alternativas para el caso que ud. plantea. Por ejemplo, es posible asignar a cada usuario un Empleado de Ventas, de modo que al abrir cualquier documento este dato sea ingresado automáticamente. El punto es que este caso sirve cuando cada vendedor tiene su propio usuario en SAP Business One y con ello solo tendría que controlar que cada usuario no pueda cambiar el vendedor.
Esto se hace en Gestión --> Definiciones --> General --> Usuarios --> Valores Propuestos por usuario.
Una segunda alternativa es validar por Transaction Notification, que el documento deba necesariamente tener un vendedor
IF (@object_type='17'AND @transaction_type = 'A')
begin
declare @DOC_VEN INT
SET @DOC_VEN = (SELECT T0.SlpCode FROM ORDR T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del)
IF @DOC_VEN = -1
BEGIN
SELECT @ERROR = 1
SELECT @error_message = ' FALTA INGRESAR "Empleado de ventas" (Vendedor) '
END
end
Este código valida eso, más no valida que sea el vendedor A, B o C quien aparezca en el documento.
Espero te sea de ayuda
Saludos Cordiales,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Apoyando lo que Paul sugiere, creo que con mi propuesta se complementa muy bien tu requerimiento.
Por un lado, haciendo uso del codigo de Paul para validar que dicho campo no este vacio te propongo lo siguiente
Create una tabla de usuario que "amarre" al usuario con su empleado de ventas. De tal forma que con una busqueda formateada (haciendo uso de otro campo de usuario) valide que si el usuario es por ejemplo "manager" y el empleado de ventas es EV01, te coloque un valor en dicho campo, con esto obligas a que solo los usuarios coloquen el empleado de ventas que les corresponde, obvio para que esto trabaje y te permita crear el documento, este campo de usuario lo creas de tipo obligatorio.
La busqueda formateada la configuras para que se actualice regularmente.
El codigo seria por ejemplo algo asi
DECLARE @USUARIO AS INT
SELECT @USUARIO = $[USER]
SELECT u_EmpVent FROM [@TMP_EMP] T0 INNER JOIN OUSR T1
ON T0.U_USER = T1.USER_CODE
WHERE T1.INTERNAL_K = @USUARIO AND U_EmpVent = $[OQUT.Slpcode]
Donde
@TMP_EMP es tu tabla de usuario
u_USER es tu usuario (mismo codigo que SBO)
Espero te sirva
Hola...
Creo que no es necesaria la creación de una tabla de usuario. Solo bastaría con crear un campo de usuario en la tabla de vendedores, en el cual se indique el número o código de cada usuario (para tener los códigos de usuarios solo ejecuta un SELECT a la tabla OUSR).
Luego en la validación habría que comparar el usuario asociado al vendedor ingresado en el documento contra el usuario que está creando el documento.
Saludos Cordiales,
User | Count |
---|---|
89 | |
7 | |
7 | |
4 | |
4 | |
3 | |
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.