Od jakiegoś czasu miałem nieprzyjemność zmagać się z błędem uniemożliwiającym usunięcie zamkniętych działań z widoków w CRM, po migracji z CRM 4.0 do CRM 2011. Problem występuje tylko i wyłącznie podczas usuwania rekordów z widoków, nie z formatek. I tylko i wyłącznie po migracji z CRM 4.0 i to nie na każdym środowisku. Nie ma jednak wytycznych, co powoduje występowanie tego błędu na części środowisk.
Informacja, jaką generuje CRM brzmi:
„Żądany rekord nie został znaleziony lub nie masz wystarczających uprawnień, aby go wyświetlić.”
W tle generuje się błąd:
„Appointment With Id=GUID Does Not Exist”
Problem w tym, że to nie termin (appointment) chcemy usuwać. A tu podczas próby usunięcia dowolnego zamkniętego działania z widoku, niezależnie od typu działania, CRM próbuje usuwać termin o danym GUID. Oczywiście go nie znajduje w bazie i pojawia się problem.
Microsoft na razie nie podał przyczyny takiego zachowania CRM 2011 po migracji, ale błąd jest już znany.
SPOSÓB NAPRAWY
Możemy próbować się pozbyć tego błędu poprzez:
1. Eksport dostosowań, w których znajduje się widok, w którym próbujemy usuwać działanie.
2. Edycję dostosowań w XML poprzez dodanie następującej linijki po wszystkich innych linijkach opisujących „komórki” widoku:
<cell name="instancetypecode" width="100" ishidden="1" />
Chodzi o to, żeby CRM wiedział z instancją jakiego działania ma do czynienie, kiedy próbuje je kasować.
3. Ponowny import i publikację dostosowań
To rozwiązanie, nie wiedzieć czemu, nie działa jednak na wszyskich widokach. Ale jest miła niepodzianka – Microsoft świadomy tego błędu, obiecał przygotować poprawkę w jutro wydanym Update Rollup 4. Czekam z niecierpliwością, bo wkurzam się coraz bardziej, że „standardowa” migracja niby działa, ale nie do końca. Nigdy nie wiadomo po jakim czasie i co się zepsuje.
Uprzejmie donoszę, że… taki sam komunikat zaczyna występować w czysto zainstalowanym CRM2011 w odniesieniu do custom entity. Nie wiadomo dlaczego Administrator CRM’a nie może otworzyć żadanego elementu (formatki) z zawartością (widzi pozycje na liście) i dostaje właśnie identyczny komunikat. Jedyną metoda aby ponownie mógł odtwierać formatki z danymi (nwet przez siebie wprowadzonymi jako ich właściciel – tych rekordów) – to utworzyć nową formatkę główną (kopia) i sobie przypisać prawo z niej korzystania. Zdarzyło mi się to już 4 razyi nie wiem dlaczego coś się posypało w security CRM’a – ale przeraża mnie, że coś takiego może się w ogóle zdarzyć.
Warto sprawdzić, czy mamy do czynienia z takim samym komunikatem, czy z takim samym błędem. Bo komunikat o braku uprawnień i nieznalezieniu rekordu może być spowodowany zupełnie innym błędem. Chodzi o dowolną formatkę nowych encji, czy o zamknięte działanie?
Chodzi jedynie o identyczny komunikat i dotyczy formatki encji użytkownika. Zaczynam podejrzewać, że może to mieć związek z tym, że miałem jednocześnie otwarte i edytowane formatki na tym samym crm dwie różne organizacje – ale dotyczące tak samo nazywającej się encji. Czasem występuje taka potrzeba jak się chce skopiować ręcznie layout i/lub utworzyć identyczne pola bo nie można zaimportować formatki w całości (powiązania różnymi relacjami z innymi encjami via lookupy).