Scenario: Users would like to be able to drill into a Vista from while in a report to get more details or change values on a form. This can be used in both SSRS reports and Crystal Reports.

UPDATE: After writing this post, we ran across documentation for Viewpoint on this functionality and a Viewpoint method of creating the links. See https://help.viewpoint.com/en/vista/vista/system-tools/reports/report-setup-and-maintenance/add-vista-deep-links-to-reports/add-a-vista-deep-link-to-a-crystal-report. This method handles spaces and other special characters.

URI Links: To get a  URI/deep link to a Vista form go to the desired form, click the Tools Menu,  then click Email Link to Record. This will load an email form that shows the URI link to the form. On a report we want to dynamically generate this links based on the values in the report.

Example # 1:

On a custom SM WIP report URI links were added to allow the user to drill all the way from Customer summary info into the SM Work Orders. This report is a Crystal Report. Below are the steps to add the links:

  1. Get the a sample link from the SM Work Order Form like viewpoint://record/SMWorkOrder/1/WorkOrder=12345
  2. Identify the variable parameters in the link. In this case they are as follows: SMCo = 1 and Work Order = 12345
  3. In Crystal Reports find the Work Order field to act as a link and do the following steps:
    • Right Click field, go to Format Field, then to the Hyperlink tab.
    • Change the Hyperlink type to a website on the Internet and then click the Formula button for the Website Address.
    • Start the URL formula as a string of the characters prior to the first parameter: “viewpoint://record/SMWorkOrder/”
    • Convert to SMCo to text without decimals and concatenate with the string above:  & toText({SMWorkOrder.SMCo},0,””) 
    • Concatenate the string between the parameters:  & “/WorkOrder=”
    • Convert the Work Order to Text and concatenate:  & toText({SMWorkOrder.WorkOrder},0,””)
    • Final Formula: “viewpoint://record/SMWorkOrder/” & toText({SMWorkOrder.SMCo},0,””) & “/WorkOrder=”& toText({SMWorkOrder.WorkOrder},0,””)
    • Change field font color to blue and underline to make it appear like it’s a web link.
  4. Test the report and links.

Example # 2:

On a custom Production Schedule report for Prefabrication work, URI links were added to the Project and Phases fields to allow the user to quickly open the project and phase forms. This is an SSRS report so the implementation varies slightly from the Crystal Report version. SSRS will open the URI in the default internet browser and prompt the user for authorization to open the Vista form. Below are the steps to add the PM Project Phases Link.

  1. Get the a sample link from the SM Project Phases form like viewpoint://record/PMProjectPhases/1/Project=11-1111./PhaseGroup=1/Phase=1234
  2. Identify the variable parameters in the link. In this case they are as follows: PMCo = 1, Project =11-1111. ,PhaseGroup = 1, Phase = 1234
  3. In Report Builder find the Phase field to act as a link and do the following steps:
    • Right Click the text in the field, go to Placeholder Properties, then to the Action tab.
    • Change the Action to Go to URL and then click the Formula button for the URL.
    • Start the URL formula with a javascript command to open a new browser tab and then the string of the characters prior to the first parameter: =”javascript:void(window.open(‘viewpoint://record/PMProjectPhases/”
    • Concatenate the Field Values for the parameters and strings between the parameters similar to the Crystal version above.
    • End the string with the final argument for the javascript command: & “‘,’_blank’))”
    • Final String: =”javascript:void(window.open(‘viewpoint://record/PMProjectPhases/” & Fields!PMCo.Value &”/Project=” & Fields!Project.Value & “/PhaseGroup=” &  Fields!PhaseGroup.Value & “/Phase=” & Fields!Phase.Value & “‘,’_blank’))”
    • Change field font color to blue and underline to make it appear like it’s a web link.
  4. Test the report and the links