Archívy kategórie: Program InfoPath 2007 // Forms Server

Rýchly zásah: Čítanie InfoPath XML priamo z SPListItem v službe SharePoint

Bol som pracovať na projekte, kde som potrebné extrahovať prílohy z formulára programu InfoPath. Existujú nejaké dobré zdroje pre parsovanie formuláre programu InfoPath (ktoré sú len súbory vo formáte XML, Takže je to vlastne celkom jednoduché).

Keď som bola budova projektu, Začal som sťahovať formulár programu InfoPath a uložením na môj lokálny pevný disk. Kód c# čítal priamo z tejto inštancie. Avšak, Formuláre programu InfoPath sú naozaj žijú vnútri knižnice formulárov služby SharePoint. Urobil trochu polovice srdce vyhľadávanie a zistite, ako čítať priamo z knižnice a takmer vzdal, v takom prípade by som uložiť formulár do lokálnej adresár a prečítajte si ju odtiaľ. Avšak, nie je potrebné ísť cez tie obruče, ako si môžete prečítať priamo z knižnice. Tento malý úryvok ukazuje ako:

/// Triedy definícia veci tu., vrátane:
súkromné Súbor SPFile mySharePointFile; /* Súčasťou SPList */
// Viac kód sem a vnútri metódu triedy máme:
XmlTextReader TextWriter;
TextWriter = nové XmlTextReader(mySharePointFile.OpenBinaryStream());

textReader.WhitespaceHandling = WhitespaceHandling.Žiadna;

textReader.Read();

// Ak uzol má hodnotu

zatiaľ čo (textReader.Read())
{

... a tak ďalej a tak ďalej...

Kľúč kúsok vyššie je, že môžeme čítať InfoPath priamo cez OpenBinaryStream() spôsob volania na súbor SPFile ako parameter konštruktor XmlTextReader. Funguje to skvele.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Technorati Tags:

Programovo extrakciu príloh z formulárov programu InfoPath (Vrátane ich názvov!)

Mám riešenie triedy entry náklady pre klienta, ktorý využíva program InfoPath a workflow. V jednej chvíli počas procesu schvaľovania, Potrebujem vytvoriť e-mail, ktorý má všetky dobré údaje program InfoPath, ako aj samotných príloh tak, aby (povzdych) niekto môže mať údaje a manuálne znovu zadajte ho do Oracle databázy aplikácie.

Nie je veľmi ťažké získať, alebo analyzovať formulár programu InfoPath. Nechcel vedieť, ako zaobchádzať s prílohami, Avšak. Za hodinu alebo dve po prepichnutí internety (večnosť!) Našiel som tento článok: http://support.microsoft.com/kb/892730

Poskytnúť nejaký šikovný kód extrahovať prílohy z uzla v podobe. (Stále musíte nájsť uzol a všetky, ale to je len XML parsování).

Viem, že prílohu s kódovaním base64 a som pôvodne šiel na ceste len extrahovania údajov base64, dekódovaní a uložením. Avšak, Rýchlo si uvedomil, som nevedel, ako sa dostať sám názov súboru až som našiel uvedenom článku.

Mal vlastne zistil, že pomerne skoro, ale bolo odkladať podľa jeho rozpoltená osobnosť. Na jednej strane, článok * hovorí * je to dobré pre program InfoPath 2007. Ešte, kód a pokyny sú asi Visual Studio 2003 a odkazy na program InfoPath 2003.

Sečteno podtrženo, kód, ktorý článok za predpokladu, pracuje dobre pre mňa (tak ďaleko). Môžem dostať môj formulár programu InfoPath, Môžete analyzovať ho, Môžete nájsť a dekódovať prílohu, a viem, že jeho meno. Čo viac môžeme požiadať jedného života?

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Ak máte obavy, že prostredia SharePoint môže byť trošku nezdravé, Dovoľte mi pomôcť opraviť, že s kontrolou stavu.

Spravovanie schválenia skupín s InfoPath v prostredí FBA

Mám náklad schvaľovací postup, ktorý je potrebné implementovať pomocou programu InfoPath v overovanie založené na formulároch (FBA) prostredie pomocou formulárov služby (Web založený program InfoPath).

Existujú dve skupiny, schválenie a proces funguje takhle:

  • Používateľ vypĺňa vyúčtovanie a predlo í ho na schválenie.
  • E-mail na prvej úrovni schvaľovateľa skupiny, ktorá vyvoláva.
  • Prvá úroveň schvaľovateľa hostí a schvaľuje alebo zamieta správa.
  • Ak prvá úroveň osoba schvaľuje, systém oznámi druhej úrovne schvaľovateľ.

Na strane InfoPath vecí, Mám rôzne sekcie, ktoré skryť/Zobraziť na základe či používateľ je členom jednej z týchto skupín schválenie.

V prostredí FBA užívateľské meno() Funkcia vždy vracia prázdne, Smutne. To, čo som urobiť, je nastaviť vlastný zoznam s názvom "Súhlas skupiny".

Nechcem pridať akékoľvek dodatočné stĺpce do zoznamu.

Keď sa otvorí formulár, má pravidlo takhle:

image

"Nastaviť hodnotu poľa" je tu.:

image

To je v podstate hovorí: Dotaz na schválenie skupine vlastný zoznam a filter dotaz pri pohľade na ktorýkoľvek riadok kde titul je hodnota = "NORDIC".

Ak to vráti všetky hodnoty, potom aktuálny používateľ je členom skupiny. Viem, že obsahuje hodnotu, pretože dĺžka reťazca je väčšia ako nula..

Zatvoriť slučku zaistením jednotlivé položky v zozname schválenie skupiny. Počas behu, Ak aktuálny používateľ nemá primerané zabezpečenie prístupu do položky potom dotaz nevráti to, dĺžka reťazca bude nula a teraz viete, že aktuálny používateľ nie je súčasťou tejto skupiny. Môžete použiť túto skutočnosť, podľa potreby vo forme.

Je to super Stručný zápis. Som lisovaný za čas, alebo by poskytnúť viac podrobností.

Nemusíte vedieť, ako dôležité je to, že som v prostredí FBA. To by pravdepodobne fungujú dobre v prostredí FBA, ale môže predstaviť, prípadov, kde to bude užitočné.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Technorati Tags: ,

Program InfoPath // Jedným z vysvetlení "nespracovaná výnimka pri vykresľovanie formulár System.Xml.XmlException: Neočakávaný koniec súboru pri analýze názvu došlo. “

Pracoval vo formulári InfPath dnes a narazil na starého priateľa, "Nespracovaná výnimka pri vykresľovanie formulár System.Xml.XmlException: Neočakávaný koniec súboru pri analýze názvu došlo."

To sa mi stalo už dávno a ja neviem, čo presne som ho vyriešiť. Úprimne, Myslím, že bol prechod na nový projekt a nikdy videl jeden vyriešený (Moja náhrady musel vysporiadať s že bolesti hlavy). Pamätajte si, to bol diabol problém. Strávil som niekoľko neúspešných dní čo do činenia s tým. Od tej doby, Videl som to prísť na fóra lokality MSDN aspoň raz za posledný rok a nikdy naozaj videl odpoveď na to.

Zásah je dnes a Našťastie tentokrát , Mal len urobil zmenu do formulára. Som vycúval zmenou a problém zmizol. Ukázalo sa, že je možné vytvoriť zo šablóny pomocou programu InfoPath Designer takým spôsobom, že to generuje chyba na strane servera formy plotu.

V mojom prípade, problém bol spôsobený nasledovne:

  1. Pridať nový prvok zdroja údajov ako textového poľa.
  2. Hodiť ho do formulára.
  3. Zmena je to displej do rozbaľovacieho zoznamu.
  4. Povedzte rozbaľovacieho zoznamu vytiahnuť svoje hodnoty z vlastného zoznamu lokality SharePoint.

Neviem, ak tieto kroky spôsobiť problém alebo možno, nejako údaje v zozname sám o sebe je problém. Budem trochu experimentovať a uvidíte, ak môžete nechty downt on parametre tohto s viac podrobností.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Technorati Tags:

Vložiť vývojárov poznámky vnútri formulárov programu InfoPath

Som stále žije vo svete formuláre programu InfoPath a potreboval som urobiť jeden z tých "malé" zmeny do formulára,, Bohužiaľ, prestávky konvencia prijatá som s ním pred dvoma týždňami. Pomyslel som si, "niekto sa chystá pozrieť na túto vec za rok teraz a povedať, "To, čo Pavol myslel? Podľa Jove, jeho pomenovanie nemá zmysel!”

Uvedomil som si, že by mohol vytvoriť zobrazenie formulára pre tento a potom, ešte raz, si uvedomil, že som mohol robiť niečo takého celú dobu. Som pridal "Vývojárov poznámky" Zobraziť formulár programu InfoPath ako také:

image

Nakonfiguroval som formulár tak, že používatelia nemôžu dostať k tomuto zobrazeniu a preto, je to len viditeľné s InfoPath klienta v návrhovom zobrazení. Teraz sa cítim trochu naočkované proti niektoré budúce neznámych vývojárov pohľade na môj formulár a myslenia zlé myšlienky o mne. Uf!

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Technorati Tags:

Spravovanie programu InfoPath zobrazení

Zdá sa prejsť fázou programu InfoPath kde, z ničoho, Som tvorbe banda formuláre. Moje prsty naučiť používať tento nástroj dobre, a potom ísť cez deväť mesiacov sucha a musieť učiť všetko znova.

Som v polovici fázy programu InfoPath a som vytvorenie formuláre programu InfoPath s veľa názorov. Jedna vec, ktorú budete pravdepodobne všimnete, je, že program InfoPath 2007 klient zobrazuje zobrazenia v abecednom poradí. To je skutočnou obtiaž nejaký čas. Moja najlepšia technika v týchto dňoch je na začiatok pripojiť číslo názov zobrazenia tak, aby sa vždy ukázať v poradí, ako je znázornené tu:

image

Kiež by som robil to po celú dobu.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Technorati Tags:

Formulár programu InfoPath Sevices, Overenie založené na formulároch (FBA) a súbory s jedinečnými názvami

Bol som pracovať na niektoré formuláre programu InfoPath tohto týždňa v MACHU v prostredí FBA a naučil, keď som išiel nasadiť formuláre v produkčnom prostredí s FBA zóny ktoré užívateľské meno() Funkcia nefunguje. Bol som pomocou to generovať súbory s jedinečnými názvami.

Dobre, Táto funkcia nefunguje v prostredí FBA (aspoň, nie von z krabice). A, po odraze, pomocou užívateľské meno spôsobom som mal v pláne by zaručili jedinečný názov súboru v každom prípade.

Moje riešenie bolo použitie teraz() Funkcia a pravidlo, že požiare na načítanie formulára. Priradenie názvu súboru na dátový prvok, keď je prázdny:

image

image

Výhodou tohto prístupu je, že názov súboru je nastavená iba raz. (To najavo na obrazovke výstrel, ale dal podmienku pravidla len oheň pri "myFilename" je prázdne). Použil som nastaviť názov súboru na úrovni zdroj údajov. Typicky, By niečo urobiť (zlý) ako toto:

image

Problém s týmto je, že ak používateľ A otvorí formulár na pondelok a používateľ B to v utorok, skončíte s dva rôzne formy pretože dvaja rôzni používatelia uložili s rôznymi menami používateľov.

Takže, ako nepríjemné, ako FBA možno vo všeobecnosti a s programom InfoPath najmä, to ma re-myslieť na malé, ale naozaj dôležité technické detaily a prístup, ktorý by som urobil inak!

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Technorati Tags:

Rýchle a jednoduché: Aby formulár programu InfoPath iba na čítanie (InfoPath Forms Services v MOSS)

Existuje spoločný podnikateľský scenár takhle:

  • Používateľ vypĺňa formulár programu InfoPath.
  • Tvrdí forme.
  • Dlho-bežiaci proces toku činností, na ktoré sa začína.
  • Je spustený toku činností, Nechceme komukoľvek zmeniť obsah formulára.

V tomto príklade office.microsoft.com Popisuje, ako vytvoriť samostatné zobrazenie"" a označte celé zobrazenie určené iba na čítanie. To je funkčný prístup, ale má nevýhodu, že účinne vytvorili dve celé verzie tej istej forme a musia teraz synchronizovať ich manuálne. Ak pridáte pole editovateľné zobrazenie, potom musíte pridať do neupraviteľného Zobraziť aj. V priebehu času, s rôznymi vývojári, tam môžu byť niektoré odchýlky.

Táto alternatíva by mohli fungovať lepšie v niektorých prípadoch:

  • Pridanie nového poľa formulára, ktoré sa nazýva "IsEditable".
  • Nastaviť predvolenú hodnotu TRUE.
  • Podporovať ju pri publikovaní MOSS.
  • V toku činností, nastavte hodnotu IsEditble FALSE.
  • Vráťte sa do formulára.
  • Pridať pravidlo, ktoré "na otvorenie formulára", vypnúť ukladanie tlačidlo pri falošných IsEditable.

Nevýhodou tohto prístupu je, že všetky polia budú stále Upraviteľný na obrazovke. Používateľ môže získať falošný dojem, že môže skutočne zmeniť obsah. Môže zmierniť to tým, že niektoré písmom forme je zakázaná, prípadne vo veľkých červených písmen v hornej časti stránky.

Do jedného projektu, Som vytvoril "stav toku činností" zobrazenie. Ako postupoval toku činností, to by aktualizovať polia osobitný štatút, ktorý bol povýšený z formulára. Keď používateľ otvoril formulár, "otvoreného formulára" pravidlo automaticky prepne na zobrazenie a užívateľom, aby mali pekný malý súhrnný stav.

</koniec>

Vyberajte môj blog.

Prepnúť zobrazenie na základe ID užívateľa vo formulári programu InfoPath

Mali sme to vyvinutý formulár programu InfoPath s viacerými zobrazeniami na podporu nových áut / proces uvádzania. Keď spoločnosť najíma nový človek, IT oddelenia a inými skupinami potreba konať (Nastavenie mzdového, sprístupnenie vhodných aplikácií, Vyhľadajte stôl, atď). Používame na forme, ale rozdielne zobrazenie formulára pre každú z týchto funkcií.

V tejto spoločnosti, Väčšina ľudí zainteresovaných v procese podnikania je IT-pútavé, Takže, keď nahliadajú do formulára, predvolené zobrazenie je "menu" Zobraziť pomocou tlačidiel, ktoré priamo do ich špecifickej funkcii. Avšak, potrebovali sme pre zjednodušenie veci pre nový prenájom Priamy nadriadený. Táto osoba by nie je vidieť žiadne IT súvisiace veci. v skutočnosti, ona mala len jedno zobrazenie formulára a ani mať možnosť Zobraziť ďalšie zobrazenia.

V našom prípade, ktoré priamo konto správcu je priamo viazaná na formulár s láskavým dovolením Výber kontaktov (ktorých som vždy chcela volať ľudia zberač"" z nejakého dôvodu).

Kroky sú takto:

1. V režime návrhu, Prejdite na nástroje-> Možnosti formulára-> Otváranie a ukladanie.

2. Vyberte "pravidlá".

3. Vytvoriť nové pravidlo na ktorej činnosť je "Prepnúť zobrazenie" a ktorého stav využíva užívateľské meno() Funkcia.

užívateľské meno() Vráti Simple (jednoduchý)" užívateľské meno bez domény. Ak som sa prihlásiť do služby SharePoint s povereniami "domainpagalvin", užívateľské meno() Vráti hodnotu "pagalvin".

Výber kontaktov poskytuje tri kúsky informácií o kontakte. "AccountID" časť je najužitočnejšie pre tento scenár. Jediná vec, ktorá robí to aj trochu problém je, že výber kontaktov (v mojom prostredí rovnako) Vráti domény a ID používateľa, rovnako ako v "domainpagalvin". To nám bráni robiť priamočiare rovnosť stave od AccountID ("domainpagalvin") budú nikdy rovnaké používateľské meno() ("pagalvin").

My si around to pomocou "obsahuje" prevádzkovateľ: AccountID obsahuje užívateľské meno().

Môžeme vziať ho ďalej a neurčito vopred naprogramovaného domény pred meno() Funkcia získať naše kontrola rovnosti a eliminovať riziko falošne pozitívne na obsahuje operátora.

By sme naozaj ako na automatické prepnutie zobrazenia pre ostatných užívateľov na základe ich členstva v skupine zabezpečenia AD. Napríklad, keď člen "to Analytics" skupina pristupuje k formuláru, Automatické prepnutie na zobrazenie je Analytics. Nemali sme čas na realizáciu, ale moja prvá myšlienka je vytvoriť webovú službu, ktorá bude mať spôsob, ako "IsMemberOfActiveDirectorySecurityGroup", odovzdať užívateľské meno() a vrátiť späť pravda alebo NEPRAVDA. Má niekto iný, viac šikovný nápad? Je tam žiadne SharePoint funkcie môžeme využiť z programu InfoPath na toto stanovenie?

</koniec>

Technorati Tags: