SharePoint Nintex Workflow Run Multiple Conditions - sharepoint

I was hoping you could help me. I have a calendar in SharePoint 2010 that I want to run a Nintex Workflow when the following conditions are true:
A new item is created
The "Type of Leave" field equals "Vacation". This field I created as just a category for the types of requests.
The date that the item was created for already has an entry with the "Type of Leave" field equaling "Vacation."
The use of this will be that the first person to enter vacation on a day will be automatically granted. But if more than one person enters vacation on the day that another vacation day is on, it will go through an approval process through their manager.
Here's what I've tried/reviewed:
- Using a Condition within a workflow. I can't find an option that would complete this.
- I did try looking on line searching for different solutions. I've watched some tutorials but nothing with this kind of solution was present.
- One thought I did have was to have an additional calculated column that counted how many entries for the same day with "Vacation" and then use that in a condition if the column was greater than 1 but I couldn't figure out the syntax.
This is on SharePoint 2010.
Thank you!

have you considered using the rest interface to query the list from nintex:
http://msdn.microsoft.com/en-us/library/office/ff521587(v=office.14).aspx
You can call this service from nintext using the call web service action.
Apply the filters on the url as per documentation above and count the records returned you can then include that in the nintext condition.
I am not sure if Nintext supports calls to Restfull services (from memory i think it does).
If not, you can use the Soap web service, same principle as above just the parameters to call it are slightly more complicated:
http://msdn.microsoft.com/en-us/library/lists.lists.getlistitems(v=office.12).aspx

I don't think there's an need for REST. Once your workflow starts, query the list for items matching the current item booking date and put the result in a collection. You can query the collection length, and if it's >0 you can use that condition to steer the logic of your workflow.

Related

Is there a way to use Sharepoint version history to make a calculated column value?

I cannot see a way to do this natively, but essentially I would like to tap into the version history for a specific field value to calculate the difference between the current value and the last entered value.
Scenario:
Business user will update a numeric value in a column for each list item once a week to a cumulative amount. (i.e. Sales made to date)
I am currently able to see in the version history what the last entered value was, who entered it, and when it was entered. I want to know if there is a way to access this information in the form of a calculated column to find this difference (i.e. sales made this week). The solution I am thinking is adding another column for "Total Sales Last Week" and have the user manually update that when they update "Total Sales This Week" then have a calculated column to just subtract these values. However, this seems tedious since the information is already in Sharepoint. If there is a way to do this either with a calculated column, PowerAutomate flow or another method please let me know.
It is not possible to capture the Version History using calculated column. REST API is the only option that will be helpful to fetch these details. Considering this, there are two solutions that I can suggest here:
Using REST API
Create an additional column in your list and update it with the data that you will capture from version history using SharePoint REST API. Here, Rest API will be used to fetch the version history and also to update the list item.
As a trigger event to execute this code, Either you can setup a button on the page (if using any custom screen) or set this to execute periodically.
Using REST API in Power Automate (Recommended)
Power Automate/MS Flow doesn't provide any direct connector to fetch the version history but you can use the HTTP request connector which will help you to execute the SP rest call to fetch the version history.
Once you have version history data from your HTTP request call, you can use that to update the column in your list using the same power automate in next action.
This solution will be more useful as you don't need to setup any trigger event as mentioned in the first solution but instead of that you can simply configure this Power Automate to run as and when list item is updated and you will be having immediate result in your list.
You can refer to this link to check how to get data from HTTP request using Power automate and you can also refer to this link which will help you to understand how to get version history using SharePoint rest API.
I hope this will be useful information for you to achieve your goal.

How to filter Sharepoint list in Flow by current date plus days?

I've got a Sharepoint list tracking items and renewal dates associated with them. I want to utilize MS Flow to get just the items from that list (which will eventually have about 200 items in it) that have a renewal date 60 days from now, and send an email with the info from the list. This would recur every day.
The recurring feature works fine, as does the list and email.. My issue is with filtering the list down. I had hoped to be able to use views I created in the list, couldn't find a method for that, so I've resorted to attempting to utilize the ODATA filtering option.
I use the AddToTime feature before grabbing the list to get the 60 days out date (which is returning the correct value based on the error string), but no matter what I get invalid expression when it runs on the filter.
Any guidance on this?
This is Sharepoint Online and Flow Online. An example query string that I've used is Renewal_x0020_Date eq [insert the output from the Add to time flow item before].
RESOLVED!
Turns out, all I had to do was place single quotes around my object for the calculated date/time in my ODATA filter.

SharePoint send notification by assignation

I created in SharePoint a list. It has several columns, one of these columns is called assined to. It contains one or more person.
What i want, is that an email is send to the new person/s, if a new person is added to this column.
Now i searched a little bit, and found out that I should use Workflows to solve this problem. But the problem is the Workflow is started only automaticly if any changes are made in an element or when an element is created.
So my question is, is theire a possibility to trigger an email by content changes in a specified column.
By the way im working with a list in SharePoint 2013.
One way to accomplish this is to use an additional column on the list to track the previous assignment. Whenever an item is modified, the workflow can run and check the Assigned To field against the new Previous Assignment field. If they are different, the workflow can send the email and then update the Previous Assignment field to be equal to the current Assigned To value.
You can make the Previous Assignment field hidden from forms in the content type settings so that it won't be visible (and confusing) to users.
Yes, this would work. You would need to create a condition which checks on every change which is made to the item if the field "assigned to" is filled.
Here is nearly the same requirement at the MSDN Forums:
https://social.msdn.microsoft.com/Forums/office/en-US/112c2be9-5d3e-47d1-ad1c-06312de8a925/workflow-condition-assigned-to-is-not-empty?forum=sharepointcustomization

Sharepoint 2010 - Dynamically add new fields in edit or new forms

I'm looking to get some guidance with Sharepoint 2010. I am working on a project which requires a system that would inform concerned users of an outages with their applciation and provide regular updates via email (worflow).
I can accomplish most of the tasks with a simple custom list and workflow. Users would be able to input their start/end time of the outage, description and their update. With a workflow an email would be sent to the concerned users with all the details.
Where the problem starts is that, we have to provide hourly updates on an outage. So I would need to be able to add new update fields dynamically for every new updates and then be able to send all the updates via an email workflow.
At the moment I am just trying to figure out the best way to go about this. I tought that a simple custom list would be sufficient but looks like ill need to create a more complex system. Perhaps ill need to create 3 custom lists, 1 master list that would gather the details from list 1 (cotnains the description, start/end time) and the list 2 (contains updates) and some how link the together.
Would anyone have any advice about this?
I would create 2 lists: 1 main with all details and another one with updates and added multi lookup field to the first list.
OR even better -
added lookup field to the second list and when item is created - set lookup to the item in the list 1. Then you would be able to get all items from the list 2 (updates) by the item in the list 1.
Hope it makes sense.
Regards,
Andrey.
I would consider having following 4 fields apart from whatever you need right now.
1. Update
2. Outage (choice yes/no)
3. Previous updates (hide it on Edit form)
4. latest update hidden (hide this on edit form)
I would use one list. Let the workflow run whenever a new item is created or an existing item is updated.
For new Outage items send the outage email.
For updates:
Every hour check for update on the item
If there is any update then copy the value to latest update and previous updates. Clear the value of update column.
Send email with latest update value.
Once outage is over user updates the update field and makes outage over to yes.
At this point of time the workflow is complete.

Auto number column in SharePoint list

In a SharePoint list I want an auto number column that as I add to the list gets incremented. How best can I go about this?
Sharepoint Lists automatically have an column with "ID" which auto increments. You simply need to select this column from the "modify view" screen to view it.
You can't add a new unique auto-generated ID to a SharePoint list, but there already is one there! If you edit the "All Items" view you will see a list of columns that do not have the display option checked.
There are quite a few of these columns that exist but that are never displayed, like "Created By" and "Created". These fields are used within SharePoint, but they are not displayed by default so as not to clutter up the display. You can't edit these fields, but you can display them to the user. if you check the "Display" box beside the ID field you will get a unique and auto-generated ID field displayed in your list.
Check out: Unique ID in SharePoint list
If you want to control the formatting of the unique identifier you can create your own <FieldType> in SharePoint. MSDN also has a visual How-To. This basically means that you're creating a custom column.
WSS defines the Counter field type (which is what the ID column above is using). I've never had the need to re-use this or extend it, but it should be possible.
A solution might exist without creating a custom <FieldType>. For example: if you wanted unique IDs like CUST1, CUST2, ... it might be possible to create a Calculated column and use the value of the ID column in you formula (="CUST" & [ID]). I haven't tried this, but this should work :)
I had this issue with a custom list and while it's not possible to use the auto-generated ID column to create a calculated column, it is possible to use a workflow to do the heavy lifting.
I created a new workflow variable of type Number and set it to be the value of the ID column in the current item. Then it's simply a matter of calculating the custom column value and setting it - in my case I just needed the numbering to begin at 100,000.
it's in there by default. It's the id field.
If you want something beyond the ID column that's there in all lists, you're probably going to have to resort to an Event Receiver on the list that "calculates" what the value of your unique identified should be or using a custom field type that has the required logic embedded in this. Unfortunately, both of these options will require writing and deploying custom code to the server and deploying assemblies to the GAC, which can be frowned upon in environments where you don't have complete control over the servers.
If you don't need the unique identifier to show up immediately, you could probably generate it via a workflow (either with SharePoint Designer or a custom WF workflow built in Visual Studio).
Unfortunately, calculated columns, which seem like an obvious solution, won't work for this purpose because the ID is not yet assigned when the calculation is attempted. If you go in after the fact and edit the item, the calculation may achieve what you want, but on initial creation of a new item it will not be calculated correctly.
As stated, all objects in sharepoint contain some sort of unique identifier (often an integer based counter for list items, and GUIDs for lists).
That said, there is also a feature available at http://www.codeplex.com/features called "Unique Column Policy", designed to add an other column with a unique value. A complete writeup is available at http://scothillier.spaces.live.com/blog/cns!8F5DEA8AEA9E6FBB!293.entry
So I am not sure I can really think of why you would actually need a "site collection unique" id, so maybe you can comment and let us know what is actually trying to be accomplished here...
Either way, all items have a UniqueID property that is a GUID if you really need it: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.uniqueid.aspx
Peetha has the best idea, I've done the same with a custom list in our SP site. Using a workflow to auto increment is the best way, and it is not that difficult. Check this website out: http://splittingshares.wordpress.com/2008/04/11/auto-increment-a-number-in-a-new-list-item/
I give much appreciation to the person who posted that solution, it is very cool!!

Resources