Buen dia todos.
Espero me puedan ayudar de suma importancia.
Me pidieron un informa de stock a la fecha 30/12/2016 (ojo solo materiales activos del Almacén 01 - Principal)
Elabore una consulta para esto donde : tengo los siguientes datos :
Mi tema es el siguiente :
Me gustaría saber que hacer para que en vez de mandarme el stock actual del producto, me mande el stock de una fecha seleccionada de todos los productos en general (claro cumpliendo las características de activos inventariables y de almacen 01)
A esa consulta debe agregar un Join a la OINM, sustituye el T0.OnHand por la suma de la diferencia de los campos de entrada y salida de artículos (InQty - OutQty).
Luego en el WHERE define el periodo de tiempo con DocDate.
lo que paso fue que se tienen demasiados códigos erroneos activos, los cuales también figuran en auditoria de stock,asu vez, esta consulta me ayuda a separar códigos inactivos y activos según almacén ( sean o no inventariables.).
@Gera_Mendez
tal cual infomas procedi, pero como ves en la siguiente imagen se necesitaba saber el stock minimo, el precio promedio y la unidad de medida incluida, dado que la auditoria de stock no te arroja esos datos .
Lo bueno es que ahora sabes algo extra sobre Business One.
La respuesta de @juliosura es la ideal para tu caso, realiza un select sencillo a la tabla OINM (Select Top 10 * FROM OINM) para que puedas apreciar la información que te brinda dicha tabla y así puedas ligarla a tu consulta original.
Una opción pudiera ser por medio de un Select anidado.
Por cierto @EduarCG, haré una pausa para comentarte que tienes varios post abiertos, creo que has recibido buen apoyo en la comunidad de parte de varias personas, una manera de agradecerles su apoyo es marcando con un “me gusta” sus respuestas, es una manera de decirle: “gracias por apoyarme compañero”.
Sobre el hecho de cerrar tus temas, esto es importante para poder mantener el orden de la comunidad, así como tu has tenido estas dudas, alguna otra persona también las pudiera tener y marcar la respuesta correcta les sería de mucha ayuda. Si no lograste solucionar tus temas, no dudes en comentarlo en sus respectivos comentarios para así en conjunto poder ofrecerte nuevas ideas al respecto.
Sigue participando activamente, esto hace que nuestro foro siga activo con buenos temas.
Muchas Gracias por el recordatorio @Gera_Mendez, l oque sucede es que recién hoy el servidor volvió a la vida, y estoy enfocándome en todos los problemas que teníamos en ese entonces, actualmente tengo 2 post abiertos, estoy iniciando con las soluciones y tips brindados por los compañeros, no demorare mucho en dar una respuesta clara y concisa en cada uno de los Post.
En el generador de consultas ya tienes la OITM y la OITW, ahora coloca la OINM, con esto se hará el Join que necesitas.
Ahora copia el query, ve al SQL y el campo “T0.OnHad” lo sustituyes por “SUM(T2.InQty - T2.OutQty)” (Suponiendo que OINM es T2).
Lo del WHERE es la condición que debes colocar ya sea un rango de tiempo (haciendo uso del operador BETWEEN) o hasta una fecha específica. (…Ahh se me olvidaba: al utilizar la función SUM, deberas agrupar los demás campos haciendo uso de GROUP BY)
como veras me arroja un numero en Negativo cuando se supone según su auditoria de Stock del producto el segun fecha antes del 30/01/2016 quedaba 170 mts
@EduarCG, lo que pasa es que han habido mas salidas que entradas de ese item en el almacén seleccionado y en el período de tiempo que has definido, por eso obtienes un valor negativo.
Compañeros, recuerden que SAP maneja fechas de contabilización y fechas de creación (en el caso que nos compete)
Si generas la auditoría de stock por “fecha sistema”, jamás te arrojará stocks negativos, si generas tu auditoría de stock por “fecha de contabilización” posiblemente te arrojará stocks negativos, lo mismo pasará con el tipo de fecha que elijan en el query.
Si deseas el reporte para cuestiones contables, la fecha de contabilización es la adecuada.
Si deseas el reporte para cuestiones de inventarios, la fecha sistema (fecha de creación) te dará los movimientos tal cual se fueron registrando, asegurándote que nunca tendrás stocks negativos.
@Gera_Mendez gracias.
Ingresando los datos dados e intercambiando por fecha de creacion ( CreateDate) , me sale en positivo, pero me salta un pequeño problema , el cual es el siguiente :
Me arroja la cantidad total stock a nivel general de totos los almacenes segun fecha :
Alm 01 : 170 mst
Alm 02 : 30 mts
Alm 04 : 8674.1 mts
Me podrías decir o dar un pauta de como hacer para que solo me arroje los datos del almacén seleccionado, que en este caso seria el Alm 01 ( Principal)
Estos son mis criterios de Seleccion, pero sin embargo en Alm me ahorra la sumatoria de todos los stock de Alm segun fecha dada.
1). [Microsoft][SQL Server Native Client 11.0][SQL Server]Se especificó una expresión no booleana en un contexto donde se esperaba una condición, cerca de ‘GROUP’. 2). [Microsoft][SQL Server Native Client 11.0][SQL Server]Se especificó una expresión no booleana en un contexto donde se esperaba una condición, cerca de ‘GROUP’. 3). [Microsoft][SQL Server Native Client 11.0][SQL Server]No se puede preparar la instrucción o instrucciones. ‘’ (SWEI)
Quize probar cambiando todos los criterios donde incluya erl T1.whscode a T2.WhsCode , y me sigue saltando el mismo error
Que pena, disculpa, la tabla OINM no llama WhsCode al campo del almacén, en dicha tabla el campo es T2.[Warehouse] =[%1]
Por ello es importante también que al solicitar un apoyo, traten de estudiar las tablas, si se te proporciona la consulta, el conocimiento que adquieres es menor al que pudieras obtener estudiando la tabla tu mismo (es consejo).
Saludos, seguimos pendientes.
No olvides que una manera de agradecer los comentarios es por medio de un “me gusta”
Ya pude resolver el problema , lo que pasa es que no era Tx.WhsCode , la Tabla OINM lo tiene como Tx.Warehouse.
Creando eso me boto el resultado correcto y me quedo asi