Dostałem w sobotę telefon, że na list view (All items) nie można pogrupować faktur po polu lookup. Na początku zacząłem kombinować co może być nie tak – czy mój Content Type, czy może coś innego. Potem się wkurzyłem i zrobiłem grupowanie po polu lookup na dwóch testowych listach, wynik był pozytywny:

bug03

Pole ttt to lookup do listy Kontrahenci.

Jak zobaczyłem, że działa to już w ogóle zwątpiłem. Co mogę mieć nie tak, czemu tam działa a u mnie jest taki widok:

bug02

Pół biedy, jak tylko włączyliśmy system zabezpieczeń per element, a następnie go wyłączyliśmy (wyłączenie resetuje z powrotem do stanu „dziedzicz uprawnienia”), wygląd zmienił się na taki:

bug01a

Okazało się iż przyczyna jest błaha. Jednak dość wkurzająca i warto o tym pamiętać. Nasz lookup nie był lookupem do pola Nazwa/Tytuł czy jakiegoś innego prostego typu, ale do pola obliczeniowego. Teraz SharePoint takie pole nie przechowuje zgodnie z zasadą (część drukowana = zmienna, małe litery część stała):

ID;#NAZWA

Ale

string;#NAZWA

I najwidoczniej List View ma problem z pogrupowaniem i przefiltrowaniem danych. Jednak najlepsze przed nami :) nie zawsze jak się pobiera dane to są one w formacie string;#NAZWA. Może się zdarzyć – np.: przy DataTable – iż pole to będzie zawierało tylko NAZWA, ba… podczas pobierania tej wartości w Event Receiver będzie ona miała wartość ID;#NAZWA.

Rozwiązaniem była zmiana typu lookupu z pola obliczeniowego na pole zwykłe (tekstowe) i wszystko zaczęło śmigać:

bug01

Jeszcze parę takich bugów a popełnię hara-kiri krakersem!