Dodaj metodę wyświetlania lub edycji za pomocą rozszerzenia w Dynamics 365
Opublikowano: 16 lutego 2025 11:55:50 UTC
Ostatnia aktualizacja: 12 stycznia 2026 08:57:25 UTC
W tym artykule wyjaśnię, jak za pomocą rozszerzenia klasy dodać metodę wyświetlania do tabeli i formularza w Dynamics 365 for Operations, załączając przykłady kodu X++.
Add Display or Edit Method via Extension in Dynamics 365
Chociaż planowanie wykorzystania metod wyświetlania i edycji w Dynamics powinno skłonić Cię do zastanowienia się nad możliwością zaprojektowania rozwiązania w inny sposób, czasami jest to najlepsze wyjście.
Poprzednich wersjach systemów Dynamics i Axapta tworzenie metod wyświetlania i edycji w tabelach i formularzach było bardzo proste, ale gdy niedawno musiałem utworzyć swoją pierwszą metodę edycji w systemie Dynamics 365, odkryłem, że procedura jest nieco inna.
Istnieje oczywiście kilka słusznych podejść, ale to, które uważam za najlepsze (zarówno pod względem intuicyjności, jak i estetyki kodu), to użycie rozszerzenia klasy. Owszem, można użyć rozszerzeń klasy, aby dodać metody do innych typów elementów niż klasy – w tym przypadku tabeli, ale działa to również w przypadku formularzy.
Najpierw utwórz nową klasę. Możesz nadać jej dowolną nazwę, ale z jakiegoś powodu musi mieć przyrostek „_Extension”. Załóżmy, że chcesz dodać metodę wyświetlania do CustTable, możesz na przykład nazwać ją MyCustTable_Extension.
Klasę należy ozdobić poleceniem ExtensionOf, aby system wiedział, co rozszerzasz, w następujący sposób:
public final class MyCustTable_Extension
{
}
Teraz możesz zaimplementować metodę wyświetlania w tej klasie, tak jak robiłeś to bezpośrednio w tabeli we wcześniejszych wersjach Dynamics — „this” odwołuje się nawet do tabeli, więc możesz uzyskać dostęp do pól i innych metod.
Na przykład klasa z prostą (i całkowicie bezużyteczną) metodą wyświetlania, która po prostu zwraca numer konta klienta, mogłaby wyglądać następująco:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Teraz, aby dodać metodę wyświetlania do formularza (lub rozszerzenia formularza, jeśli nie możesz edytować formularza bezpośrednio), musisz ręcznie dodać pole do formularza i upewnić się, że używasz prawidłowego typu (w tym przykładzie jest to ciąg znaków).
Następnie w kontrolce należy ustawić DataSource na CustTable (lub inną nazwę źródła danych CustTable), a DataMethod na MyCustTable_Extension.displayAccountNum (pamiętaj o uwzględnieniu nazwy klasy, w przeciwnym razie kompilator nie będzie mógł znaleźć metody).
I gotowe :-)
Aktualizacja: Nie jest już konieczne dodawanie nazwy klasy rozszerzenia podczas dodawania metody wyświetlania do formularza, ale w momencie pierwotnej publikacji tak było. Pozostawiam tę informację na wypadek, gdyby niektórzy czytelnicy nadal korzystali ze starszych wersji.
Dalsza lektura
Jeśli podobał Ci się ten wpis, mogą Cię zainteresować również poniższe sugestie:
- Tworzenie pola odnośnika dla wymiaru finansowego w Dynamics 365
- Przełączanie Dynamics 365 FO Virtual Machine Dev or Test w tryb konserwacji
- Aktualizuj wartość wymiaru finansowego z kodu X++ w Dynamics 365
