View company logo in SSRS in D365FO


21/06/2021- duocnt    630 Views    

MỤC ĐÍCH.

    Hướng dẫn view logo company D365FO lên report SSRS sử dụng X++.


YÊU CẦU.

  1. Company logo phải được setup trong tab "Report company logo image" của  "Legal entities".
    1. Setup logo company được đề cập bài viết Create Legal Entities in D365FO.


    NỘI DUNG THỰC HIỆN

    1. Tạo table làm dữ liệu nguồn cho SSRS.
    2. Tạo class Data provider.
    3. Tạo report SSRS.
    4. Tạo OuputMenuItem và Open SSRS Report từ user interface.


    THỰC HIỆN

    1 - Tạo table làm data cho report.

    • Tạo table với name "TutsCompanylogoTmp".
    • Chọn "TempDB" cho thuộc tính "Table Type".


    • Add vào table 1 field với kiểu dữ liệu là "Container".


    • Đặt "companylogo" cho field name.


    • Chọn "Bitmap" cho "Extended Data Type".


    2 - Tạo class data provider.

    • Tạo class với name "TutsCompanylogoProvider".


    • Extends class SRSReportDataProviderBase.


    • Tạo phương thức trả về dataset cho SSRS.
            TutsCompanylogoTmp         _tmp;
     
        [SRSReportDataSetAttribute(tableStr(TutsCompanylogoTmp))]
        public TutsCompanylogoTmp  getData()
        {
            return _tmp;
        }


    • Override Method processReport().
        public void processReport()
        {
            super();
            _tmp.clear();
           
            CompanyInfo  companyInfo   =      companyInfo::find();
            _tmp.companylogo          =       CompanyImage::findByRecord(companyInfo).Image;
            _tmp.insert();
        }



    • Sau khi tạo class data provider cần build lại project trước khi tiến hành tạo SSRS.
    • Nếu không build project, khi tạo SSRS sẽ không tìm thấy data provider này.


    3 - Tạo SSRS report.

    • Tạo SSRS report với name "TutsCompanylogoReport".


    • Right-click vào node "Datasets" => chọn "New Data Set".


    • Chọn "Report Data Provider" cho "Data Source Type".
    • Click Icon  của thuộc tính "Query" để chọn class Data Provider.
    • Tìm class "TutsCompanylogoProvider" trong dialog "Select a Report Data Provider".
    • Click "Next".


    • Chọn "All Fields" và click "OK".


    • Right-click vào node Designs => New => Precision Design.


    • Double-click vào "PrecisionDesign1" vừa tạo đẻ mở designer.


    • Clik chuột phải vào report => Insert => Image.


    • Trong dialog "Image Properties".

                +    Chon "Database" cho "Select the image source".

                +    Chọn "=First(Fields!companylogo.Value, "DataSet1")" cho "Use this field".

                +    Chọn "image/bmp" cho "Use this MIME type".

                +    Click "OK".


    • Right-click vào project và chọ "Deploy Reports".



    4 - Tạo OuputMenuItem và Open SSRS Report từ user interface.


    Góp ý kiến

    ;
    ;