Etapa de autorizacion con condicion en query

Hola buenas tardes,

Necesito hacer una etapa de autorización para una nota de credito se hacer el proceso todo bien, pero el detalle esta en que necesito que sea autorizado despues de 8 dias de haberse creado el documento , no se si me explico…que al momento de querer crear la nota si ya pasaron los 8 dias de haber sido creada la factura es cuando salta la autorizacion… me comentaron que debia ser via un query pero no se como realizarlo espero puedan apoyarme, gracias!!!

Hola estimado.
Una pregunta: ¿ La NotaCredito la crean en base a la factura desde la opcion “copiar a” (posicionado en la factura) o desde la opcion “copiar desde” posicionado en la NC ?, o la crean de algun otro modo diferente?

1 me gusta

Que tal , asi es se crea en base a la factura con “copiar a nota de credito” cual seria el metodo para crear dicha autorizacion?? gracias

Inicialmente debes crear una Busqueda Formateada en el query manager, y colocarle un nombre: por ejemplo: AutorizacionNC

El query de dicha BF seria algo similar a esto:

SELECT 
CASE WHEN DATEDIFF(day, OI.docdate, getdate()) >=8 Then 'TRUE' else 'FALSE'
FROM OINV OI 
WHERE OI.docentry = $[RIN1.baseentry.0]

Luego vas a los procedimientos de autorizacion, pestaña: condiciones de allí llamas tu BF llamada: autorizacionNC (en la imagen aparece el nombre de una BF que tengo aqui).

autorizacion1

Luego haces pruebas. Te recomiendo hacer esto en un ambiente de pruebas antes de ponerlo en tu base productiva.

Saludos.

4 Me gusta

Muy bien Sau!.. tenia algo pensado, pero me faltaba unos detallitos del Query. Excelente.

1 me gusta

Hola nuevamente ya realice la prueba pero me manda este error “Se a producido un error interno (-1004)” mensaje [131-183] y si genera la NC saben que podra ser? les agradeceria mucho la ayuda estoy en SAP 8.82

¿Configuraste las otras tres pestañas: ?

  1. Autor
  2. Documentos
  3. Etapas

Autor: Donde agregaremos a los usuarios que intentaran crear el documento a autorizar.

Documentos: Donde encontraras los documentos a los que se puede agregar el modelo de autorización.

Etapas: Que es donde agregaras la etapa que antes creaste, es decir quienes autorizaran, estos usuarios están dentro de la etapa o etapas que agregaras aquí. (La etapa la creas en Gestion --> procedimientos de autorizacion --> Etapas de autorizacion)

Si claro que si, en la etapa de autorizacion esta el usuario que debe autorizar, los autores puse a dos el manager y otro usuario, en Documentos active la casilla de NC, seleccione la etapa creada y en las condiciones la BF que se creo…

una pregunta en el query la parte que dice OI ( OI.DocDate) es como una base temporal donde va y busca el documento…tengo poca experiencia en SQL podrias explicarme el query se sacar reportes basicos y es por eso que se me complica un poco en entenderlo, de antemano gracias por tu ayuda

El query deberia quedar así:

SELECT  TOP 1 
CASE WHEN DATEDIFF(day, OI.docdate, getdate()) >=8 Then 'TRUE' else 'FALSE' END
FROM OINV OI 
WHERE OI.docentry = $[RIN1.baseentry.0]

Te explico:
El top1, hará que SQL te retorne un solo valor del query.
El case when (es como un if) es como un condicional si se cumple retorna TRUE sino FALSE
El FROM es la tabla que estas consultando (en esta caso la OINV=facturas)
El Where es el filtro que estas aplicando, en este caso SAP B1 en el campo baseentry de la TABLA ORIN=NC.

Si tu factura tiene varias lineas retorna varios resultados por eso el error. Y tambien por el END que me hizo falta al final del CASE WHEN.

Te recomiendo este sitio, muy bueno para tutoriales.

h_tps://www.w3schools.com/sql/default.asp

Espero te sirva.
Saludos.

1 me gusta

hola!! fijate que ya lo hice tal cual , pero me sigue arrojando el mismo resultado me manda ese error y despues genera la nota de credito

estoy poniendo de esta manera el query

SELECT TOP 1
CASE WHEN DATEDIFF(day, OINV.DocDate, getdate()) >=8 Then ‘TRUE’ else ‘FALSE’ END
FROM OINV
WHERE OINV.DocEntry = $[RIN1.BaseEntry.0]

Hola estimado:

Usas SAP B1 HANA o SAP B1 sobre MsSQL ?
Revisaste el link que te envie del curso tutorial de SQL ?

Que tal , uso SAP B1 sobre SQL tenemos todavia la versio 8.82 de sap estamos por migrar en un mes…y si , si le he dado una checada a los tutoriales de ahi, como te comento se hacer reportes basicos en sap pero cuando ya vienen involucrados los CASE o IF es cuando se me complica…no se mucho de programacion

Carlos, lo que el compañero te pregunta no es sobre la versión de Business One, sino sobre qué base de datos usas para B1. Si usas MsSQL, o Hana. Son dos tipos de base de datos distintas, y las queries podrían cambiar si usas una u otra.

@Carlitosway, no te tomes a mal lo que diré, pero debes sentarte y ponerte a practicar si deseas aprender.

Aquí los compañeros te han pasado código y hasta enlaces a tutoriales SQL, ver por ejemplo este mensaje.

Hay que ponerse a leer, estudiar, practicar, y volver a empezar :+1:
En vez de seguir preguntando cosas, contanos cómo te ha ido y qué avances has tenido.

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.