კატეგორია არქივი: InfoPath 2007 // ფორმები სერვერი

საქმის insensitive შედარება in InfoPath

მე დავწერე სტატია, SharePointBriefing.com and they put it up live today.

აი teaser:

image

შეამოწმეთ იგი out.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

პროგრამები Tags:

სწრაფი Hit: წაკითხვის InfoPath XML პირდაპირ SPListItem in SharePoint

I’m been working on a project where I need to extract attachments from an InfoPath form. There are some good resources for parsing InfoPath forms (რომლებიც მხოლოდ XML ფაილი, ამიტომ რეალურად საკმაოდ მარტივია).

მიუხედავად იმისა, რომ მე მშენებლობის პროექტი, I started by downloading an InfoPath form and saving it to my local hard drive. My c# code was reading directly from that instance. თუმცა, the InfoPath forms are really living inside a SharePoint forms library. I did a little half hearted searching to find out how to read it directly from the library and almost gave up, in which case I would have saved the form to a local temp directory and read it from there. თუმცა, there’s no need to go through those hoops as you can read it directly from the library. This little snippet shows how:

/// კლასი განმარტება პერსონალი აქ, მათ შორის:
შეტყობინების SPFile mySharePointFile; /* ნაწილი SPList */
// გაძლიერებული კოდი მიდის აქ და შიგნით მეთოდი კლასი გვაქვს:
XmlTextReader textReader;
textReader = ახალი XmlTextReader(mySharePointFile.OpenBinaryStream());

textReader.WhitespaceHandling = WhitespaceHandling.არა;

textReader.Read();

// თუ კვანძის აქვს მნიშვნელობა

ხოლო (textReader.Read())
{

… and so on and so forth …

ისინი გასაღები ცოტა ზემოთ არის, რომ ჩვენ შეგვიძლია წაიკითხა InfoPath პირდაპირ მეშვეობით OpenBinaryStream() method call on the SPFile as a parameter to the constructor on XmlTextReader. It works great.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

პროგრამები Tags:

პროგრამულად მოპოვების მიმაგრებული მდებარეობა InfoPath ფორმები (მათ შორის მათი სახელები!)

I have an expense entry solution for a client that leverages InfoPath and workflow. At one point during the approval process, მე უნდა წარმოშვას ელ რომელსაც აქვს ყველა ის კარგი InfoPath მონაცემები ან როგორც attachments თავს ისე, რომ (შვებით) ვინმეს შეუძლია, რომ მონაცემები და ხელით ხელახალი გასაღები იგი Oracle მონაცემთა ბაზის განაცხადის.

It’s not very difficult to get at or parse the InfoPath form. I didn’t know how to handle the attachments, თუმცა. After an hour or two of poking around the Internets (მარადისობა!) ი ამ მუხლის: http://support.microsoft.com/kb/892730

It provide some handy code to extract the attachment from a node in the form. (თქვენ ჯერ კიდევ გვჭირდება, კვანძის და ყველა, რომ, მაგრამ ეს მხოლოდ XML parsing).

მე ვიცი, რომ დანართი არის base64-კოდირებით და მე თავდაპირველად დაიწია გზა უბრალოდ მოპოვების base64 მონაცემები, decoding it and saving it. თუმცა, მე სწრაფად მიხვდა, მე არ ვიცი როგორ უნდა ფაილის სახელი თავისთავად, სანამ მივხვდი, აღნიშნული მუხლის.

მე რეალურად აღმოჩნდა, რომ საკმაოდ ადრეულ, მაგრამ გადაიდო თავისი გაყოფილი პიროვნება. ერთის მხრივ, the article *says* it’s good for InfoPath 2007. თუმცა, კოდი და დავალება ყველაფერი ვიზუალური სტუდია 2003 და მითითება InfoPath 2003.

ქვედა ხაზი, კოდი, რომელიც სტატიაში მოწოდებული კარგად მუშაობს ჩემთვის (ჯერჯერობით). I can get my InfoPath form, შემიძლია გარჩევის ეს, I can find and decode the attachment and I know its name. What more can one ask of one’s life?

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

პროგრამები Tags: ,,

თუ თქვენ აწუხებს, რომ თქვენი SharePoint გარემო შეიძლება tad არაჯანსაღი, ნება მიბოძეთ დაგეხმაროთ დაფიქსირება, რომ ერთად ჯანმრთელობის გამშვები.

მმართველი დამტკიცების ჯგუფები InfoPath in FBA გარემო

მე მაქვს ხარჯზე დამტკიცების პროცესი, რომელიც მე უნდა განახორციელოს გამოყენებით InfoPath ამ ფორმების საფუძველზე ავტორიზაციის (FBA) გარემოს გამოყენებით ფორმები მომსახურების (ვებ დაფუძნებული InfoPath).

არსებობს ორი დამტკიცების ჯგუფები და პროცესის მუშაობს როგორც ეს:

  • მომხმარებელი ავსებს ხარჯზე მოხსენებას და დასამტკიცებლად.
  • ეს იწვევს ელექტრონულ მისამართზე: პირველი დონის approver ჯგუფი.
  • პირველი დონის approver განიხილავს და ამტკიცებს ან უარყოფს ანგარიში.
  • თუ პირველ დონეზე პირი ამტკიცებს, რომ ეს, სისტემა აცნობებს მეორე დონის approver.

On InfoPath მხარეს რამ, მე მაქვს სხვადასხვა განყოფილებაში, რომ დამალვა / გამოჩნდება საფუძველზე თუ არა მომხმარებელს წევრია ერთ იმ დამტკიცების ჯგუფები.

In FBA გარემოს სახელი() ფუნქცია ყოველთვის ბრუნდება ცარიელი, სამწუხაროდ. What I’ve done is set up a a custom list called “Approval Groups”.

მე არ დაამატოს ნებისმიერი დამატებითი სვეტები სიაში.

როდესაც ფორმით ხსნის, მას წესით მსგავსი:

image

"მითითებული ველის მნიშვნელობა" აქ არის:

image

ეს ძირითადად ამბობდა: შეკითხვის დამტკიცების ჯგუფის საბაჟო სიაში და გავფილტროთ, რომ შეკითხვის ეძებს ნებისმიერი ზედიზედ სადაც სათაური ღირებულების = "NORDIC".

თუ რომ დააბრუნებს ნებისმიერი მნიშვნელობა, then the current user is a member of that group. I know it contains that value because the string length is greater than zero.

Close the loop by securing the individual items in the Approval Group list. At run-time, თუ მიმდინარე მომხმარებელს არა აქვს უსაფრთხოების შესაბამისი დაშვება, რომ პუნქტის შემდეგ შეკითხვაზე არ დაუბრუნდება მას, string-length will be zero and now you know the current user is not part of that group. You can use that fact as needed in the form.

This is a super brief write-up. I’m pressed for time or I’d provide more detail.

I don’t know how relevant it is that I’m in an FBA environment. This would probably work well in a non-FBA environment but I can imagine cases where this would be useful.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

პროგრამები Tags: ,

InfoPath // ერთ განმარტებას "შეუქცევადი შემთხვევაა, როცა გაწევის ფორმით System.Xml.XmlException: მოულოდნელი ფაილის დასასრულს პარსინგის სახელი მოხდა. "

მე მომუშავე InfPath ფორმა დღეს და გაიქცა წინააღმდეგ ძველი მეგობარი, "შეუქცევადი შემთხვევაა, როცა გაწევის ფორმით System.Xml.XmlException: მოულოდნელი ფაილის დასასრულს პარსინგის სახელი მოხდა. "

This happened to me a long time ago and I don’t know what exactly I did to resolve it. Honestly, მე ვფიქრობ, რომ მე უკვე გადასვლის ახალი პროექტის და არასოდეს დაინახა ამ ერთი გადაწყდეს (ჩემი გადაჯგუფების შეხება ჰქონდათ, რომ თავის ტკივილი). I do remember it was a devil of a problem. I spent several unsuccessful days dealing with it. Since then, მე ვნახე ამ ამუშავება on MSDN ფორუმებში ერთხელ მაინც გასულ წელს და არასდროს ნამდვილად დაინახა პასუხი ეს.

მე მოხვდა დღეს და საბედნიეროდ ამ დროს , I had just made a change to the form. I backed out that change and the problem went away. გამოდის, რომ ეს შესაძლებელია, რათა შეიქმნას თარგი გამოყენებით InfoPath დიზაინერი ისე, რომ ეს წარმოშობს გარჩევის შეცდომა ფორმების სერვერზე მხარეს ღობე,,en,მე ვაპირებ ექსპერიმენტი ცოტა და თუ შემიძლია ფრჩხილის downt ის პარამეტრების ეს ნებისმიერი უფრო დეტალურად,,en.

ჩემს შემთხვევაში, პრობლემა გამოწვეული იყო ეს ნაბიჯი:

  1. დამატება ახალი ელემენტი მონაცემთა წყაროს, როგორც ტექსტური ველი.
  2. ჩამოაგდეს ის გადატანა ფორმა.
  3. შეცვლა მისი ჩვენება შევიდა წვეთი ქვემოთ სიაში.
  4. Tell წვეთი ქვემოთ სიაში უნდა გაიყვანოს თავისი ფასეულობათა SharePoint საბაჟო სია.

მე არ ვიცი, თუ აღნიშნული ნაბიჯები გამოიწვიოს, ან იქნებ, რატომღაც მონაცემების სია თავისთავად პრობლემა. I’m going to experiment a bit and see if I can nail downt he parameters of this with any more detail.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

პროგრამები Tags:

Embed შემქმნელი შენიშვნები თქვენს InfoPath ფორმები

მე ჯერ კიდევ ცხოვრობენ InfoPath ფორმები მსოფლიოში და მე საჭირო, რათა ერთ იმ "პატარა" ცვლილებების შეტანის ფორმა, რომელიც, სამწუხაროდ, breaks a naming convention I adopted with it two weeks ago. ვფიქრობდი, რომ პირადად, "ვინმე აპირებს შევხედოთ ამ რამ წელი ამიერიდან და აცხადებენ,, "რა იყო პოლ ფიქრი? By Jove, მისი დასახელებისგან კონვენციის აზრი არ აქვს!"

მივხვდი, რომ შეუქმნიდა ხედვა ფორმა ამის შესახებ და მერე, კიდევ ერთხელ, realized that I could have been doing something like this all along. I added a “Developer Notes” view to the InfoPath form as such:

image

მე კონფიგურაცია ფორმით ისე, რომ მომხმარებლებს არ შეუძლიათ მიიღონ იმ აზრით და ამიტომ, it’s only visible with the InfoPath client in design view. Now I feel a little inoculated against some future unknown developer looking at my form and thinking bad thoughts about me. Phew!

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

პროგრამები Tags:

მმართველი InfoPath ნახვა

მე, როგორც ჩანს, უნდა გაიაროს InfoPath ფაზის სადაც, გარეთ ლურჯი, I’m crafting a bunch of forms. My fingers learn how to use the tool well and then I go through nine month drought and have to learn it all over again.

მე შუა InfoPath ფაზაში და მე ქმნის InfoPath ფორმა ბევრი ჩვენებები. ერთი რამ ალბათ შეამჩნია ის არის, რომ InfoPath 2007 client shows views in alphabetical order. This is a real nuisance some times. My best technique these days is to prepend a number to the view name so that they always show in the order I want, როგორც ილუსტრირებული აქ:

image

I wish I had been doing this all along.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

პროგრამები Tags:

InfoPath ფორმა სერვისი, ადგენს დაფუძნებული ავთენტიფიკაცია (FBA) და უნიკალური ფაილი სახელები

მე მომუშავე ზოგიერთი InfoPath ქმნის ამ კვირაში MOSS in FBA გარემოს და შეიტყო, როდესაც მივედი განათავსოს ფორმების წარმოების გარემოში FBA ზონის სახელი() function function does not work. I was using it to generate unique file names.

კარგად, რომ ფუნქცია არ მუშაობს FBA გარემოს (სულ მცირე, გამორიცხული არ ყუთი). ხოლო, საფუძველზე ასახვა, გამოყენებით სახელი გზა მქონდა დაგეგმილი არ იქნებოდა გარანტირებული უნიკალური ფაილი სახელი და ნებისმიერ შემთხვევაში.

ჩემი გამოსავალი იყო გამოიყენოს ახლა() function and a rule that fires on loading of the form. I assign the file name to data element when it’s blank:

image

image

The advantage of this approach is that the file name is set only once. (მე არ ნახოთ ეს ეკრანზე დარტყმას, მაგრამ დააყენა მდგომარეობის წესი, მხოლოდ ცეცხლი, როდესაც "myFilename" ცარიელი). I used to set the file name at the data source level. Typically, მინდა რომ რამე (ცუდი) მსგავსი:

image

პრობლემა, რომ არის, რომ თუ მომხმარებლის ხსნის ფორმა ორშაბათს და შესახებ B მას სამშაბათს, თქვენ დასრულდება up ორი სხვადასხვა ფორმით წლიდან ორ სხვადასხვა წევრებს გადაარჩინა იგი სხვადასხვა მომხმარებლის სახელები.

ასე რომ,, როგორც შემაშფოთებელი, როგორც FBA შეიძლება იყოს ზოგადად და InfoPath კერძოდ, იგი მე ხელახლა ვფიქრობ, მცირე, მაგრამ მართლაც მნიშვნელოვანია ტექნიკური დეტალი და მიდგომა, მე არ გაკეთდეს სხვაგვარად!

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

პროგრამები Tags:

სწრაფი და მარტივი: ჩადება InfoPath ფორმა წაკითხვა მხოლოდ (InfoPath ფორმები მომსახურება Moss)

არსებობს საერთო ბიზნეს სცენარი მსგავსი:

  • მომხმარებელი ავსებს InfoPath ფორმა.
  • წარუდგენს ფორმა.
  • დიდხანს გაშვებული workflow პროცესის ჩათვლით.
  • მიუხედავად იმისა, რომ სამუშაო პროცესის მიმდინარეობს, ჩვენ არ გვინდა ვინმეს შეცვალოს შინაარსი ფორმა.

This office.microsoft.com example describes how to create a separate "view" and mark the whole view as read-only. This is a workable approach but has the drawback that you’ve effectively created two entire versions of the same form and must now keep them in sync manually. If you add a field to the editable view, you must then add it to the non-editable view as well. Over time, with different developers, there can be some divergence.

This alternative might work better in some cases:

  • Add a new field to the form called "IsEditable".
  • Set its default value to true.
  • Promote it when publishing to MOSS.
  • ამ workflow, set the value of IsEditble to false.
  • Go back to the form.
  • Add a rule that "upon open of the form", disable your save button when IsEditable is false.

The drawback to this approach is that all the fields will still be editable on the screen. The user can get a false impression that they can actually change content. You can mitigate that by putting in some text that the form is disabled, possibly in big red letters across the top of the page.

In one project, I created a "workflow status" სანახავად. As the workflow progressed, it would update specific status fields that had been promoted from the form. When the user opened the form, the "open form" rule automatically switched to that view and the user had a nice little summary status.

</ბოლო>

პროგრამები Tags: ,

გამოწერა ჩემი დღიური.

შეცვლა დათვალიერება ანკეტის საფუძველზე მომხმარებლის ID In InfoPath ფორმა

ჩვენ შემუშავებული InfoPath ფორმა მრავალი ჩვენებები მხარდასაჭერად ახალი დაქირავება / on-boarding process. When the company hires a new person, IT დეპარტამენტი და სხვა ჯგუფები უნდა მიიღონ ზომები (შეიქმნა სახელფასო, საშუალებას ხელმისაწვდომობის შესაბამისი განაცხადების, იქნებიან სამაგიდო, და ა.შ.). We use on form but a different view of the form for each of those functions.

ამ კომპანიის, ყველაზე მეტი ადამიანი ჩართული ბიზნეს პროცესის IT-savvy, ასე რომ, როდესაც ისინი წვდომის ფორმა, their default view is a "menu" view with buttons that direct them to their specific function. თუმცა, we needed to simplify things for the new hire’s direct manager. This person should not see any of the IT related stuff. სინამდვილეში, მან უნდა დაინახოს, მხოლოდ ერთი ხედი ფორმა და კი არ ვარიანტი, რომ ნახოთ სხვა შეხედულებების.

ჩვენს შემთხვევაში, რომ პირდაპირი მენეჯერის ანგარიშზე პირდაპირ უკავშირდება ფორმა გაცნობითი ხასიათის of დაუკავშირდით არჩევის (which I am always wanting to call a "people picker" რატომღაც).

ნაბიჯები შემდეგი რედაქციით:

1. In დიზაინის რეჟიმში, წასვლა ინსტრუმენტები -> ფორმა პარამეტრები -> ღია და შენახვა.

2. Select "rules".

3. Create a new rule whose action is "switch to view" და რომლის მდგომარეობის ბერკეტი ნიკი() ფუნქცია.

ნიკი() returns the "simple" user name without the domain. If I log into SharePoint with credentials "domain\pagalvin", ნიკი() returns "pagalvin".

The contact selector provides three bits of information for a contact. The "AccountID" portion is most useful for this scenario. The only thing that makes this even a little bit of challenge is that the contact selector (ჩემს გარემოს მაინც) დააბრუნებს domain და მომხმარებლის ID, as in "domain\pagalvin". This prevents us from doing a straight-forward equality condition since AccountID ("domain\pagalvin") არასოდეს არ გაუტოლდება ნიკი() ("pagalvin").

We can get around this using the "contains" ოპერატორი: AccountID შეიცავს ნიკი().

ჩვენ შეგვიძლია მას შემდგომი და წინასწარი pend მყარი კოდირებული domain წინაშე ნიკი() ფუნქცია ჩვენს თანასწორობის შემოწმება და აღმოფხვრას რისკი ცრუ დადებითი შეიცავს ოპერატორი.

We would have REALLY like to automatically switch view for other users based on their AD security group membership. მაგალითად, when a member of the "IT Analytics" ჯგუფი ხელმისაწვდომი ფორმა, automatically switch to the IT Analytics view. We didn’t have time to implement it, but my first thought is to create a web service that would have a method like "IsMemberOfActiveDirectorySecurityGroup", გაიაროს ეს ნიკი() and return back true or false. Does anyone have any other, უფრო ჭკვიანი იდეა? Is there any SharePoint function we can leverage from InfoPath to make that determination?

</ბოლო>

პროგრამები Tags: