Import wartości zestawu opcji do systemu CRM za pomocą CrmXpress OptionSet Managera

Dynamics CRM

Jednym z typów pól dostępnych w systemie Dynamics CRM jest zestaw opcji (OptionSet), czyli (przekładając na język cywilizowanych ludzi) lista wyboru. Na pewno większość osób pracujących nad dostosowywaniem sytemu zetknęła się z problemem tworzenia pól ww. typu, zawierających duże ilości różnych możliwych opcji. Przykładem zadania tego typu może być utworzenie słownika wszystkich krajów w formie listy rozwijalnej. Ręczne wprowadzanie tych wartości do systemu jest mocno pracochłonne, niestety producent systemu (o Tobie mówię Microsofcie) nie dostarczył w ramach aplikacji żadnych narzędzi wspomagających to zadanie.

Możliwych sposobów importu do systemu wartości dla zestawu opcji jest kilka. Możemy mozolnie wklepywać wartości słownika do systemu (jak wspomniałem powyżej jest to czynność monotonna i mocno upierdliwa). Możemy wykorzystać mechanizm importu danych do systemu CRM lub też stworzyć prostą aplikację, która zaimportuje pożądane dane słownikowe dla naszej organizacji. W końcu – możemy wykorzystać program CrmXpress OptionSet Manager for Dynamics CRM. W poście tym chciałbym skoncentrować się na tej ostatniej opcji.

Wymienione powyżej narzędzie, poza topornym, działającym jednowątkowo interfejsem użytkownika ma jedną zasadniczą wadę – działa jedynie z systemami CRM w angielskiej wersji językowej. Możemy jednak w bardzo prosty sposób zmodyfikować jego kod źródłowy tak, żeby było możliwe użycie go z np. polską wersją systemu CRM. W tym celu musimy wykonać następujące kroki:

1. Ściągamy źródła programu ze strony: https://optionsetmanager.codeplex.com/releases/view/85435

2. Sprawdzamy, czy program się kompiluje – jeżeli nie – najczęściej przyczyną tego będą niepoprawne referencje do bibliotek zewnętrznych (CRM SDK) lub ustawiona domyślnie wersja .NET Framework.

3. W kodzie aplikacji dodajemy następującą klasę statyczną:

public static class Language
{
public static int Version = 1045;
}

4. Następnie z wykorzystaniem magicznego skrótu „Ctrl + H” w Visual Studio – zastępujemy wszystkie wystąpienia ciągu znaków „1033” na „Language.Version”.
Przykładowo – linia kodu, która wyglądała przed modyfikacją w następujący sposób:

DisplayName = new Microsoft.Xrm.Sdk.Label(this.OptionSetLabelTextBox.Text.Trim(), 1033)

Po wykonaniu opisanych powyżej operacji powinna wyglądać następująco:

DisplayName = new Microsoft.Xrm.Sdk.Label(this.OptionSetLabelTextBox.Text.Trim(), Language.Version)

5. Kompilujemy i uruchamiamy program :).

Oczywiście, opisana powyżej modyfikacja polega jedynie na zamianie w źródłach programu kodu języka angielskiego (1033) na pożądany przez nas (1045). Dalsze modyfikacje aplikacji mogą polegać na dodaniu możliwości wyboru kodu językowego z pośród zainstalowanych z poziomu interfejsu użytkownika. Z tym jednak każdy średniozaawansowany programista powinien poradzić sobie samodzielnie bez najmniejszego problemu.

Total Views: 379 ,