Category Archives: InfoPath 2010

InfoPath, “Save A Snapshot”, and PDF print truncation

I ran into an interesting issue today with printing an InfoPath form. A customer reported a problem where her PDF printout was getting truncated off the right side of the page. She was using the File > Info option, and then using the Save As Snapshot to generate the PDF file. The resulting PDF file ran off the side of the page, and there was no InfoPath or Adobe PDF setting that I could find to fix the issue. Strangely, when I had her print directly to an Adobe PDF print driver, it worked fine…

20170131image01

After some brainstorming with the help desk, we discovered the underlying issue. In Windows 7, I’m running my text size at 125% instead of 100%. I was having the same issue as the customer. When I switched back to 100%, the printout was perfect.

So… if you end up with the same issue, I hope this saves you some time searching around InfoPath or Adobe. Just check the text size setting in your operating system.

InfoPath form publishing and the “SOAP message cannot be parsed” error

This error has been killing me of late. I have a SharePoint 2010 list with a form that’s customized in InfoPath. Admittedly, the list is *very* large… as in over 74000 items. I know… it should be smaller, but that’s another discussion for another time.

The form has always taken a bit of time to publish, and the time has increased as the list has grown. Recently, I made a small change to the form, and it would no longer publish. I started getting the following error – “The SOAP message cannot be parsed”:

image2017012101

I tried a number of methods to “fix” the problem, based on various online posts and blog entries. Most of them recommended changing IIS timeout setting, but that wasn’t solving it this time for us.

Then I found this blog entry: https://spjohnadams.wordpress.com/2012/11/11/soap-message-could-not-be-parsed/

It was this part that was the revelation:

image2017012102

I had one calculated field in the list, and ironically it was one I really wasn’t using. I deleted that field and then republished the form. Not only did it publish, but it did so in about 10 seconds (as opposed to the minutes it used to take).

I would have never thought that a calculated field would have that effect on publishing a form, but there you go.

 

 

 

How we fixed the “Failed to render Wiki Content column” error

This is one of those errors that doesn’t have a lot of history to pull from if you Google/Bing it to find help. I’m putting this one out here to help rectify that in some small way.

We have a site where we built a small custom list and then customized the form in InfoPath. As part of that form, we had a formatting rule that used pattern matching in order to hide a section. This was used to get a form of validation on a People Picker column.

All was going well until we embedded the form in a wiki page using an InfoPath Form web part. Then all hell broke loose. The page (AND the form) started returning this error:

Failed to render “Wiki Content” column because of an error in the “Multiple lines of text” field type control. See details in log. Exception message: Function ‘xdUtil:Match()’ has failed..

The form was easy and fast enough to rebuild when it appeared the first time. But when the form and page broke again later in the day, we knew that something had to be done. Breaking and rebuilding the form every time you want to change it really isn’t very scalable. đŸ™‚

The xdUtil:Match portion of the error seemed to point to some type of issue with pattern matching. We wondered if perhaps the pattern matching rule we had in the form wasn’t playing well in an embedded form scenario. Once we removed that rule from the form and republished it, everything returned to normal and our problem was resolved.

While I still don’t know the details of why that broke the page and for what reason, I’m happy enough to live with “don’t do that ever again” when it comes to this situation… especially since I found a way to get the same formatting rule in place using something other than pattern matching.

 

How did I miss “Enable enhanced rich text content such as tables, images, and hyperlinks”?

I have a customer testing a new custom list that tracks policy and procedure reviews. The form has been altered using the Customize Form button that opens up InfoPath (yes, I love InfoPath!). Everything has been going well, except for a certain enhanced rich text control on the form. The customer reported that they did not have any way to make a hyperlink in that field.

It’s set up in the list to be a multi-line text field that uses rich text (so I can allow for hyperlinks). I have another field that’s set up the same way. On the form, the second field works just fine. You go into the field, highlight a word or phrase, and you get the option to make it a hyperlink in the Ribbon Bar. But that first control… not so much.

I checked the list and they were identical in how they’re set up. I checked a list item and there were hyperlinks in both fields. Looks like it works to me. She replied that she must be doing something wrong, as she wasn’t getting the hyperlink option. I went out there in a new item, and guess what… I wasn’t getting the hyperlink option either.

When I started looking at the properties of the control, I found an option that I guess has always been on by default, and I’ve never really noticed it before:

20150922Image02

It was unselected in my problem control, and that’s why I wasn’t getting the hyperlink options. When I selected that option and republished the form, it worked just like the other control did.

Lesson… pay attention to *all* the properties, even the ones you normally overlook.

Multi-line text fields, character count limits, and scrolling… that was unexpected.

So I got this request to make a multi-line text field scroll in one of my forms. That sounded easy enough. But there seems to be a problem when you also have a line-character length set. If you set a line character limit, it greys out the ability to set it as a multi-line field.

To get around that, I decided to hack the field validation a bit. Instead of using the character limit count in the list item, I used an expression in the validation rule to check the character length and fire an error if it’s over 320 characters:

20150901Image01

That was the magic combination to allow the text to scroll down in the field, while still limiting the number of characters allowed. Instead of just stopping at the 321st character, it fires a validation error if it goes over that length.

Not quite as clean as the character size limit field on the list item, but it works.

A list change doesn’t always trigger an InfoPath customized form refresh…

This was a strange one learned today under a bit of pressure (and a crazy idea that I thought of on my very own!)

I have a list in test that I’m keeping separate from the production list due to a ton of significant modifications that have changed/rechanged/scope-creeped over the last three months. Requests to change the “form fields” had, up to this point, just been changes to the labels in front of the fields. I didn’t worry about making the minor name tweaks in the actual list fields because I didn’t want to deviate any more than I already have from what’s in production.

That was all well and good… until the customer noticed that the column headers didn’t match the field name changes on the form. Late in the game and testing was supposed to start this afternoon, but fine… I’ll do it. I had them give me a list of the column names that absolutely needed to change, and what the field name should be. All normal stuff…

I made the changes in the list, and then went to Customize Form to pull in the changes and re-publish it. I was a bit surprised I didn’t get the warning message saying there were list changes, but I normally don’t change field names like that. I tweaked a couple of things on the form labels, re-published, and let them know I had done all the changes…

… only to find that all the list field name changes had reverted to the old names.

Suffering from insanity, I did the same thing again, expecting to get different results. And true to insanity, I got the same results. What’s worse, I wasn’t seeing a way I could change the field name on the form to get what I wanted in the list.

I sat back for a second and thought… I know the form has to refresh from the list when I add new fields to the list. How can I force a refresh, and if I can, will it grab the field name changes from the list?

“Test Field 1” to the rescue!

I added a test field to the list along with changing a couple of the field names to see if they would be refreshed in the form. The new field triggered the InfoPath form refresh, and the refresh picked up both the new field and my field name changes. Sighs of relief were heard in the mancave office…

I made the rest of the name changes, tossed another test field in there, got the form updated, and then deleted (and refreshed again) the test fields. Everyone was happy, and the “must have by 1 pm” was made with minutes to spare.

I still don’t know why a field name change wouldn’t trigger the form refresh, but I now know I can force it by putting a new field in the list, which WILL trigger the refresh.

In the Notes world, Joe Litton used to call this type of stuff “TJN” (“That’s Just Notes”). In my SharePoint world, I use the “TJS” variation…

Fixing Print Overflow On InfoPath Forms

I had a help desk case the other day where a customer was reporting a problem when trying to print an InfoPath client application form. She had created a text box field, but if the text overflowed to another page, it would often be truncated.

This sounded vaguely familiar to another problem I ran into some time back, and my SharePoint Buddy had figured out the solution. The Scrolling option on the field had been set to Show Scroll Bar When Necessary. While this works well when the form is displayed on the page, it doesn’t work when the form is printed. It just truncates the text in the box when a page break occurs.

To resolve this, all I needed to do was to set the Scrolling option to be Expand To Show All Text. Once that was done, the print spanned page breaks with no issues.

20140518Image01