sobota, 17 marca 2012

Kilka aspektów numeracji wpisów

Jeżeli będziecie robić rozwiązanie dla większej ogranizacji to spotkacie się zapewne z problemem numeracji - organizacja będzie chciała nadawać numerację elementom w określonym formacie, zerować ją w każdym roku, mieć osobne numery dla różnego rodzaju pism, itd.

Pierwszym problemem jest otrzymanie takiego numeru - naturalnym byłoby użycie ID elementu. Korzystanie z ID ma ten plus, że jest generowane przez SharePoint'a i jest unikalne. Wadą jest to, że nie możemy go nijak kotrolować i że nie możemy go używać w kolumnach obliczeniowych (co będzie nam potrzebne w następnych krokach). Możemy ten problem obejść używając prostego przepływu do kopiowania wartości z kolumny ID do dedykowanej kolumny typu tekst lub nr. Jeżeli do ID mielibyśmy dodać np rok utworzenia pisma, to przy pomocy przeplywu możemy to zrobić. Natomiast, jeżeli mielibyśmy sami nadawać numer, to musimy tutaj niestety skorzystać z rozwiązania pisanego w kodzie lub kupic rozwiązanie firmy trzeciej - np SmartID od InfoWise. Można się pokusić o zrobienie bardziej skomplikowanego rozwiązania opartego o przepływy, niestety w takim przypadku ciężko zapewnić unikalność numeru, jeżeli dwie osoby równocześnie stworzą element.

Kiedy już mamy w kolumnie numer, możemy go formatować przy pomocy kolumny obliczeniowej. Ponieważ SPD nie ma takich zaawansowanych opcji jak praca w pętli lub policzenie ilości znaków w tekscie, to nie pomoże nam stworzyć numeru. Ale jeżeli użyjemy kolumny obliczeniowej, to SPD może wartość z tej kolumny przeczytać wartość i skopiować ją np. do tytułu elementu.
Kolumna obliczeniowa może zrobić różne rzeczy z naszym numerem. Po pierwsze - może ustawić nam stałą długość numeru, tzn, zamiast numeru 234 stworzyć 000234 - czyli zapewnić, że znak ma zawsze 6 cyfr. Żeby to zrobić należy w kolumnie obliczeniowej należy wprowadzić formułę:

 POWT("0";6-DŁ(Numer])) & TEKST([Numer])
zakładając, że numer trzymamy w kolumnie o nazwie "Numer". Cyfra "6" określa ile znaków chcemy mieć w numerze.

Jeżeli dodatkowo chcemy do takiego numeru dołożyć dwie ostatnie cyfry roku to do powyższej formuły możemy dopisać:
&"/"&TEKST(Utworzony;"yy")
W analogiczny sposób możemy do kolumny dodawać kolejne atrybuty zależne od różnych metadanych elementu.

Na zakończenie bonus - lista z różnymi ciekawymi zastosowaniami funkcji kolumn obliczeniowych od firmy Pentalogic (konieczna jest rejestracja). Dokument jest po angielsku, ale SharePoint polski rozumie funkcje angielskie. Co ważne - konieczna jest zmiana przecinków rozdzielających parametry funkcji na średniki (w polskim zapisie przecinek służy do rozdzielania części dziesiętnych liczby).

1 komentarz:

  1. Czy da się jednak stworzyć liczbę porządkową. Zaczynam prace z Sharepoint, ale bardzo doskwiera mi brak lp na listach. Użytkownikom wygodniej się przegląda listy kiedy mają kolumnę lp- przyzwyczajenie z excela.

    Jakub

    OdpowiedzUsuń