A SharePoint 2013, vagy az Office365 felhasználói köreiben az egyik leggyakoribb felvetés, hogy miként lehet úgy létrehozni dokumentumot, dokumentumokat, hogy azok egyéb SharePoint listában tárolt, felvett információk alapján automatikusan legyenek kitöltve...
... logikus igényként mondjuk egy partnerhez létrehozandó szerződés esetében, vagy egy elvégzet tanfolyamhoz tartozó oklevél kitöltése esetében. Ez utóbbit mutatnám meg pár egyszerű lépésben.
Egyébként maga a folyamat elég egyszerű, és nem csak a bemutatott módon lehet egyszerű szöveggel behelyettesíteni a dokumentumsablon hiányzó részeit, hanem akár választólistát is tudunk készíteni, és ahhoz kapcsolt WikiPages lapokat is befűzni a dokumentumba.
Maga a megoldás nem fog tartalmazni egyedi kódokat, teljes egészben a SharePoint beépített eszközeire fogok támaszkodni, és a SharePoint Designer 2013 WorkFlow szerkesztőjére.
Első lépés
Hozzunk létre egy dokumentumtárat mondjuk „Oklevelek” néven. Ide fognak létrejönni a kész oklevelek. Vegyük fel új oszlopokként azokat a mezőket, melyeket szeretnénk ha kitöltésre kerülnének a dokumentumon. Példánk esetében:
- Azonosító szám;
- Tanuló neve;
- Tanfolyam megnevezése;
A dokumentumunk kialakítása közben lehetőségünk van arra, hogy az „beszúrás” menüszalagon található „Kész modulok” (Quick Parts) lehetőségei közül a „Dokumentumtulajdonság”-ot választva be tudjuk szúrni a tartalomba a SharePoint tárunkba létrehozott oszlopainkat is.
Amint készen vagyunk, elmenthetjük a dokumentumot ugyan oda ahonnét megnyitottuk (…/ Oklevlek/Forms/) De! Nagyon fontos, hogy ne csak DOTX-ként tegyük, hanem DOCX-ként is! Ugyanis a rendszer a DOTX-ből jozza létre az új dokumentumot, de a DOTX formátumban nem működnek a beszúrt mezők adatelérései, ezért szükség van a DOCX formátumra is!
Ha sikeresen visszamentettük a „…/ Oklevlek/Forms/”-ba a template.docx oklevelünket, akkor már csak a dokumentum sablon URL címét kell ennek megfelelően átírnunk (pl.: Oklevlek/Forms/template.docx).
Második lépés
Hozzunk létre egy „egyedi listát” mondjuk „Tanulók” néven, amiben létrehozni (tárolni) fogjuk tanulóink, és a nekik járó okleveleik adatait.
A létrehozott listában vegyük fel a ugyanazokat a mezőket amiket a dokumentumtárnál is felvettünk:
- Azonosító szám;
- Tanuló neve;
- Tanfolyam megnevezése;
Harmadik lépés
A Workflow szerkesztési felületén hozzunk létre egy új „Action”-t ami egy másik listában egy új elemet hoz létre (Listaelem létrehozása).
A „Lista” linkre kattintva, a felbukkanó ablak tetején lévő választó mezőben keressük meg az „Oklevelek” dokumentumtárunkat, és válasszuk ki.
Pár másodperces várakozás után beolvassa a kötelező mezőket a dokumentumtárból, és azokat felsorolja a mező listában. Minden kötelező mezőnek értéket kell adnunk, különben hibára fut a WorkFlow. Tehát, a „Path and Name”-nek adjunk értéket. Jelöljük ki a sort, és kattintsunk a „Modify…” gombra. Az érték mezőnél az „Fx” gomb segítségével választhatunk a lehetőségek közül. A példában az „azonosító szám” lesz a neve az oklevélben ami létrejön a sablon alapján a dokumentumtárban.
Hasonlóképpen adjuk meg az általunk létrehozott mezők értékeit. Az „Add…” gomb segítségével.
- Azonosító szám - Azonosító szám;
- Tanuló neve - Tanuló neve;
- Tanfolyam megnevezése - Tanfolyam megnevezése;
Igazából készen is vagyunk
Miután elmentettük az új elemünket a „Tanulók” listában, várjunk pár pillanatot míg a WorkFlow lefut. Az F5 segítségével frissíthetjük a képernyőt, és ha megjelenik a „Stage1” felirat (amennyiben 2013-as WorkFlow-t hoztunk létre), rákattintva le tudjuk ellenőrizni, hogy a folyamat rendben befejeződött.
Amennyiben igen, úgy az „Oklevelek” dokumentumtárunkban már létrejött egy dokumentum az általunk megadott adatokkal.
Mint a legelején írtam, ez igazán nem egy bonyolult dolog. Rengeteg módon felhasználható ez az egyszerű dokumentumkitöltési módszer: Alapszerződések kitöltésére, jelenléti ívek létrehozására, stb.
Nyilván tovább építhető a dolog, hisz mindez akkor is működik, ha „ContentType”-okban gondolkodunk, és esetlegesen „DocmentumSet”-ekkel építkezünk. A felhasználási lehetőségek szinte korlátlanok(!) ;)