SOLIDWORKS PDM Hyperlink Query
We have seen many instances where a SOLIDWORKS PDM administrator would like to provide hyperlinks to files inside the vault. The hyperlinks would be used to quickly open files inside the vault from 3rd party applications like an ERP system.
Problem: you need to use a special syntax link for your hyperlink, otherwise the file you need will not automatically cache into the explorer folder on your PDM client. In other words, you cannot use “C:Vault NameFolder Namefilename.sldprt” as your link. If the file is not already cached, the user will get a “file not found” error. The following syntax is required in a URL link:
- <vaultname> is the name of the file vault
- <ProjectID> is the database ProjectID of the folder where the file is located in the vault
- <DocumentID> is the database DocumentID of the file
<action> is one of the following:
- open – Opens the file in associated application
- view – Opens the configured “Viewer” application for the file
- explore – Opens an explorer window in the folder the file resides and selects the file
- get – Triggers a Get of the file to the local file vault view
- lock – Checks out the file
- properties – Brings up the file properties
- history – Brings up the file history
If you simply need a way to copy a hyperlink to the clipboard, in SOLIDWORKS PDM Professional, they can use an add-in (see SW Solution S-037515). From this add-in, the user can right-click and copy the URL to the clipboard. With SOLIDWORKS PDM Standard, there are no add-ins, so this method is not possible. In addition, some administrators want a way to automatically query the PDM vault to send the hyperlink to their ERP (or other) application. Below, I have included a query that can be run in SQL. This query can be used to populate a spreadsheet or be used to populate other systems.
SELECT Documents.Filename, CONCAT(‘conisio://SolidWorks PDM Vault/open?projectid=’,Projects.ProjectID,’&documentid=’,Documents.DocumentID,’&objecttype=1′) AS ‘Document Link’
FROM Documents INNER JOIN
DocumentsInProjects ON Documents.DocumentID = DocumentsInProjects.DocumentID INNER JOIN
Projects ON DocumentsInProjects.ProjectID = Projects.ProjectID
WHERE (Documents.Deleted = 0) AND (Projects.Deleted = 0)
This query simply returns a listing of all hyperlinks. Feel free to alter to search for a hyperlink based on filename or other PDM properties. This can be used for SOLIDWORKS PDM Standard and Professional! Try it out and let us know how it goes.
For more information, visit the InFlow Technology Website!