Przejdź do głównej zawartości

Diagnoza: jak namierzyć błąd

Błędy zdarzają się każdemu. Ważne, żeby szybko znaleźć miejsce, w którym powstają. Poznajesz kilka sposobów.

  • Przykład: w akcji przycisku „Remove” celowo wstawiony błąd (return w onClickExpression).
  • Po kliknięciu przycisku komunikat w konsoli wskazuje dokładne miejsce:
    • ścieżkę — tabela, wiersz, kolumna (tu kolumna o indeksie 3, czyli „Remove”),
    • komponent,
    • właściwość (onClickExpression),
    • co jest nie tak.
  • Z tą ścieżką idziesz do modelera, poprawiasz i sprawdzasz jeszcze raz.
  • Formularz jest zapisany jako JSON. Po zaznaczeniu Show JSON editor widzisz:
    • zapytania i procesy dostępne z formularza, z przyciskiem kopiowania identyfikatora. Stąd bierzesz Guid procesu do źródła danych proc: z lekcji 10,
    • cały formularz w JSON. Czasem łatwiej coś tam podejrzeć albo zmienić i zapisać.
  • Proces formularza debugujesz tak samo jak zwykły proces. Podajesz parametry wejściowe:
    • absenceId,
    • mode: init albo put — od tego zależy, którą ścieżką pójdzie proces,
    • dane z formularza (input).
  • Przykład: init z pustym Guidem — widać, że proces poszedł ścieżką init i wczytał potrzebne dane.
  • W aplikacji otwórz narzędzia deweloperskie, zakładka Network, i zapisz formularz.
  • W żądaniu zapisu (view source) znajdź wartość data i skopiuj ją, bez dodatkowych parametrów.
  • Wklej ją jako input w debugowaniu procesu (w trybie put) i uruchom. Zobaczysz, którą ścieżką idzie proces przy dokładnie tych danych. Działa też dla zapisów, które kończą się błędem.

Błąd na formularzu → Console (ścieżka + właściwość). Guid procesu → Show JSON editor. Błąd w procesie → debug procesu, a prawdziwe dane do debugowania bierzesz z zakładki Network.