These are a few forms on a WF created to route engineering documents to responsible engineers. This is the WF assignment form where a user can select responsible users for each step. Only the step that is next in the WF is required. If a step is left blank a similar form is sent to users in a request data WF action when the blank step is reached in the WF.
A flexi-task is assigned to the responsible user and contains all the information needed to Route the line. This is a custom form on a flexi task. The Package ID is a look up into another list that contains reference documents (created with a different form). The PID is a url to an App used by engineers. Once completed there is a WF on the task list that moves the attachment to a library and stores the URL to the document back to my list.
After the first task, each form contains an isometric button. This button triggers a function that calls an ActiveX control, and if the software is installed, opens and checks out the PDF from the first form that was moved to the library into the app. In some cases a complete new pdf must be uploaded. I use custom validation that calls a function and compares the name of the attachment stored in the list to the new attachment being uploaded. That enforces the name to stay the same and ensures the file will be a new version once the workflow on the task list moves the attachment to the library.
Moving forward we are looking into adding a button that will link to a new form on a separate list and pass variables in a query string. Essentially creating an auto-fill from this forms data.