Error en lineas de Crystal Reports. SAP B1 HANA

Buenos dias compañeros, solicitando de su ayuda,
estoy realizando un formato de factura en Crystal pero al poner la informacion de la tabla me arroja muchas veces la misma linea del articulo.

Muchas gracias, :grinning:
Saluditos :raised_hand_with_fingers_splayed:

1 me gusta

puedes compartir tu query que pusiste como comando? ya puede por ahi que te este duplicando, amenos que tengas el reporte por tablas, eso explicaria mucho. :joy::joy::joy::rofl:

Tienes que revisar como tienes relacionado tus tablas en ese reporte.

1 me gusta

gracias a ambos, Pues no se como lo tenga haha solo arrastre el campo de la tabla INV1 … en total y en descuento pondré una formula…

esta pantalla les sirve??

Saludos!!!

1 me gusta

Hola @LilianaN,
Podrías enviar como tienes las relaciones de las tablas, o sólo utilizas la INV1?
Puedes ver cómo están relacionados desde la barra de herramientas --> Base de datos --> Asistente de base de datos --> Vinculos.

Posiblemente falta realizar algún join.

Saludos.

1 me gusta

de echo yo te decia como hiciste el reporte, con tablas o con un comando (se me facilita mas comando a mi)

1 me gusta

de echo ya cheque los vinculos y no tienen hahah ninguna tabla… :joy:

@Daniel_Torrez me pudieras dar un ejemplo de como seria por comando??

1 me gusta

Deberían existir relaciones entre tus tablas de lo contrario te va a traer una infinidad de registros.

por comando es el query tal cual, yo utilizo el siguiete para facturas:

select
T1.[PriceBefDi],
t0.docentry
,t0.docnum
,t0.cardcode
,t0.doctime
,T12.SeriesName
,t8.refdetails
,T10.ApprovYear
,T10.ApprovNum
,t10.remark
,t5.freeZoneNo
,t0.edocnum
,t0.docrate
,t0.docdate
,t0.docduedate
,t0.CreateTS
,t0.numatcard
,t0.cardname
,t0.lictradnum
,t0.doccur
,T2.PymntGroup
,t8.phone1
,t0.paytocode
,t0.Address
,t3.streetb
,t3.streetnob
,t3.blockb
,t3.cityb
,t3.zipcodeb
,t3.stateb
,t3.countryb
,t3.countyb
,t0.shiptocode
,t0.Address2
,t3.streets
,t3.streetnos
,t3.blocks
,t3.citys
,t3.zipcodes
,t3.states
,t3.countrys
,t3.countys
,t4.street
,t4.streetno
,t4.block
,t4.city
,t4.zipcode
,t4.state
,t4.country
,t4.county
,t5.TaxIdNum
,t5.compnyname
,t1.visorder
,t1.itemcode
,t1.quantity
,t1.UnitMsr
,t13.salpackun
,T13.SalPackMsr
,t1.dscription + ' ' + T1.Freetxt as dscription
,t1.price
,t1.Discprcnt
,t1.linetotal
,t1.TotalFrgn
,t7.BatchNum
,t7.SuppSerial
,t7.intrserial
,t7.indate
,t6.quantity
,t0.DiscSum
,t0.DiscSumFC
,t0.VatSum
,t0.VatSumFC
,t0.WTSum
,t0.WTSumFC
,t0.doctotal
,t0.doctotalfc
,T0.[DpmAmnt]
,T0.[DpmAmntFC]
,T0.[DpmVat]
,T0.[DpmVatFc]
,T9.[SlpName]
,t0.SignMsg
,t0.SignDigest
,t0.comments
,T11.[TrnspName]
,t5.TaxRegime
,t16.NcmCode
,t16.Descrip
,t15.pmnttype
,T15.Descript
,t0.U_B1SYS_MainUsage
,t99.ReportID
,t99.U_B1SYS_SignMsg
,T0.U_ALG_MetPago
,T0.U_ALG_LugExped
,(SELECT  TL.TaxRate  FROM INV4 TL WHERE T1.[DocEntry] = TL.[DocEntry] AND T1.LineNum = TL.LineNum )   As TaxRateImp
,(SELECT  TL.TaxSum  FROM INV4 TL WHERE T1.[DocEntry] = TL.[DocEntry] AND T1.LineNum = TL.LineNum )   As TaxSumImp
,(SELECT  TL.BaseSum  FROM INV4 TL WHERE T1.[DocEntry] = TL.[DocEntry] AND T1.LineNum = TL.LineNum )   As BaseSumImp
,(SELECT  TJ.Rate  FROM INV5 TJ WHERE T1.[DocEntry] = TJ.[AbsEntry] AND T1.LineNum = TJ.LineNum )   As RateRet
,(SELECT  TJ.TaxbleAmnt FROM INV5 TJ WHERE T1.[DocEntry] = TJ.[AbsEntry] AND T1.LineNum = TJ.LineNum )   As TaxbleAmntRet
,(SELECT  TJ.WTAmnt  FROM INV5 TJ WHERE T1.[DocEntry] = TJ.[AbsEntry] AND T1.LineNum = TJ.LineNum )   As WTAmntRET
,TK.U_B1SYS_FactorType As FactorTypeRET
,TK.WTName As NameRET
,(SELECT TN.U_B1SYS_FactorType FROM OSTC TN WHERE T1.TaxCode = TN.Code) As FactorTypeTras
,(SELECT TN.Name FROM OSTC TN WHERE T1.TaxCode = TN.Code) As Name
, T1.LineNum



from 
OINV T0  
LEFT JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry 
INNER JOIN OCTG T2 ON T0.GroupNum = T2.GroupNum 
INNER JOIN INV12 T3 ON T0.DocEntry = T3.DocEntry
LEFT JOIN ibt1 t6 ON t6.baseentry=T0.Docentry and t6.baselinnum=t1.linenum and t6.itemcode=t1.itemcode and t6.WhsCode=t1.WhsCode and t6.cardcode=t0.cardcode
LEFT JOIN oibt t7 ON T6.BatchNum = T7.BatchNum and  t6.itemcode=t7.itemcode and t6.WhsCode=t7.WhsCode     
INNER JOIN ocrd t8 ON t8.cardcode=t0.cardcode
INNER JOIN OSLP T9 ON T0.SlpCode = T9.SlpCode
LEFT JOIN NNM4 T10 ON T0.ESeries = T10.ESeries
LEFT JOIN OSHP T11 ON T0.TrnspCode = T11.TrnspCode
INNER JOIN NNM1 T12 ON T0.Series = T12.Series
LEFT JOIN OITM T13 ON t1.itemcode=t13.itemcode
LEFT JOIN opym t15 ON t15.PayMethCod=t0.PeyMethod
LEFT JOIN ECM2 t99 ON t99.SrcObjAbs=t0.DocEntry and t99.SrcObjType=13
LEFT JOIN oncm t16 ON t1.NCMCode=t16.AbsEntry
LEFT JOIN INV5 TJ ON T1.[DocEntry] = TJ.[AbsEntry]
LEFT JOIN OWHT TK ON TK.WTCode = TJ.WTCode


,adm1 t4,oadm t5

where t0.docentry={?DocKey@}

Bueno ese es el que usan actualmente donde estoy pero basicamente es no usar tablas, por comando es igual que hacer un query y asi te ahorras tener campos de mas y solo tener los necesarios para el reporte, espero no cnfundir, saludos.

y esta Comando donde lo generas??
o como lo mandas llamar o como funciona?? , ay disculpa peor soy totalmente nueva en esto… :grinning:

Saludos :raised_hand_with_fingers_splayed:

1 me gusta

@LilianaN si aun no tienes experiencia en SQL te recomiendo siguas haciendolo con el wizard del CR, es mas facil y el ya te propone las relaciones necesarias para poder hacer tu reporte, a veces solo es hacerle pocas modificaciones pero es mas funcionable si eres inexperta en el tema. Espero pueda seguir apoyandote en lo que requieras.

1 me gusta

un comando es un query y podrias generarlo en el query manager de SAP (despues de ejecutarlo copias el codigo y lo pasas a un comando en crystal) pero como menciona @juliancab si vas comenzando empieza por las tablas, aun que no estaria mal que fuera aprendiendo lo basico de consultas para despues aplicarlo en formatos, es como que mas avanzado por comando por el tema de obtener un valor valores en especifico, creo tengo una carpeta de formatos que hice en mi aniguo empleo (donde trabajaba con HANA) si lo encuentro te los paso.

Si la vdd me ayudaria mucho muchas gracias,!!!

ya estuve haciendo prueba con las relaciones de las tablas y realice algunas. pero ahora me trae toda la información de todas las facturas ejemplo:

Error%20detalle

al querer realizar la relacion de OINV.DocEntry-- INV1.DocEntry … me marca un error y me desconecta la BD…

Alguna idea??
Saludos!!

1 me gusta

mmm esta raro, eso que mencionas pero para que te tenga 1 solo resultado (1 sola Factura) necesitas crear un parametro en el crystal por lo generar este se llama DocKey@ y es igual al DocEntry de la OINV, con esto al montar tu formato y correrlo tomara el DocEntry de la factura en la que estas ejecutando el layout.

si exacto tengo el DocKey en función y aun así me toda la Info de todas las facturas

1 me gusta

te pide el DocKey cuando el das vista previa?

en tu caso deberia de quedar algo asi:

en el primer paso lo filtras, en el segundo te deben de aparecer todos los campos que tienen, en tu caso seleccionas OINV.DocEntry en el paso 3 seleccionas que sea igual y en el paso cuatro seleccionas el parametro que debiste haber creado y debe ser de un tipo o valor INT, con eso te deberia de funcionar.

1 me gusta

siii lo pide y la otra informacion, pero estoy verificando la demas informacion de la factura le cambio el DocKey … solicito otro y la informacion no se actualiza en Crystal lo pase a SAP y ay si me trae la informacion correcta ero el detalle sigue saliendo igual.

si Así lo tengo configurado como tu lo muestras en la imagen…