Skip to main content

Add Image in RTC Reports?

Hi all,

I think I got late with this post, but I was unaware that most of us still don't know how to add reports in Role Tailored Client Reports.

So let's have a look on the same. For the demo purpose I will use standard report with ID 111.

Steps -
1) Design the Report.
2) Add a new global variable of company information in CAL Global say companyinfo as shown below.



3) Now we will get companyinfo in onPreReport Trigger and compute value of picture as its a blob field.
   Companyinfo.GET;
   Companyinfo.Calcfields(Picture).

* Add above lines in onPreReport Trigger.

4) Now we should add a Picture Box on the Sections with SourceExpr CompanyInfo.Picture.
We need to do this to have the dataset field name to be available for us in Visual Studio.


5) Let's open report layout by Tools - View Layout.
6) You will find a new entry in Dataset as shown below.


7) Now lets add this to the report.
   a) We need to add the Company Picture first as a TextBox to the body of the report.
       This will enable us to use it in the Page Header. We add this TextBox in top of the Body.


   b) We give the TextBox the following properties:
      Value: “=Convert.ToBase64String(Fields!CompanyInfo_Picture.Value)”
      Name: “CompanyPicture”
      Visibility Hidden: “True”
      Color: “Red”


8) As we all know that for anything in header we need to add code in report properties, code tab. So lets now add code there. Below is the function that will be required.

Shared PictureData as Object

Public Function GetPicture() as Object 
  Return PictureData 
End Function

Public Function SetPicture(NewData as Object) 
  if NewData>"" 
    PictureData = NewData 
end if 
End Function



9) Now let us add the Image control just as we did for the embedded scenario. Open the Toolbox and add a Image control to the Report.

10) Here are the properties that we need to set for this image control -
     Value: “=Convert.FromBase64String(Code.GetPicture())”  
     Source: “Database” 
     MIMEType: “image/bmp”

11) Add textbox to Page Header. 
Note! This textbox has to be placed above the Picture control just added
  Value: “=Code.SetPicture(ReportItems!CompanyPicture.Value)” 
  Visibility Hidden: “True” 
  Color: “Red


12) Save and import RDLC changes, and then compile report in Classic client. 

13) Run the Report from RTC Client and here is the expected output.



* Keep reading, commenting and suggesting on which topic you require post.


Thanks & Regards,
Saurav Dhyani
www.sauravdhyani.com

Comments

Popular posts from this blog

BC 21 and Higher - PowerShell Cmdlet (Replacement of Business Central Administration).

Hi Readers, As discussed in last article about deprecating of Business Central Administration, there are few common actions that we use in administration till Business Central 20. For our on-prem customers, we will still require doing activities. As Microsoft suggest we need to start using PowerShell cmdlet.    Let's see how to do those via PowerShell, or Administration Shell. I will be keep adding commands as you comment to this article.

Send Mail with Attachment From Navision.

Hi all, We have seen how to save a report into PDF and how to send mail to a customer. Let's link these two post in one i.e. Mailing statement to a customer into PDF Format. This article is part of the Series. Please Refer  Table of Content here . If you have the old objects set let me brief you what I will be changing - 

MSDYN365BC - Data Upgrade To Microsoft Dynamics 365 Business Central on premises.

Hi Readers, We have already talked about the number of steps for upgrading to Business Central on Premises from different NAV versions. After that article, I received multiple requests for an article which list down steps for Data Migration. In this article, we will discuss steps of data migration to MSDYN365BC (on-Prem) from NAV 2017. For this article, I am considering a Cronus Demo Database without any customization. For an actual upgrade project, we will have to complete object merge using compare and Merge process. After the Merge Process, the next step is data migration. Let's discuss those steps. Direct Upgrade to Microsoft Dynamics 365 Business Central (on-Prem) is from following versions - 1. NAV 2015. 2. NAV 2016. 3. NAV 2017. 4. NAV 2018.