cancel
Showing results for 
Search instead for 
Did you mean: 

Obligar campo empleado de ventas

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member

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,

former_member188440
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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,

Former Member
0 Kudos

Hola, muchas gracias por las sugerencias, es justo lo que necesito, ahora mi duda es como creo ese transact.. lo hago directamente en SQL? y como lo implemento en SAP. Aun estoy en fase de conocimiento de SAP y desconozco muchas funciones del programa.

Cordial saludo

former_member188440
Active Contributor
0 Kudos

Estas familiarizado con storeds? te puedo mandar un manual a tu correo del TransactionNotification

Former Member
0 Kudos

Si, gracias, por favor envialo a mi correo.

former_member188440
Active Contributor
0 Kudos

Cual es tu correo??

Former Member
0 Kudos

ferrecastillo (arroba) live (punto) com

former_member188440
Active Contributor
0 Kudos

Documento enviado

Saludos!

Former Member
0 Kudos

Recibido... gracias

Former Member
0 Kudos

Muchas gracias por el articulo, ya lo implemente y funciono perfecto..