Kategorija Archives: Programa InfoPath 2007 // Formų serveris

Greitai susidūrimo: Skaityti InfoPath XML tiesiogiai iš SharePoint SPListItem

Aš rengia projektą, kur reikia išgauti priedai nuo programos InfoPath formą. Yra gerų išteklius, apdorojant InfoPath formų (kurios yra tiesiog XML failus, Taigi tai tikrai gana paprasta).

Nors aš buvo kuriant projekto, Aš pradėjau atsisiųsti programos InfoPath formą ir įrašykite jį į mano vietiniame standžiajame diske. Mano c# kodą buvo skaityti tiesiai iš tuo atveju. Tačiau, InfoPath formų tikrai gyvena viduje SharePoint formų biblioteka. Aš mažai pusė hearted iešką ieškodami, kaip suprantu tiesiogiai iš bibliotekos ir beveik atsisakė, Tokiu atveju aš būtų įrašyti formą į vietos temp direktoriją ir skaityti jį iš ten. Tačiau, nėra reikalo eiti per tuos lankus kaip jūs galite perskaityti tiesiogiai iš bibliotekos. Šis little fragmentą rodo, kaip:

/// Klasės apibrėžimas stuff čia, įskaitant:
privačių SPFile mySharePointFile; /* SPList dalis */
// Daugiau kodas eina čia ir viduje metodas klasės mes turime:
XmlTextReader textReader;
textReader = naujas XmlTextReader(mySharePointFile.OpenBinaryStream());

textReader.WhitespaceHandling = WhitespaceHandling.Nė vienas;

textReader.Read();

// Jei mazgas turi vertę

tuo pat metu (textReader.Read())
{

... ir taip toliau ir taip toliau...

Pagrindiniai šiek tiek aukščiau yra, kad mes galime skaityti InfoPath tiesiai per į OpenBinaryStream() metodas ragina į SPFile kaip parametras konstruktorius ant XmlTextReader. Jis puikiai.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Technorati Tags:

Programiškai išgauti priedai iš InfoPath formų (Įskaitant jų pavadinimus!)

Turiu sąskaita įrašas sprendimą dėl kliento, kuris naudoja programa InfoPath ir darbo eigos. Vienu metu tvirtinimo proceso metu, Man reikia sukurti elektroninį laišką, kad turi visas geras InfoPath duomenis, taip pat priedus, patys taip, kad (atodūsis) kas nors gali pasiimti tuos duomenis ir rankiniu būdu iš naujo çra¹ykite jç į Oracle duomenų bazės programą.

Tai nėra labai sunku gauti arba apdorojant "InfoPath" forma. Aš nežinojau, kaip tvarkyti priedus, Tačiau. Po valandą ar dvi išnyra aplink internetas (amžinybė!) Aš šį straipsnį: http://support.microsoft.com/kb/892730

Ji teikia kai patogu kodą priedą Išskleiskite mazgą forma. (Jums vis dar reikia rasti mazgas ir visa tai, bet tai tik XML sintaksės).

Aš žinau, kad priedas yra base64 užkoduotas ir iš pradžių aš keliu tiesiog išgauti to base64 duomenų, dekodavimo jis ir išsaugojus jį. Tačiau, Aš greitai supratau, aš nežinojau, kaip gauti patį failo pavadinimą, kol aš rasiu pagal pirmiau minėtą straipsnį.

Aš iš tikrųjų nustatė, kad gana anksti, bet aš buvau Odpłynąć savo split asmuo. Iš vienos pusės, straipsnyje * sako, * tai naudinga InfoPath 2007. Dar, kodas ir instrukcijos yra viskas apie Visual Studio 2003 ir nuorodos į InfoPath 2003.

Bottom line, kodą, kuris straipsnis Jeigu dirba man (kol kas). Aš galiu gauti mano InfoPath forma, Aš gali apdoroti ją, Galite rasti ir iššifruoti areštas ir aš žinau, jo vardas. Kas daugiau gali vienas paklausti savo gyvenimą?

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Jei nerimaujate, kad jūsų SharePoint aplinka gali būti tad nesveika, Leiskite padėti jums nustatyti, kad su sveikatos patikrinimu.

Valdymo patvirtinimo grupės su InfoPath FBA aplinkoje

Turiu išlaidų patvirtinimo procesas, reikia taikyti naudojant InfoPath autentifikuoti pagal formas (FBA) aplinka, naudojant formų paslaugos (interneto programa InfoPath).

Yra dvi patvirtinimo grupės ir procesas veikia taip:

  • Vartotojo išlaidų ataskaitą pildo ir teikia tvirtinti.
  • Kuris suteiktų laišką į pirmojo lygio tvirtintojas grupė.
  • Pirmojo lygio Tvirtintojo atsiliepimai ir patvirtina arba neigia ataskaita.
  • Jei pirmojo lygio asmuo patvirtina jį, sistema praneša antrojo lygio tvirtintojas.

InfoPath pusė dalykų, Turiu įvairių skyrių, kurie slėpti/rodomi pagal ar naudotojas yra vienas iš tų patvirtinimo grupės narys.

FBA aplinkoje vartotojo vardas() funkcija visada grąžina tuščią, Deja. Ką aš padariau yra nustatyti a pasirinktinį sąrašą vadinasi "Patvirtinimo grupės".

Nereikia pridėti jokių papildomų stulpelių sąrašą.

Kada formą atveria, ji turi taisyklę Štai taip:

image

"Nustatyti lauko reikšmę" yra čia:

image

Tai iš esmės yra pasakyti: Užklausos patvirtinimo grupės pasirinktinį sąrašą ir filtro užklausos iš ieško bet eilutėje kur žaidimo vertė = "NORDIC".

Jei kuri grąžina bet kokią vertę, tada dabartinis vartotojas yra šios grupės narys. Aš žinau, tai yra ta reikšmė nes eilutės ilgis yra didesnis už nulį.

Uždarykite ratą iš užtikrinimas atskirų elementų sąrašo patvirtinimo grupe. Run-time, Jei Dabartinis vartotojas neturi reikiamų apsaugos prieigą prie tos prekės tada užklausą nebus grąžinti ją, eilutės ilgis bus lygi nuliui ir dabar jūs žinote Dabartinis vartotojas nėra šios grupės dalis. Galite naudoti šį faktą reikia formos.

Tai yra super trumpas rašymą į viršų. Aš skubėti ar man suteiktų daugiau informacijos.

Aš nežinau, kiek tai, kad aš FBA aplinkoje. Tai būtų tikriausiai darbo Na ne FBA aplinkoje bet galiu įsivaizduoti, kur tai būtų naudinga atvejais.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Technorati Tags: ,

Programa InfoPath // Vienas iš paaiškinimų dėl "neapdorota išimtis kai utilizavimo formos System.Xml.XmlException: Įvyko netikėta failo pabaiga sintaksinę pavadinimas. “

Aš dirbau InfPath formoje šiandien ir susidure su senas draugas, "Neapdorota išimtis kai utilizavimo formos System.Xml.XmlException: Netikėta failo pabaiga sintaksinę pavadinimas įvyko."

Tai atsitiko man seniai ir aš nežinau, ką tiksliai aš padariau jį išspręsti. Sąžiningai, Manau, kad aš turėjo buvo pereiti į naują projektą ir niekada matė tai vienas išspręsti (mano pakeitimus teko susidurti su galvos). Aš atsimenu, tai buvo problema velnias. Aš praleido keletą nesėkmingų dienų susijusios su juo. Nuo to laiko, Aš mačiau tai Nagi MSDN Forumai ne rečiau kaip kartą per pastaruosius metus ir niekada matė atsakyti už tai.

Aš paspauskite ją, šiandien ir Laimei šiuo metu , Aš ką tik atliktas pakeitimas į formą. I užtikrinti, kad pokyčiai ir problemos nuėjo. Pasirodo, kad būtų galima sukurti, iš šabloną naudodami InfoPath Designer taip, kad ji sukuria sintaksės analizės klaida formų serverio pusėje tvoros.

Mano atveju, problema sukėlė šiuos veiksmus:

  1. Pridėti naują elementą prie duomenų šaltinio į teksto lauką.
  2. Palikite jį į formą.
  3. Pakeisti savo ekraną į sąraše.
  4. Pasakykite išplečiamojo sąrašo traukti vertę iš SharePoint pasirinktinį sąrašą.

Aš nežinau, jei tų priemonių sukelti problema, o gal, kažkaip sąrašo duomenys yra problema. Aš ketinu išbandyti šiek tiek ir pamatyti, jei aš nagų downt jis parametrai tai su daugiau informacijos.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Technorati Tags:

Įdėti programuotojo pastabos viduje savo InfoPath formas

Aš vis dar gyvenu InfoPath formų pasaulio ir man reikia, kad vienas iš tų "mažas" pokyčių forma,, Deja, pertraukos įvardijimo aš priimti su juo prieš dvi savaites. Aš maniau, kad aš, "kas nors vyksta pažvelgti į tai, ką per metus nuo dabar ir pasakyti, "Ką galvoja Paul? Iš Jove, jo įvardijimo nėra jokios prasmės!”

Aš supratau, kad aš galėtų sukurti rodinį formos tai tada, dar kartą, supratau, kad aš galėjo daryti kažką panašaus į tai visi kartu. Aš pridėjo "Programuotojo pastabos" vaizdas į "InfoPath" forma kaip toks:

image

Sukonfigūravau formą taip, kad vartotojai negali patekti į šį rodinį ir todėl, tai tik su InfoPath AK dizaino rodinyje. Dabar aš jaučiu mažai užkrėstos nuo kai kurių ateityje nežinomas kūrėjas žiūri į mano forma ir mąstymo blogos mintys apie mane. Phew!

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Technorati Tags:

Valdymo programa InfoPath peržiūros

Man atrodo, kad eiti per InfoPath etapų kur, netikėtai, Aš esu apdorodami formų krūva. Mano pirštai Sužinokite, kaip naudoti įrankį gerai ir tada aš einu per devynių mėnesių sausros ir turi mokytis tai visos vėl.

Aš esu viduryje yra InfoPath etapas ir aš sukurti InfoPath formos su vaizdu daug. Vienas dalykas, jūs tikriausiai pastebėjote, kad programos InfoPath 2007 kliento rodo peržiūros pagal abėcėlę. Tai yra tikra nepatogumų kartais. Mano geriausias būdas šių dienų – taip, kad jie visada rodo, kad aš noriu, pridėkite skaičių iki rodinio pavadinimas, kaip parodyta čia:

image

Linkiu aš turėjo buvo tai visi kartu.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Technorati Tags:

InfoPath formos taikantis, Formomis pagrįstas autentifikavimas (FBA) ir unikalus failų vardai

I been darbo dėl kai kurių InfoPath formų šią savaitę Moss FBA aplinkoje ir išmoko, kai aš atvykau į dislokuoti formas į gamybos aplinką su yra FBA zonoje, vartotojo vardas() funkcija funkcija neveikia. Aš naudoju jį sukurti unikalų failų vardai.

Na, kad funkcija neveikia FBA aplinkoje (ne mažiau kaip, ne out of the box). Ir, po svarstymų, naudojant vartotojo vardas, kaip man buvo planuojama ne užtikrino unikalų failo vardą visais atvejais.

Mano sprendimas buvo naudoti dabar() funkcija ir taisyklę, kuri gaisrų dėl pakrovimo formos. Aš priskiriant failo vardo duomenų elementas, kai laukas tuščias:

image

image

Šio metodo privalumas yra tai, kad failo vardas yra nustatyti tik vieną kartą. (Man nerodo tai ekrano nuotrauka, Tačiau įdėti sąlyga būtų tik ugnies, kai "myFilename" yra tuščias taisyklė). Aš nustatyti failo pavadinimą duomenų šaltinio lygiu. Paprastai, Aš ką nors (blogas) va taip:

image

Problema, kad yra tai, kad jei vartotojas A atidaro formą pirmadienį ir B naudotojas pakeičia jį antradienį, jūs galų gale su dviem pavidalais nes dviejų skirtingų vartotojų išsaugoti ją su skirtingų vartotojų vardus.

Taigi, kaip erzina kaip FBA gali būti apskritai ir su InfoPath ypač, jis privertė mane permąstyti nedidelis, bet labai svarbus techninių detalių ir požiūris, kad nebuvo padaryta kitaip!

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Technorati Tags:

Greitas ir paprastas: Kad tik InfoPath formos skaitomas (InfoPath formų tarnybos Moss)

Yra panašaus verslo ni:

  • Vartotojas ją pildo InfoPath formos.
  • Pateikia formą.
  • Ilgai trunkančios darbo eigos procesas prasideda.
  • O darbo eiga veikia, Mes nenorime kas nors keisti turinį, formą.

Šiame pavyzdyje office.microsoft.com aprašoma, kaip sukurti atskirą rodinį"" ir pažymėti visą mano kaip tik skaitomą. Tai yra veiksmingas metodas, bet yra trūkumas kad veiksmingai sukūriau dvi visą versijos tokia pačia forma ir turi dabar juos sinchronizuoti rankiniu būdu. Jei pridėsite lauką galima redaguoti rodinį, turi tada pridėkite jį prie rašydami nuomonės taip pat. Laikui bėgant, su įvairių kūrėjų, ten gali būti kai kurie skirtumai.

Ši alternatyva galėtų dirbti geriau kai kuriais atvejais:

  • Pridėti naują lauką į formą vadinama "IsEditable".
  • Nustatyti numatytąją reikšmę TRUE.
  • Skatinti jį publikuojant į MOSS.
  • Darbo eigos, Nustatykite IsEditble reikšmę false.
  • Grįžti į formą.
  • Pridėti taisyklę, kad "ant atviros formos", išjungti jūsų įrašymo mygtuko, kai IsEditable yra klaidinga.

Prie šio metodo trūkumas yra tas, kad visi laukai bus vis dar galima redaguoti ekrane. Vartotojas gali gauti klaidingą įspūdį, kad jie iš tikrųjų gali pakeisti turinį. Galite sumažinti, įtraukdami į kokį nors tekstą, kad forma yra išjungta, galbūt – didelis raudonas raides puslapio viršuje.

Viename projekte, Aš sukūriau "darbo eigos būsenos" Rodyti. Kaip darbo eigos progresavo, tai būtų atnaujinti konkrečios padėties laukus, kurie paskatino iš formos. Kai vartotojas atidarė forma, "atidaryti formą" taisyklė automatiškai perjungiamas į kad Rodyti ir vartotojas turėjo gražus mažai santrauka statusą.

</pabaigos>

Prenumeruoti savo dienoraštį.

Perjungti rodinį rodinys pagal vartotojo ID InfoPath forma

Mes turėjome per išsivysčiusių programos InfoPath formą su kelis rodinius remti naują nuomos / įkėlimo procesą. Kai įmonė samdo naują asmenį, IT departamente ir kitų grupių reikia imtis veiksmų (nustatyti algalapį, įgalinti prieigą prie atitinkamų programų, Raskite rašomasis stalas, ir tt). Mes naudojame forma, bet skirtingos rodinys formos kiekvienam iš šių funkcijų.

Šioje firmoje, Dauguma žmonių dalyvauti verslo procesas yra IT-išminties, Taigi, kai jie patekti į formą, jų numatytasis rodinys yra "meniu" Rodyti su mygtukai, nukreipti juos į jų specifinę funkciją. Tačiau, mums reikia supaprastinti dalykų dėl naujos nuomos tiesioginis vadovas. Šis asmuo neturėtų matyti, bet IT susijusių dalykų. tiesą sakant, ji turėtų matyti tik vieną rodinį formos ir net nereikia turėti galimybę pamatyti kitų nuomonę.

Mūsų atveju, sąnaudomis ir kad tiesioginiai valdytojo sąskaitos yra tiesiogiai susijęs su forma uprzejmości a kontaktų pasirinkimas (kurios aš visada nori skambinti "žmonių išrinkiklis" dėl tam tikrų priežasčių).

Veiksmai yra tokie:

1. Dizaino režimu, eikite į Tools-> Formos parinktys-> Atidaryti ir įrašyti.

2. Pasirinkite "taisykles".

3. Sukurti naują taisyklę, kurio veiksmai yra "perjungti peržiūrėti" ir pagal kurio būklę naudoja vartotojo vardas() funkcija.

Vartotojo vardas() Grąžina "paprastas" Vartotojo vardas be domeno. Jei įeinate į SharePoint su kredencialais "domainpagalvin", Vartotojo vardas() Grąžina "pagalvin".

Kontaktų selektoriaus suteikia tris bitus informacijos kontakto. "AccountID" dalis yra labiausiai naudinga šį scenarijų. Vienintelis dalykas, kuris daro tai net šiek tiek iššūkis yra tai, kad kontakto selektorius (mano aplinkoje bet kokiu atveju) Grąžina domeną ir vartotojo ID, kaip "domainpagalvin". Tai neleidžia mums daryti paprastas lygybės sąlyga nuo AccountID ("domainpagalvin") niekada, bus lygi vartotojo vardas() ("pagalvin").

Mes galime gauti aplink šį naudojant į "yra" operatorius: AccountID yra vartotojo vardas().

Mes galime imtis ją toliau ir pre-Pen užprogramuotas domeno prieš vardas() funkcija gauti mūsų lygybę tikrinti ir pašalinti laikoma teigiama rizika dėl to yra operatorius.

Mes turėtume tikrai kaip automatiškai perjungti peržiūrėti kitiems vartotojams pagal jų skelbimo saugos grupės narystę. Pvz., kai narys "tai analitikas" grupės užklausų forma, automatiškai perjungti į IT analizės rodinį. Mes neturėjo laiko ją įgyvendinti, bet mano pirmoji mintis yra sukurti interneto paslauga, kuri būtų metodą pvz., "IsMemberOfActiveDirectorySecurityGroup", perduoti vardą() ir grįžti atgal true arba false. Ar kas nors kitaip, daugiau protingas idėja? Ar yra nors SharePoint funkcija mes sverto InfoPath sprendimas?

</pabaigos>

Technorati Tags: