Reporte de Devolución con lotes Crystal SAP B1

Si te sirve Crystal tiene la opción de omitir lineas duplicadas dándole click derecho al campo opción dar formato en la pestaña de común viene la opción eliminar si se duplica.

Saludos

3 Me gusta

Buen día @Carlos_Rabiel, muchas gracias, ya probé esa opción pero no me sirve porque las líneas que suprime me las deja en blanco en el formato con espacios. Adicionalmente, en los casos de las cantidades son iguales también me las suprime y no me conviene…Creo que el problema que tengo es de vínculos entre las tablas pero no he logrado dar con la solución…

en tu query puedes usar un select distinct si son iguales todos los campos repetidos los agrupara

ummm no se donde colocarlo…:(:confused:

así como lo puse select distinct y el resto del query

Al poner el distinct luego del select ya no me duplica las líneas pero me desaparecen otros detalles del formato…
Esta es la vista con Distinct:


Sin distinct esto es lo que me pasa:

Adicionalmente para el primer artículo (TCRB…), como el lote no tiene fecha de expiración no me está mostrando otros detalles del artículo. En este caso creo que debo colocar un IS NULL pero como es una variable convertida no se como hacerlo…
Saludos

Parece que los esta suprimiendo crystal porque les deja el espacio asegurate a ver quitado los suprimir lo del isnull serias mas o menos así

Isnull((case when ISNULL(o4.ManBtchNum,’’)=‘Y’ AND isnull(o4.MngMethod,’’) = ‘A’ then ‘Código: ‘+ISNULL(o4.SuppCatNum,’’) +’ /Marca: ‘+ISNULL(o4.U_CTS_MARCAS,’’) + ’ /Presentación: ‘+ ISNULL(o4.U_CTS_PRESENT,’’) + ’ /Lote: ’ + ISNULL(o8.BatchNum,’’) + ’ /Expiración: ‘+ convert(nvarchar(max),o9.ExpDate,103)
when ISNULL(o4.ManSerNum,’’)=‘Y’ then ‘Código: ‘+ISNULL(o4.SuppCatNum,’’) +’ /Marca: ‘+ISNULL(o4.U_CTS_MARCAS,’’) + ’ /Presentación: ‘+ ISNULL(o4.U_CTS_PRESENT,’’) + ’ /Serie: ‘+ISNULL(o7.SuppSerial,’’)
else ‘Código: ‘+ISNULL(o4.SuppCatNum,’’) +’ /Marca: ‘+ISNULL(o4.U_CTS_MARCAS,’’) +’ /Presentación: ‘+ ISNULL(o4.U_CTS_PRESENT,’’)
end),'') ‘Descripcion’
1 me gusta

Gracias @Carlos_Rabiel…verifiqué lo de suprimir y nada…lo que sucede es que este reporte no lo hice yo y me estoy dando cuenta de estos dos detalle que te comento no sé como solventar…la duplicidad y los casos de la descripción de lote sin fecha de vencimiento…

Buen día Connie una consulta cuando realizar la consulta en SQL te sigue mostrando los datos duplicados o solo es directamente en el Crystal, si en el SQL te muestra la misma información eso indica que tu script tiene algún valor que lo esta duplicando, si es tu script te recomiendo que lo realices por parte e identifiques que tabla es la que te ocasionando la duplicidad.

Con la tabla identificada ya podrías tomar las acciones para que ya no te duplique la información.

Espero te sea de ayuda mi comentario y siempre cuéntanos como te fue.

Saludos

1 me gusta

Estimado @CJPG, en SQL también me lo duplica…es específicamente los casos en los que colocaron el mismo artículo en diferentes líneas para referenciar diferentes números de lote (en SAP sabemos que no es necesario duplicar las líneas pero como están poniendo al día las operaciones lo están replicando exactamente en SAP…)
En otro orden de ideas el formato me coloca en NULL en todo lo referenciado en la Descripción cuando el lote no tiene fecha de vencimiento. Entiendo que debo colocar una condición en donde hago referencia a la fecha de vencimiento pero no se como…: /Expiración: '+ convert(nvarchar(max),o9.ExpDate,103)
Muchas gracias por tu ayuda

En sql el distinc también te elimina el detalle?
El is null para esa parte seria de

Isnull(convert(nvarchar(max),o9.ExpDate,103),'')
1 me gusta

En SQL el distinc no me elimina el detalle, de hecho no me duplica las líneas como en Crystal.
Ya coloqué el Isnull para la fecha como me comentas y en SQL funciona ok…entonces el del tema es Crystal pero no se que hacer…

ya no se me ocurre algo mas mas que estarle moviendo a crystal o hacer otro reporte lo difícil es el query y ya lo tienes

Si…en eso estoy…ya a punto de hacer el reporte desde cero…gracias por tu ayuda

:coffee: Pasaba por aquí… muy lindo debate …

Solo una observación, @Connie y @Carlos_Rabiel, revisen éste mensaje para aprender a formatear código en sus mensajes del foro. :+1: Se los recomiendo, es muy simple, y le agrega muchísimo valor al debate que los códigos estén formateados.

No les distraigo más, no es necesario que respondan a este mensaje. Éxitos a todos.

1 me gusta

Connie

Cual es el propósito del informe porque si un articulo aparece 2 veces en la entrega es correcto que la query que pusiste lo muestre, pero todo depende del propósito del informe.

Saludos,

Estimado @PBECERRA,
En este caso la necesidad de duplicar surge por el formato anterior de la entrega que tenían en esta empresa, el cual para expresar diferentes números de lote para el mismo artículo duplicaban el mismo. Para registrar las operaciones exactamente al origen han duplicado el artículo en el despacho, entonces ya el reporte lo que hace es que me pone 4 líneas en vez de cuatro.
Yo les he dicho que con SAP no será necesario hacer eso porque no es necesario duplicar los artículos en la entrega para ingresar diferentes números de lote.
La verdad creo que este caso difícilmente se presentará en un futuro pero quería saber si existe la manera que no me aparezcan 4 líneas en lugar de 2…
Gracias por tu ayuda,
Saludos,

gracias @SidV, lo había visto en otros mensajes pero no sabía como formatearlos…efectivamente mis mensajes parecen un chorizo jajajaja gracias!

@Connie las sentencias inner y left antes de join generalmente sirven para unir dos tablas sin que se pierda información de previas asociaciones, pero tiene el inconveniente que si no son bien administradas provocan la duplicidad de registros. Es importante tener muy claro dos conceptos para realizar la asociación que es la que se relaciona despues del ON:

  1. llave foránea en una de las tablas que marca la relación entre las dos.
  2. y filtros de negocio, que son los que definen la información que se requiere, estos generalmente son constantes o son ingresados por los usuarios a nivel de interfaz.
1 me gusta

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