cancel
Showing results for 
Search instead for 
Did you mean: 

Modelo de autorización basado en consulta

Former Member
0 Kudos

Tengo problemas para realizar un procedimiento de autorización.

Necesito que pida una autorización cuando la descripción del documento sea flete, o bien cuando sea servicio. Intenté con esta consulta, pero me marca error.

SELECT DISTINCT 'TRUE' Where $[OPOR.doctype] = 'S' or $[POR1.dscription] like '%flete%'

Accepted Solutions (0)

Answers (2)

Answers (2)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenas tardes

Lamentablemente por consulta formateada es imposible recorrer las lineas del documento cuando está en modo "creación", solo cuando ya está creado puedes hacerlo.

Saludos

Former Member
0 Kudos

¿Existe alguna otra forma en que pueda realizar esto? realmente necesito que funcione con el documento en pantalla, y el servicio determinado

felipe_loyolarodriguez
Active Contributor
0 Kudos

La forma en la que lo he implementado es la siguiente:

     Primero creo un campo de usuario llamado "Autoriza" con 2 valores (Si, No).

     Segundo, creo un procedimiento de autorización  de que si el campo "Autoriza" es igual a "Si", pasa por aprobación.

     Tercero, creo un transacion que obligue al usuario a marcar el campo "Autoriza" como "Si" cuando mi condición se cumpla, en este caso cuando la descripción sea flete, algo como esto:

PseudoCodigo:

si (select contar(descripcion )from detalle where Key=@Key)>0 y (selecr Autoriza from cabecera where key=@key)<>'Si'

go

     error = 'El  documento debe ser autorizado, marque el campo como SI'

end

Saludos

Former Member
0 Kudos

Fanni,

Si entiendo bien tu requerimiento, te sugiero crear un campo de usuario con las opciones SI o NO y que este sea obligatorio por un SP, para cuando el usuario seleccione la opción "NO", este no pase a procedimiento y cuando sea SI y cumpla las condiciones que requieres (Descripción o tipo de documento), se dispare el procedimiento.

Si esta opción es viable, también debes pensar en que el campo de usuario no se pueda modificar para evitar que usuarios curiosos lo modifiquen; igualmente llevas la trazabilidad a través del log de modificaciones

Espero sea de tu ayuda, que tengas buen día

Slds,

IFV

Former Member
0 Kudos

Hola Fanni

Prueba con la siguiente consulta, la probé y me funcionó:

SELECT DISTINCT 'TRUE' from OPOR inner join POR1 on POR1.DocEntry=OPOR.DocEntry where OPOR.DocType = 'S' and POR1.Dscription like '%flete%'

SLds

AMMS

Former Member
0 Kudos

Hola Ana, si el tema aquí es que debe tomar el documento en pantalla y esa consulta no me devuelve el resultado obtenido.