Linking workflow to a custom form in sharepoint - sharepoint

I'm a relatively new sharepoint user using 2007!
I have a built a list, and using designer customised a user input form for completion. The data submitted on the form is built over a period of time and when complete, needs to be used different activities which need to be manually triggered by the user.
My user process is as follows: user completes info on new form at stage one, user updates information and completes information on edit form at step 2 (this step may be repeated if not all data available) which links to a display form to review before submission of workflows. It's from this form I need to link to the workflow initiation screen.
I have 2 x oob approval workflows set on the list, and want to navigate the user from the form to the workflow initiation screen so that they choose which workflow they want to send and when. using one of the list fields, I have populated the URL to this screen for each list ID.
However it has a & within the path so when I try to pull this data through to the form it changes this to &amp, and breaks the link! any idea of how I can work around this?
I would add, I have very little knowledge outside of sharepoint.

& is the html representation of an &, it wouldn't translate in the URL.
When you populate the URL, you can try replacing the & with %26 as that is the ASCII Hex code for &, it may work.
Hope this helps?

Related

How can I trigger a NetSuite workflow on a Form Event (Client side event)

I want to trigger a NetSuite workflow when the user sets the value of a field, but I don't want to have them submit first. The Workflow state builder looks like it has useful options but I can't get it to work.
There's some useful looking blog posts around but a lot of them seem out of date.
Update - more info
My primary issue is this one: Restrict what customers an employee can see (NetSuite)
The hack I'm currently looking at is populating a custom Transaction Column Field that I've added to a custom Time Recording form. The idea is to load this field on the UI with only valid projects (not customers as well), and this I have been able to do.
The problem is I still (as far as I can tell) still need to populate the "Customer" field, which is mandatory; I'm also assuming that if I don't do that then any time that is recorded won't go against the project. I had thought that if the user selects the project they want then I can populate the customer field with that value. I hate this as an approach but I can't see how else to do it. I do have coding experience (including JavaScript) but haven't made the leap into SuiteScript yet.
You won't be able to do this in a Workflow, as they are currently limited to only work with body level fields and cannot modify Transaction Column Fields (aka sublists).
You should be able to achieve this with a Client Side Script though.
Source (Netsuite login required).
Sublist changes will be available for transactions in the 2018.1 release sometime in Feb/Mar.

SharePoint 2010 multiple users accessing same list issue

We have a list with 1000+ phone numbers in it. This list is sorted in a specific order by due dates and other criteria. This order is very important and needs to be maintained in the solution.
We have a group of callers (roughly 4) that will be calling the numbers in this list in the order they are sorted by. These callers are to be presented with one list item at a time, via an InfoPath form, and once they make the call they will update the list item and be presented with the next list item dictated by the sort order.
Here's the problem: This would be very easy with 1 caller but with 4 callers we don't want them calling the same people more than once. So they need grab the next list item off the top of the pile that isn't already taken by another caller.
Is there a way to build a webpart (remember without Visual Studio unfortunately) that as soon as it loads would find the first list item that is unassigned and assign it to the current user?
We could accomplish this whole thing manually of course by having an admin assign all the calls each day with a large copy/paste in Datasheet View but automatic would be soooo much better.
I will mention that I DO NOT have Visual Studio so I don't have that as an option here. But I do have SharePoint 2010, SharePoint Designer 2010, and InfoPath 2010.
I hope this makes sense and any ideas, thoughts, approaches would be greatly appreciated since I've run out! Thanks!!!!!
You can develop SharePoint web parts using Visual Studio Express, but its a bit harder as you miss some of the tools that make your life easier like WSPBuilder etc.
SO - Building webparts with Visual Studio 2010 Express
Another alternative would be to use javascript client side to access SharePoints Web Services via SPService - then nothing more than notepad is required.
You're really using a wrench as a hammer with either of these approaches though, so I've got to say - how much do you value your time at? ;)
I can offer a very bodgy alternative; presuming all the items are added piecemeal (not in the same second). You could add a calculated column to assign each item at random on addition, using the following formula:
CHOOSE(MOD(SECOND([Created]),4)+1,"Operator1","Operator2","Operator3","Operator4")
I suggest a workflow that is assigned to listItem's edit; that when a caller edits its extra field like "Operating(bool)" after the calling workflow completes; the item is disabled somehow.
Only overhead of this is a caller needs to edit the item every time.
But the easy part is a listviewer webpart (oob) can be used just with a default view setting like "Operating" field is "false" only.
This is simple. On form load, instruct the form to update a status field to (let's say 'assigned') and automatically resubmit the form back. Your infopath list that pulls in the next number to call would need to exclude any that are in the assigned status. You'd also need to re-query your data connection to refresh the list each time before a call is made to grab the next available. Once the caller is finished, they can click a button that submits the form, clears the status field and closes the form.
Yo can also pull in the active items into an infopath form using a secondary data connection. There is a way to use the insert hyperlink into the form field, and make any of your fields a URL hyperlink directly to the individual item. Although you'd have to have the URL epsaved in a field in the form the item was created in. That's easy to do, you can just con at the URL with the form name.

Alter todo with sharepoint workflow webservice

I have a workflow defined in Sharepoint which collects user data. The workflow generates a form with a simple user input text box and three buttons: Cancel, Complete Task, Save draft. How can i complete this task using the workflow webservice? I can change the text box's content, the percent complete, the status etc. via the workflowservice.AlterTodo method, but I can't accomplish completing the task.
Any help is really appreciated!

How do I show which users have completed a form in a form library?

I have 10 form libraries on a Sharepoint 2007 site.
The site is for the use of 20 "Scholars". Any Scholar (or any of a dozen secretary-types who assist them) can go into any form library, cick [New] to get an Infopath Form, select the appropriate Scholar's name from a drop-down list field, fill out the rest of the form and click [Submit]. The form is then saved (with the title of the form being the Scholar name that was selected from the drop-down list).
The owners of this site want to be able to generate a report (at any given time) that lists all 20 Scholars and which of the 10 forms each has completed.
......................Form1...........Form2............Form3.........etc....Form10
Scholar Ann Adams.....completed.......not complted.....completed............not completed
Scholar Beth Baker....completed.......completed........not completed........completed
etc.
Any ideas on how to automate this?
For something like this, I would use an ItemUpdated event receiver to write details of who has updated the form to a separate audit list. Then you can simply query the audit list to get the report you need.
To implement this, first create the audit list containing fields for the form name and a user name (as well as anything else that you feel would be useful to log). Then create an Event Receiver derived from SPItemEventReceiver. The receiver will need to only work on forms libraries. Within the event receiver, override the ItemUpdated method to check of the item that has been updated is a form, and if so log the name of the form that was updated and the user who updated it to the audit list.
There is a very similar example to this at http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spitemeventreceiver.aspx, although it uses the ItemAttachmentAdded method rather than ItemUpdated.
Some other tutorials that may be useful to you are here and here.

How to automatically print a form when a new item is posted to a list in SharePoint?

How to automatically print a form when a new item is posted to a list in SharePoint?
I created a list in SP, with customized Entry and Edit forms and a workflow that connects them. Every time a new item is posted the Entry form needs to be used, but when I click submit I need the workflow not only to post the item to the list, but also generate a 'Print form' that can either saved or printed.
Considering the event, adding an item triggers an SPItemEventReceiver.ItemAdded. You would call your printing code from within this event, and deploy the functionality through a Feature.
To give a really specific answer, you'll need to explain a bit more - where should the printing occur? On the machine from which the list was modified, or some central printing location?
More generally, Sharepoint can trigger a variety of events. Ishai Sagi's blog has a user-triggered solution that may give you some ideas. You could use a Javascript event as explained here. You could even send a specially-formatted email to a computer with Outlook running, with a rule that triggers a print.

Resources