2008-10-24 14 views
5

Dường như mỗi phần nội dung trong báo cáo axapta chỉ có thể in các cột từ một bảng duy nhất (nhất quán). Ví dụ: Tôi có một báo cáo có các bảng sau đây: SalesLine, InventTable và CustTable. Sau đó, tôi muốn in các cột từ mỗi bảng này trên cùng một hàng. Có vẻ như tôi có thể làm điều này khi đặt các trường trong các phần có thể lập trình nhưng không phải khi tôi đặt chúng trong các phần nội dung.Cách tốt nhất để in các cột từ các bảng khác nhau trên cùng hàng bằng công cụ báo cáo Axapta là gì?

Tôi đã tìm thấy một vài cách giải quyết kém hoặc không hiệu quả. Có phải là một cách sạch sẽ tốt đẹp để làm điều này?

+0

Bạn đang sử dụng phiên bản AX nào? –

Trả lời

4

Có thể thực hiện việc này, có một số báo cáo trong hệ thống cơ sở hoạt động theo cách này. Hãy xem báo cáo SalesContractShipment trong 4.0 làm ví dụ.

Trên báo cáo của bạn, hãy tạo nguồn dữ liệu cho SalesLine và theo đó tạo nguồn dữ liệu cho mỗi InventTable và CustTable. Trên InventTable và CustTable, hãy đảm bảo FetchMode được đặt thành 1: 1. Nếu bạn tạo phương thức tìm nạp tùy chỉnh, hãy đảm bảo bạn gọi send() theo đúng thứ tự. Bạn nên gửi CustTable trước, sau đó là InventTable, sau đó là SalesLine cuối cùng. Trên thiết kế báo cáo, hãy tạo một phần thân cho SalesLine. Sau đó, bạn có thể sử dụng các trường từ bất kỳ bảng nào trong ba bảng trong phần thân đó.

Nếu bạn vẫn gặp sự cố, tôi có thể nghĩ đến hai công việc xung quanh. Một là tạo chế độ xem dựa trên ba bảng đó và tạo báo cáo dựa trên chế độ xem đó. Cách khác là tạo báo cáo dựa trên SalesLine và sử dụng displayMethods để tra cứu bất kỳ trường nào bạn cần từ InventTable hoặc CustTable.

0

Cân nhắc sử dụng các bảng tạm thời. Trước tiên hãy điền dữ liệu vào dữ liệu của bạn, thay vì sử dụng trong báo cáo.

1

Bạn sẽ có thể thêm nhiều nguồn dữ liệu vào báo cáo, sau đó tạo một nội dung cho nguồn dữ liệu đầu tiên mà bạn đã thêm. Nhấp chuột phải vào phần thân và chọn New Control -> Field From AnyTableThatIsADataSource. Sau đó bạn có thể thêm bất kỳ trường nào bạn muốn và nó sẽ in các cột cho tất cả các trường đó.

1

Đặt tất cả các trường trong SourceTable_Body cuối cùng và nó sẽ hiển thị tất cả các trường, vì bảng QueryRun theo bảng và điền nội dung với từng phần tử tương ứng, vì vậy phần cuối cùng sẽ có tất cả dữ liệu của trường.

Các vấn đề liên quan