I created 2 custom lists in Sharepoint 2010:
List #1: INTERNAL PROCESSES (fields: Process Title, Reference)
List #2: PROCESS STEPS (fields: Step Title, Step Description, Process Title[lookup of 1 item in previous list], Department Assigned)
I created an action in the display form for list INTERNAL PROCESSES called "Create Instance"...when user clicks on it, redirects user to
mypage.aspx?processID={itemID}
(I couldn't find a way to pass the title instead of the ID in the querystring...)
Up to here is what I have done so far.
Now, I need to accomplish the following in mypage.aspx
1) lookup in INTERNAL PROCESSES using processID received in queryString, if field Reference is not NULL, ask user to enter a value for Reference
(eg. if Reference contains the word "Member", ask user to enter the Member Name)
2) get Process Title from list INTERNAL PROCESSES for processID received in querystring
3) For each list item in PROCESS STEPS where field Process Title matches Process Title looked up in step#2 , create a new TASK list item with the
following values:
a) TASK Title = Step Title + Value entered in step#1 (if any)
b) TASK Description = Step Description
c) TASK Assigned to = Department Assigned
I'd like to avoid using code, if at all possible because I've never done it, if code is required please point me in the right direction...thanks!
hey you would not required to use code if you are good at designing SharePoint designer workflows what you would have to do is create custom action using desginer and you can invoke a wrkflow using custom action, which would create a task for you in task list for more details have a look at following article
http://manish-sharepoint.blogspot.com/2010/01/creating-custom-actions-using.html
Related
I'm passing a parameter to a PowerApp through the calling URL called ID, i.e.
https://web.powerapps.com/apps/powerappid?ID=32
When the app launches I want it to jump from BrowseScreen1 which lists all the Business Cases and go straight to the Business Case with the matching ID (a field from a SharePoint list).
I'm brand new to PowerApps but pretty sure what I need to do is called Deep Linking and I found this tutorial https://powerapps.microsoft.com/en-us/blog/powerapps-deep-linking/ and having read the comments to the article I'm trying to apply it to the OnStart property of BrowseScreen1. I don't really understand how the navigation link in the tutorial is constructed so I'm sure I'm using the wrong Navigation parameters as it always launches the first record in the list ignoring anything to do with the ID. I'm using:
If(Not(IsBlank(Param("ID"))),Navigate(DetailScreen1,
None,{ID:LookUp('Full Business Case For Review'.ID, ID =
Value(Param("ID")))}))
'Full Business Case For Review' is the name of the Sharepoint list and ID is a unique field that gets assigned to each list item.
The tutorial doesn't mention having to change anything on the detail screen but I've also wondered if I need to perhaps change the item properties there as they are currently:
BrowseGallery1.Selected
I'm feeling out of my depth and would really appreciate some help on this!
Thanks,
John
Yes, you need to change the Item property in the detail screen. This is because there is currently no way to select an item in a gallery programmatically in PowerApps.
I normally get around this by using a global variable to store the current item, so you can set BrowseSreen1.OnStart to this
If(Not(IsBlank(Param("ID"))),
Set(CurrentItem, LookUp('Full Business Case For Review'.ID, ID = Value(Param("ID"))));
Navigate(DetailScreen1, None)
)
This will store the item with ID equal to your parameter as a record type variable.
You also need to change the OnSelect property of your BrowseGallery1's template or whichever control is used to navigate to the detail screen. It will need to be something like this
Set(CurrentItem, ThisItem); Navigate(DetailScreen1, None)
Finally set the Item property in the detail screen simply to this
CurrentItem
I am new to SharePoint. I'm creating a workflow in SharePoint 2013 in which I want to iterate a List using a loop.
How to perform looping through list items in SharePoint 2013 Designer Workflows?
I'm not aware that there's any out-of-box way to get a workflow to "loop through" all entries in a list, but you can try to make two workflows bouncing back to each other until all entries are updated, here is the detailed steps,
assuming that the list that we are working on is named list_work, in this list, create a column named e.g. cargo
define another list, name it e.g. list_control,
define a column named e.g. listID,
define a column named e.g. cargo,
create one entry in the list, set the cargo to a value.
define a workflow, name it e.g. workflow_list_control, which is triggered every time the entry in list_control is updated, and in this workflow,
search for an entry in the list_work where the list_work.cargo doesn't equal list_control.cargo
if any entry is found, update the entry of list_work and set the list_work.cargo with list_control.cargo, in order to trigger the workflow_list_work (see #4 below)
if no entry is found, stop this workflow.
define the workflow that needs to be run on the list_work, e.g. named workflow_list_work, make it's triggered every time the entry in list_work is updated, and in this workflow, make sure it updates the only entry in the list_control with the ID of the entry from list_work that is being modified, only to trigger the workflow_list_control. In this step, try to put a workflow step to wait and verify the ID is properly updated, in order to allow enough time for the previous workflow_list_control properly finishes.
Every time if a looping-through is necessary, modify the entry in list_control with a different value in the cargo field.
Also refer to calculated-column-to-retrieve-total-number-of-id
You can do this in SharePoint 2013 (ONLY!) using the new "HTTP web service". The "trick" is to
Create a task that will call the HTTP Web Service and call ".../client.svc/web/lists/getbyid(<List Guid>)/items"
Return the (JSON) results in a (new in 2013 also!) "dictionary" variable
Use the "Get an Item from a Dictionary" action
"item by name or path" and enter "d/results"
select the "dictionary" variable (that you captured the results in)
output to another dictionary variable (call it "data")
Then get the count (for the loop) by using the action "Count Items in data" and output that to a variable (totalItems) to get the number of records
For the "loop" you will use the "Loop with condition"; use a variable called "index" and set it to 0. "Loop with condition" until "index < totalItems"
In the body of the loop:
"Get an item from a dictionary" use "item by name or path"
using string builder "d/results/(<index>)/".
The "Column Name to Retrieve" will be whatever column(s) you want to evaluate (like maybe "DueDate").
Note: You will have to use the "Static Name" of the column, which can be found by going to the Task List Settings and clicking the name of the column, then in the URL find the "Field=<Name>" portion.. It is that "<Name>" that you will use.
I know this is very CRUDE maybe even bordering on "useless" for alot of users, but I felt I should at least attempt a quick reply. When I have more time, I will try to edit this and format my reply better. Although, I found this because of a similar need and since I figured out a way to accomplish what I was needing, I felt compelled to at least share it the best I could, in the limited time I had available. ;) So, maybe SOMEONE will find what I have attempted to describe, "useful". :)
i am using collect keyword to get an input from the user.
now inside the collect;
i have a custom form field with the name update status.
update status - choice field - user will be able togive approved/ rejected.
now in the sahrepoint designer workflow;
collect "Name" from "Jiben" (Output to variable:collect).
i want to update a field "STATUS" in the list associated with the workflow using the input from the user ?
is there any way to do that.
i am sturggling for doing this from today morning :( please help.
Like explained here you will need to get your "Name" field via looking it up in the related tasks.
Let's say you have a collect data from user activity. "New Task". It has one custom field "MyField" (Text). It gets this data from user X and Output is set to Variable "collect". This variable will be the TaskID you want to look up.
So to set the field "Status" on your current list item, you can use a "Set Field in CUrrent Item" Activity. You only need to click the "Fx" and select the Task list where you have your collect data activity store your tasks (Association: Task List), Field from Source will be "MyField" and the Find the List Item you only need to set the Field to "ID" and the Value to "collect".
You should read some tutorials on how to design a workflow with Sharepoint Designer as there are many easy explanations and even nice sample videos explaining exactly your problem.
I am trying to write a workflow using SPD 2010 that is triggered upon item creation in a document library.
I want to set up a task that is mailed to the user in a task-mail with a subject like - Tasks - ... has been assigned to you
(which is the default task-mail that you get in case of collect data from user form).
Is there a way to present the user with values of fields of the Current Item (the creation of which triggered the workflow) in the task form, the button to which task form is provided in the task-mail?
I understand that the workflow start will first create the task for users in task list.Get the task ID and task list ID that was created for this workflow instance, and construct an URL like - http://SITE_URL/_layouts/WrkTaskIP.aspx?List=LIST_ID&ID=TASK_ID&Source=http://redirect_url_once_task_completed.aspx where WrkTaskIP.aspx is the task edit form.Send this as a href link for text in the mail body.
It would be better if you have a data entity class to store information about your object(the item field values).You can use this in your email for information.
I am attempting to pass information from a task created within a workflow to its corresponding task form. Prior to the CreateTask activity, I create an SPWorkflowTaskProperties and fill it with the usual info (title, assigned-to, etc). I also add some elements to the ExtendedProperties property. However, those custom properties never make it into the Task.
I've tried setting the property key to:
the Guid of one of my task' content
type's fields;
the internal name of
one of my task' content type's
fields;
an unrelated name (in the
hopes of getting the info into the
task's properties instead of its
fields).
Nothing works. The task, once created, contains only the built-in field values I have set. None of values I explicitly added to the extended properties show up.
The (simplified) sequence of my activities is as follows:
PrepareTask. This is a custom
activity that contains the
SPWorkflowTaskProperties
CreateTask. The task properties are bound to the one in the PrepareTask activity.
OnTaskCreated. The task properties are bound to the one in the PrepareTask activity.
While (task not complete)
OnTaskChanged
I am using WSS 3.0 SP1 and an ASPX (NOT InfoPath) task form.
I still don't know why my original solution didn't work. But I have found a workaround. My sequence of activities is now:
CreateTask
OnTaskCreated
CopyTaskItems. This is a custom
activity that puts values into my
custom task's fields, then updates
the task.
While (task not complete)
OnTaskChanged
So I have to create the task, then immediately poke values into it and update.
I hope this will help some future reader of this question.
You should be using a ItemMetadata.xml document as a secondary datasource that contains the definition of the fields that you want to pass to your task form. Something like:
<z:row xmlns:z="#RowsetSchema"
ows_Instructions=""
ows_Body=""
ows_Comments=""
ows_ApprovalStatus=""
/>
The File name is important btw.
Notice the ows_ (as it used the webservices all fields in the list will be prefixed with ows.)
Then in you infopath form, set the default value of each control you want to display this information in. Hit the fx button and insert a field or group from the secondary datasource.
A good resource: http://weblog.vb-tech.com/nick/archive/2007/02/25/2207.aspx