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?
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).
Luego haces pruebas. Te recomiendo hacer esto en un ambiente de pruebas antes de ponerlo en tu base productiva.
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
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
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.
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
En vez de seguir preguntando cosas, contanos cómo te ha ido y qué avances has tenido.