I'm trying to access list data using SSRS 2008.
I have created an XML data source with the following connection string:
"http://[Your_Site_Name]/_vti_bin/lists.asmx".
I then created a dataset with the following query:
<Query>
<SoapAction>http://schemas.microsoft.com/sharepoint/soap/GetListItems</SoapAction>
<Method Namespace="http://schemas.microsoft.com/sharepoint/soap/" Name="GetListItems">
<Parameters>
<Parameter Name="listName">
<DefaultValue>Your_List_Name</DefaultValue>
</Parameter>
</Parameters>
</Method>
<ElementPath IgnoreNamespaces="True">*</ElementPath>
</Query>
Now the problem:
I'm having issues reading column values that have html markup/tags(specifically "Mulitple lines of text" field type). Reporting Services creates a field called “row” in the Dataset when it encounters one such column.
I tried deleting this “row” field and created the actual field manually. I then set the column value as HTML in the placeholder properties (a new feature in SSRS 2008 where HTML markup is treated as styles) but did not work.
For e.g. Comments column in "Issue Tracking List" is stored as a "div"
Executing the same query in CAMLBuilder works perfectly, showing up all columns.
How do I get over this issue. Any help?
Thanks in advance
PS: I have posted the same query on MSDN SQL Server Reporting Service Forum. Here is the Link.
I posted the same query on MSDN SQL Server Reporting Service Forum. Here is the Link. MSFT moderator has found a solution for this issue.
Related
We are having issues with updating task lists in Sharepoint Online.
Process is:
We have a Sharepoint Online site with a task list in it (compatible list with MS Project).
We have a web application (PHP) from which we call Sharepoint Web services to update fields in that task list.
Our issue is the update itself.
We get no error from the WS Sharepoint, which reply synchronously with the concerned item (but not updated).
Here is the SOAP envelope we send:
<SOAP-ENV:Envelopexmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"xmlns:ns1="http://schemas.microsoft.com/sharepoint/soap/">
<SOAP-ENV:Body>
<UpdateListItemsxmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>EMU200601SIM</listName>
<updates>
<BatchListVersion="1"OnError="Continue">
<MethodCmd="Update"ID="1">
<FieldName="afacturerdebut">30</Field>
<FieldName="afacturerfin0">70</Field>
<FieldName="ID">1773</Field>
</Method>
</Batch>
</updates>
</UpdateListItems>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Here are the headers :
Content-Type: text/xml;
SOAPAction: "http://schemas.microsoft.com/sharepoint/soap/UpdateListItems";
Version control is not activated on the task list.
Reading the tasklist works fine but updating it does not work: fields of the item are not updated.
I've tried changing the list name, field name, and I think everything is well configured cause I don't have any error.
It's weird Sharepoint WS does reply with the item but does not execute the UpdateListItems operation.
Did someone successfully update a tasklist by calling Sharepoint Online WS?
I finally found my mistake: Sharepoint column names and case.
You need to provide exactly the same letter case for the column names in order to update an item in a list.
It could be nice from Microsoft to have an error code for "unknown column" instead of no error at all...
I want to use a modern SPO team site als a template for similar projects with a prefilled task list (very similar projects).
I created a site template with Save-PnPProvisioningTemplate and tried to add the Data rows with Add-PnPDataRowsToProvisioningTemplate and a empty -fields parameter but that does not work. I need exact the same task list as in the template.
Does anybody know if this is a bug?
I already discussed on this particular topic right here: https://learn.microsoft.com/en-us/answers/questions/211447/copy-spo-team-site-with-task-list-contensrow-data.html?childToView=215328#answer-215328 but wanted to check here before I post a bug on github.
Thanks
Chris
According to the documentation of Add-PnPDataRowsToProvisioningTemplate for the parameter fields:
The fields to retrieve. If not specified all fields will be loaded in
the returned list object.
So, if you leave the -fields parameter empty, it will load all fields including default system fields like Created, Created By, Modified... These default fields are generated by SharePoint and could not be added/edit manually. I think that's the reason that would not work.
So you need to specify the fields parameter which can be edited by end users. Like
column duedate, Title, startdate in the command.
Note: you need to use the internal name of the column, for the description column in the task list. The internal name is Body.
You could change field in the template <FieldRef Name="Description" /> to <FieldRef Name="Body" />. Maybe it would work fo you
I am exploring options to build a form that allows to save InfoPath form data to multiple lists , i tried to do achive this using "Webservice Submit/ UpdateListItems" option explained in this blog(and other similar blogs) http://jaliyaudagedara.blogspot.co.uk/2011/03/submitting-data-to-sharepoint-2010-list.html
I can save the data that's simple but when trying to save data that involves lookup columns or other controls it was difficult to find the correct CAML syntax to update the lookup columns or showing dropdown controls, below XML template by default creates textbox control on the form.
<?xml version="1.0" encoding="UTF-8" >?
<Batch>
<Method ID="1" Cmd="New">
<Field Name='Title' />
<Field Name="EmployeeAddress" />
<Field Name="EmployeeNo" />
<Field Name="EmployeeEmail" />
</Method>
</Batch>
I cannot use code behind because Infopath with code is no supported by SharePoint online. And this template always creates textbox on the form, is there a way to choose the controls like Employee Address as textbox but Employee Number as dropdown? And how we enforce validation on the controls created by XML template?
Lastly which one is better option to go when building forms for SharePOint online
POwer Apps (Convoluted procedure to replicate repeated section/
tables).
InfoPath Forms ( convoluted procedure to save data on
multiple lists).
Custom forms (using SPX) - has anyone tried this
for complex list form?
Apologies for the length of the question.
We can create a custom form using HTML+jQuery Plugin+Bootstrap, then submit data into SharePoint list using REST API. The following articles for your reference:
sp-forms
CRUD Operation On List Items Using REST API Services In SharePoint 2013
I receive this error quite often whenever I try to modify the Standard filter for my SQL based report. The reason for this error is that table alias in joins is set to a some non unique value on modifying the filter.
I spent a lot of time to find any solution for it but failed. Then found a workaround for it my self.
Open data base OrganizationName_MSCRM and execute following query
select DefaultFilter from dbo.ReportBase where Name = 'My SQL based report name'
Copy the value of the default filter and open in an XML file. You will find alias="a_3513cef8db754312b0db555339f05c9a" in the XML. Change the GUID in the alias with some other GUID and update back the ReportBase table DefaultFilter value.
Run the report and it will work.
If you want to avoid running updates directly against your CRM database (which, as #Alex said, is unsupported), you may be able to modify the default filter in the RDL itself.
First, you have to download the RDL and open it as an XML or text file. You can do this in any text editor (and in VS.NET if the RDL isn't in an BIDS Report Server Project).
Near the bottom, you will find a section similar to the following:
<CustomProperties><CustomProperty><Name>Custom</Name><Value><MSCRM
xmlns="mscrm"><ReportFilter><ReportEntity
paramname="P1"><fetch version="1.0" output-format="xml-platform"
mapping="logical" distinct="false">
The Value is the default filter for the RDL. The Value is XML encoded twice, but if you run it through a decoder, like the one at http://coderstoolbox.net/string/#!encoding=xml, you'll get something more readable:
1st Decode
<MSCRM xmlns="mscrm"><ReportFilter><ReportEntity
paramname="P1"><fetch version="1.0" output-format="xml-platform"
mapping="logical" distinct="false">
2nd Decode
<ReportFilter><ReportEntity
paramname="P1"><fetch version="1.0" output-format="xml-platform"
mapping="logical" distinct="false">
Include everything through the closing </Value>, and you'll get the FetchXML that defines the default filter.
Change the guid, or remove the <LinkEntity> section that includes the alias. As long as you have valid FetchXML, you should be able to upload the file as a new report.
Re-Encode (x2) the XML and put it back in the RDL. First encode the fetch XML, then wrap it in the <MSCRM xmlns="mscrm"></MSCRM> element, and encode that string. Be sure that your encoder does not replace the " with ". The one at coderstoolbox.net will, but CRM doesn't do this when encoding the XML.
You must upload your RDL as a new report. In my testing, CRM will not update the defaultfilter column in the database with the filter in the RDL when updating an existing report.
I know this is a lot of hoop-jumping, and I can't say whether this type of customization is officially supported. Personally, I feel safer uploading an RDL through the CRM web UI than I do with an open SSMS terminal running update statements against the database.
I followed a similar solution as Scott Stone - but only exported the report, searched for the 'offending' join, modified the GUID and, as Scott also mentioned, deleted and then re-uploaded the report. (as opposed to simply re-uploading the modified RDL into the existing report.)
I am trying to find a way to inform a group of users whenever any of the pages in our SharePoint site are updated.
Originally we were going to use alerts, but we have numerous subsites in our site. This means (to the best of my knowledge) that we will have to set up alerts for every subsite. This is not an option because subsites will be created and removed and we would rather not add an extra step here.
Secondly, we wanted to use a Content Query webpart to simply show all pages that were updated in the last 5 days. This would allow us to show every page for every site, but I can't figure out how to get it to only show items with an update date >= today's date - 5.
If anyone can help me out, I would really appreciate it. Thanks!
I think you're on the right track with the Content Query Web Part. Unfortunately out of the box it forces you to set a specific date rather than a certain number of days.
Your best option is to override the Content Query Web Part or write your own that provides the functionality you require. There may also be other query web parts available that do this for you. If you write your own, the following CAML query should help:
<Where>
<Geq>
<FieldRef Name='Modified' />
<Value Type='DateTime'>
<Today OffsetDays='-5' />
</Value>
</Geq>
</Where>
The What's New Web Part by Jan Tielens is good for this sort of thing, and it has a few configurable parameters, such as maximum age of items, scope (recursive etc) and the ability to filter by content types.
http://smarttools.codeplex.com/Wiki/View.aspx?title=What%27s%20New