Workflow: Zapisy na

Kontynuuję cykl wpisów poświęconych zastosowaniu przepływów pracy w codziennej pracy z SharePoint. Na dziś dzień umiemy już zabezpieczać dostęp do danych zgromadzonych w SharePoint, co można uznać za kwestię fundamentalną dla dalszych prac z przepływami. W tym wpisie pokażę, jak w prosty sposób można zorganizować zapisy na szkolenia, badania czy też prostą rezerwację sali lub zasobu.

kolejka

Realizowany scenariusz

Rozważamy sytuację, w której mamy skończoną listę elementów: terminów, wizyt, szkoleń, na które chcemy umożliwić użytkownikom zapisywanie się. Zależy nam na tym by uniemożliwić dwum osobom zarejestrowanie się na jeden termin oraz chcemy dać możliwość zobaczenia tylko dostępnych terminów. W tym wypadku rozważamy uproszczony scenariusz bez możliwości zwolnienia terminu. W opisanym przypadku nie dodamy zrywania uprawnień na poziomie elementu, nie mniej warto rozważyć dodanie takiej funkcji np. ze względu na ochronę danych osobowych.

Przygotowanie witryny SharePoint

Lista terminów

Przygotowujemy listę która będzie zawierać listę terminów, na które możemy się zapisać. Tworzymy następujące kolumny:

  • Tytuł – domyślna kolumna – W niej zawrzemy nazwę danego terminu, np. 30.03.2013 – Szkolenie numer 1

tytul

  • Status – pole liczbowe lub wyboru gdzie będziemy oznaczać czy dany termin został zarezerwowany. Wartość 0 lub 1

status

  • Termin – pole obliczeniowe, które jeżeli termin nie będzie zarezerwowany będzie zwracać wartość pola tytuł, w innym wypadku nie zwróci nic.

termin

Kolejnym krokiem jest ukrycie wszystkich kolumn poza polem Tytuł dla użytkowników. Realizujemy to zgodnie z instrukcją ukrywania kolumna na liście SharePoint.

Lista zapisów

Na liście tej dodajemy  kolumny, które umożliwią zgromadzenie niezbędnych informacji i zainteresowanej osobie: Imię, nazwisko, Dział, dane kontaktowe. Dodatkowo dodajemy dwa pola:

  • Termin – Pole typu Odnośnik – do listy terminów i co ważne do pola Termin a nie pola Tytuł. Pole to będzie dostępne dla użytkowników do wyboru spośród dostępnych terminów

termin2

  • Termin szkolenia – Pole tekstowe – Będzie ono niezbędne do przechowania informacji o wybranym szkoleniu, gdyż po jego zarezerwowaniu zniknie z pola Termin.

termin3

W tym wypadku pole Termin szkolenia również ukrywamy z formularzy dostępnych dla użytkownika. Realizujemy to zgodnie z wpisem o ukrywaniu kolumn.

Tworzymy przepływ pracy

Budowanie przepływu pracy rozpoczynamy w tradycyjny sposób korzystając z listy Zapisy.

rejestracja-nowy

 

 

Ważne by przepływ zdefiniować tak by uruchamiał się tylko w sytuacji dodania nowego elementu.

rejestracja

Sam przepływ powinien mieć dwa etapy:

  • Rejestracja
    • Kopiujemy wartość kolumny Termin do kolumny Termin szkolenia


rejestracja1

    • Ustawiamy Zmienną przepływu pracy Liczba na 1
    • Ustawiamy wartość Pola Status na zmienną przepływu pracy Liczba

rejestracja-workflow

  • Mailing – wysyłamy mail do użytkownika z informacją o terminie szkolenia

mailing

Kilka uwag

Jak widzicie przepływ jest bardzo prosty, umożliwia zapisanie się na dany termin, a następnie “usuwa” ten termin z listy dostępnych. Przepływ kończy się wysłaniem potwierdzenia mailowego do użytkownika.

 

Zachęcam do tego by go stosować jako podstawę do dalszego rozbudowywania. Z doświadczenia wiem, że można go w prosty sposób rozbudować o dodatkowe przydatne funkcje

  • zerwanie uprawnień
  • rezygnacja z rezerwacji
  • zapisy wielu osób na jeden termin szkoleniowy
  • potwierdzanie zapisu przez opiekuna

 

 

10 thoughts on “Workflow: Zapisy na”

  1. właśnie zaczełam wykorzystywać sharepointa w pracy i nie mogłam się odnaleźć, dziękuję za tego typu wpisy, dużo mi dają i uczą 🙂

  2. Bardzo dobry wpis. Dzięki takim przykładom, które można sobie przeklikać człowiek uczy się wykorzystywania elementów SHP. Czekamy na więcej przykładów związanych z przepływami. Pamiętaj, że to co dla Autora jest proste i oczywiste, dla zaczynających przygodę z SHP często może być nie do odgadnięcia jeśli ktoś nie pokaże.

  3. Witam,
    mam pewien problem z tym obiegiem (SP Fondation, SPD 2013).

    W liście terminy przy niespełnionym warunku “jeżeli” wartość jest poprawnie kopiowana, ale przy spełnionym kolumna zamiast dostawać null’a dostaje wartość “-311028256”. Po wyedytowaniu kolumny i powrocie do widoku (bez zmiany formuły) pole dostaje null’a.

    Podobny problem mam po odpaleniu pierwszej części workflow’a dotyczącej skopiowania wartości “termin” do “termin szkolenia” po skopiowaniu dostaję prawidłową wartość, ale poprzedzoną przez, np: “1;#”.

    Czy to może być jakiś problem konfiguracyjny?

  4. Witaj Tomek,
    1. Reguła musi zwracać pojedynczy wiersz tekstu plus możesz w ostateczności dać tam spację i przetestować to.
    2. Podczas konfiguracji kopiowania wartości możesz zdecydować jaki format ma zostać zwrócony. Zmień obecny format na opcję Lookup value.

  5. Dzięki za kolejny ciekawy i przydany wpis. SharePoint i praca w nim to coś czego od dawna pragnąłem się nauczyć. Dzięki twojemu blogowi i wpisom zyskałem kolejne kilka cennych informacji

  6. I see your blog needs some fresh & unique content.
    Writing manually is time consuming, but there is solution for this hard task.
    Just search for; Miftolo’s tools rewriter

Leave a Reply

Your email address will not be published. Required fields are marked *