20.12.2023

Co nowego w narzędziach deweloperskich?

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

  1. Tylko jeden obiekt tego samego rodzaju o tej samej nazwie w module
  2. 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/