2008-10-24 7 views
5

Parece que cada sección del cuerpo en un informe de axapta solo puede imprimir columnas desde una sola tabla (de forma constante). Por ejemplo: Tengo un informe que tiene las siguientes tablas: SalesLine, InventTable y CustTable. Entonces me gustaría imprimir columnas de cada una de estas tablas en la misma fila. Parece que puedo hacer esto cuando coloco los campos en secciones programables, pero no cuando los coloco en secciones corporales.¿Cuál es la mejor manera de imprimir columnas de diferentes tablas en la misma fila usando la herramienta de informes de Axapta?

He encontrado algunas soluciones que son feas o no. Tiene que haber una buena y limpia forma de hacer esto?

+0

¿Qué versión de AX estás usando? –

Respuesta

4

Debe ser posible hacer esto, hay varios informes en el sistema base que funcionan de esta manera. Mire el informe SalesContractShipment en 4.0 como un ejemplo.

En su informe, cree un origen de datos para SalesLine, y debajo cree origen de datos para InventTable y CustTable. En InventTable y CustTable, asegúrese de que FetchMode esté configurado en 1: 1. Si crea un método de búsqueda personalizado, asegúrese de llamar a send() en el orden correcto. Debe enviar primero CustTable, luego InventTable, y luego SalesLine. En el diseño del informe, cree un solo cuerpo para SalesLine. Debería poder usar campos de cualquiera de las tres tablas en ese cuerpo.

Si todavía tiene problemas, puedo pensar en dos opciones. Una es crear una vista basada en esas tres tablas y crear un informe basado en esa vista. El otro es crear el informe basado en SalesLine y usar displayMethods para buscar cualquier campo que necesite de InventTable o CustTable.

0

Considere el uso de tablas temporales. Complete primero con sus datos, luego de usarlos en el informe.

1

Debe poder agregar varias fuentes de datos a un informe y luego crear un cuerpo para la primera fuente de datos que haya agregado. Haga clic con el botón derecho en el cuerpo y seleccione Nuevo control -> Campo de AnyTableThatIsADataSource. A continuación, puede agregar cualquier campo que desee e imprimirá columnas para todos esos campos.

1

Ponga todos los campos en el último SourceTable_Body y mostrará todos los campos, porque la tabla QueryRun por tabla y llena el cuerpo con cada cuerpo correspondiente, por lo que el último cuerpo tendrá todos los datos de los campos.

Cuestiones relacionadas