Autor: Dawid Książek
Tegoroczna konferencja Directions EMEA przyniosła wiele interesujących spostrzeżeń ze świata Business Central. Wraz z rozwojem systemu ewoluują również narzędzia, które umożliwiają jego rozwój. W najnowszej wersji systemu (2023 wave 2) wprowadzono kilka usprawnień dla deweloperów.
1. Przestrzenie nazw
Przestrzeń nazw to sposób organizacji różnych nazw lub identyfikatorów, które należą do określonej grupy lub kontekstu
- grupowanie obiektów według funkcjonalności w celu poprawy możliwości odnalezienia
- zmniejszenie/prewencja kolizji nazw
Przestrzenie nazw – składnia
- pierwsze zdanie w pliku źródłowym
- obejmuje wszystkie obiekty w pliku
- przestrzenie nazw mogą być zagnieżdżane za pomocą kropki
- nazwy przestrzeni nazw muszą być zgodne z CLS
- ta sama przestrzeń nazw może być używana w wielu plikach
- ta sama przestrzeń nazw może być używana w wielu modułach
Źródło grafiki: Directions EMEA 2023
Przestrzenie nazw – sposób użycia
- użycia przenosi wszystkie obiekty z przestrzeni nazw do zakresu
- nie ma kolejności
Źródło grafiki: Directions EMEA 2023
Przestrzenie nazw – pełne nazwy kwalifikowane
- alternatywa dla dyrektyw użycia
- specyficzne dla pojedynczego obiektu
- eliminuje ryzyko konfliktów nazw
Źródło grafiki: Directions EMEA 2023
Przestrzenie nazw – 2 reguły
- Tylko jeden obiekt tego samego rodzaju o tej samej nazwie w module
- Tylko jeden obiekt tego samego rodzaju o tej samej nazwie w przestrzeni nazw
Przestrzenie nazw – Eksplorator AL
Źródło grafiki: Directions EMEA 2023
2. Identyfikacja i rozwiązywanie problemów
Eksploracja i debugowanie w VS Code z klienta sieci Web
Przegląd opcji Eksploruj i Dołącz
Źródło grafiki: Directions EMEA 2023
Uprawnienia
- brak uprawnień do Dołącz w Pomocy i Wsparciu
- „Narzędzia do rozwiązywania problemów” dla opcji Inspektor strony
Źródło grafiki: Directions EMEA 2023
Szczegóły błędu zawierające stos wywołań
Error Call Stack określa stos wywołań, w którym wystąpił błąd.
Źródło grafiki: https://yzhums.com/17861/
Źródło grafiki: Directions EMEA 2023
IntelliSense w konsoli debugera
W wersji 2023 (wave 2) konsola obsługuje IntelliSense dla typów obiektów i symbole elementów, które mogą być oceniane w kontekście debuggera: pola, obiekty lokalne, globalne i symbole elementów, które nie są metodami na typie danych.
Źródło grafiki: https://yzhums.com/43256/
Dodatkowe interwały próbkowania w profilowaniu
Microsoft dodał nowe ustawienia, które pozwalają użytkownikom wybierać między 50, 100 i 150 ms.
Źródło grafiki: Directions EMEA 2023
Źródło grafiki: Directions EMEA 2023
Podsumowanie: Próbkowanie podczas profilowania
Źródło grafiki: Directions EMEA 2023
3. Język AL
Wariant
Wariant do Słownika/Listy – możliwe jest teraz przypisanie List i Dictionary do Wariant. Typ Wariant został rozszerzony o dwie nowe właściwości IsList i IsDictionary, aby umożliwić wykrycie, czy zawiera on odpowiednie typy.
Nowe metody typu wariantu:
- IsDictionary – reprezentuje nieuporządkowaną kolekcję kluczy i wartości. Typ danych Dictionary jest zoptymalizowany pod kątem szybkiego wyszukiwania wartości.
- IsList – reprezentuje listę uporządkowanych obiektów, do których można uzyskać dostęp za pomocą indeksu. W przeciwieństwie do typu danych Array, lista jest nieograniczona, więc jej wymiar nie musi być określony przy deklaracji.
Źródło grafiki: https://yzhums.com/42578/
Bezpieczny tekst
- nowy typ danych dla zmiennych i parametrów
- chroni dane przed inspekcją w debugerze AL.
- ustawianie SecureText w metodach oznaczonych jako [NonDebuggable]
- przekazywanie SecureText wewnętrznie w swoim rozszerzeniu
Źródło grafiki: https://yzhums.com/42691/
Fieldgroup
Dzięki tej nowej funkcji rozszerzenia tabel będą mogły dodawać FieldGroup do istniejących tabel.
Działa to w ten sposób, że rozszerzenie tabeli może dodawać pola za pomocą słowa kluczowego „addlast” w grupach pól Dropdown lub Brick, tak jak obecnie. Jeśli jednak grupa pól nie istnieje w tabeli, która jest rozszerzana, zostanie ona utworzona.
Źródło grafiki: https://yzhums.com/42611/
Źródło grafiki: https://yzhums.com/42611/
Możliwość dodania istniejących pól tabeli
- szybszy dostęp do danych, bez kosztownego rozwoju
- więcej pól do wyboru, w sekcji Wszystkie pola
- dodane pola tabeli nigdy nie są edytowalne
- dostępne w dostosowaniach ról
AllowInCustomizations
- opcja zawsze zezwalaj (domyślnie)
- opcja nigdy nie zezwalaj
Źródło grafiki: Directions EMEA 2023
Źródło grafiki: Directions EMEA 2023
Źródło grafiki: Directions EMEA 2023
AnalysisModeEnabled
Programiści AL mogą wyłączyć tryb analizy danych za pomocą metadanych obiektu strony. Włączone domyślnie. Ustawia wartość określającą, czy tryb analizy na stronie jest dozwolony.
Możliwość wyłączenia trybu analizy dla listy lub arkusza roboczego
Źródło grafiki: Directions EMEA 2023
Możliwość uruchomienia Query z RunObject
Dzięki tej funkcji programiści mogą łatwiej udostępniać zapytania użytkownikom, którzy muszą przeprowadzić analizę danych ad hoc. Można dodać zapytanie jako akcję na stronach za pomocą właściwości RunObject.
Źródło grafiki: https://yzhums.com/43703/
Źródło garfiki: https://yzhums.com/43703/
ExcelLayoutMultipleDataSheets
Umożliwia utworzenie wielu arkuszy danych w Excelu. Ułatwia złożone raportowanie z wieloma zestawami danych w jednym raporcie Excela.
Źródło grafiki: Directions EMEA 2023
Źródło grafiki: Directions EMEA 2023
Nawigacja: poprawa zakresu działania „Znajdź wszystkie odwołania”
Polecenie Find All References pozwala znaleźć, gdzie znajdują się odniesienia do poszczególnych elementów kodu w całej bazie kodu. Polecenie Find All References jest dostępne w menu kontekstowym (po kliknięciu prawym przyciskiem myszy) elementu, do którego chcesz znaleźć odniesienia. Działa na wyzwalaczach, metodach systemowych i zdarzeniach wyzwalaczy.
Źródło grafiki: Directions EMEA 2023
Pola z bogatą zawartością
Cześć natywna platformy, obejmująca
- pasek narzędzi z skrótami klawiszowymi
- obsługa formatowania, obrazów, linków, tabel
- kopiuj i wklej
- wielowierszowy, umiarkowany rozmiar
- wyjście HTML
Idealne do tworzenia treści multimedianych, takich jak treść e-maila, posty na mediach społecznościowych czy bogate notatki.
Źródło grafiki: https://yzhums.com/41989/
Źródło grafiki: https://yzhums.com/41989/