Konsola
Konsola służy do wypróbowania fragmentu kodu Ninox, zanim umieścisz go w bazie: piszesz go, uruchamiasz i od razu widzisz wynik.
Konsola istnieje od wersji 3.1. Debugery, „Sprawdź”, „Formatuj” i autouzupełnianie JavaScriptu pojawiają się w wersji 3.2.0 (beta).
Karta Konsola pozwala pisać kod Ninox i od razu go wykonywać, jak w interpreterze, a następnie go dopracowywać: sprawdzanie bez wykonywania, debuger krok po kroku, debuger z odtwarzaniem.
Karta jest zarezerwowana dla administratorów. Wyświetla wyłącznie swoją ikonę, okno terminala, między kartami Śledzenie debugowania i Błędy; jej nazwa pojawia się po najechaniu kursorem. Można ją wyłączyć w panelu Ustawienia Ninext, w sekcji „Menedżer skryptów”.
Wybór kontekstu wykonania
Kod wykonuje się w kontekście rekordu, jak formuła jego tabeli — albo bez rekordu:
| Kontekst | Działanie |
|---|---|
| Brak śr. | Brak rekordu: kod jest obliczany jak kod globalny. |
| Aktywny rekord | Rekord wyświetlany na pierwszym planie w Ninox. Kontekst podąża za zmianami rekordu. |
| Rekord | Wybrany przez Państwa rekord spośród otwartych w oknach Ninox albo za pomocą Wybierz inny rekord…, co otwiera okno wyboru (tabela, wyszukiwanie, lista rekordów). |
| Formuła | Rekord zwracany przez wpisaną przez Państwa formułę, na przykład record(Customer, 12). Formuła jest obliczana ponownie przy każdym wykonaniu. |
Pasek kontekstu przypomina wybrany kontekst; jego krzyżyk go resetuje.
Pisanie kodu
Edytor Konsoli oferuje:
- kolorowanie składni Ninox;
- autouzupełnianie funkcji, tabel, pól i słów kluczowych podczas pisania lub skrótem Ctrl + Spacja;
- podkreślanie błędów (czerwona falista linia) i ostrzeżeń (bursztynowa kropkowana linia) podczas pisania, ze znacznikiem ⛔ lub ⚠ na marginesie;
- podświetlanie pozostałych wystąpień zaznaczonego słowa;
- przycisk Kopiuj w prawym górnym rogu, widoczny po najechaniu na edytor;
- uchwyt pod edytorem, który reguluje jego wysokość.
Autouzupełnianie JavaScriptu w blokach natywnych
W bloku #{ … }# Konsola oferuje taką samą pomoc przy pisaniu jak konsola przeglądarki, dostosowaną do tego, co blok faktycznie otrzymuje:
- widoczne zmienne i parametry Ninox, w postaci JavaScriptowej, wraz z typem;
- lokalne funkcje Ninox,
ui,databaseorazcallback, gdy blok jest zadeklarowany jako:callbacklub:async; - po kropce — składowe obiektu, a w przypadku rekordu nazwy jego pól; nazwa, która nie jest poprawnym identyfikatorem JavaScript, jest wstawiana w postaci
['…']; - w nagłówku
#{:— typy; po:nid(lub:rid(— lista tabel.
Ta pomoc istnieje tylko w Konsoli.
Wykonywanie

Zielony przycisk Uruchom uruchamia kod, podobnie jak Ctrl + Enter (⌘ + Enter na Macu). Jego strzałka rozwija trzy tryby:
| Tryb | Działanie |
|---|---|
| Uruchom | Wykonuje kod jednym ciągiem i wyświetla wynik. |
| Odtwarzanie | Wykonuje kod raz, a następnie pozwala przeglądać jego przebieg do przodu i do tyłu. |
| Krok po kroku | Wykonuje kod instrukcja po instrukcji, zatrzymując się tam, gdzie Państwo zdecydują. |
Wybrany tryb jest zapamiętywany; przycisk przyjmuje jego nazwę, a skrót klawiszowy uruchamia ten tryb. Wybranie trybu Krok po kroku lub Odtwarzanie od razu wyświetla pod edytorem pasek tego debugera, z poleceniami na miejscu, ale nieaktywnymi: nic nie jest wykonywane przed uruchomieniem. Po udanym wykonaniu kod zostaje ponownie sformatowany w edytorze; historia przechowuje tekst w takiej postaci, w jakiej go Państwo napisali.
Odczytywanie wyników

Wyniki układają się jeden nad drugim, najnowszy na górze; Konsola przechowuje ich dwadzieścia. Każdy wynik podaje swój typ, kontekst, datę, godzinę i czas wykonania; kliknięcie jego nagłówka go zwija, krzyżyk go usuwa, a Wyczyść opróżnia listę.
- Wartość prosta wyświetla się z przyciskiem Kopiuj.
- Rekord wyświetla się z przyciskiem, który otwiera go w Ninox, a jego pola — w postaci drzewa.
- Lista rekordów wyświetla się tak jak w widokach Ninox: formatowanie warunkowe, miniatury zdjęć, kolorowe kropki, szerokości kolumn. Jedna karta na każdy widok, w kolejności z Ninox; widoki, do których nie mają Państwo uprawnień, są ukryte. Gdy nie wszystkie karty się mieszczą, przycisk … („Więcej widoków”) wyświetla listę tych, które są poza polem widzenia. Kliknięcie wiersza otwiera rekord, a wiersze wczytują się po 100 w miarę przewijania.
- Obiekty i listy wyświetlają się w postaci rozwijanego drzewa; każdą wartość można skopiować, a rekord otworzyć jednym kliknięciem.
- Tekst zawierający JSON wyświetla się bez zmian; przycisk Drzewo rozwija go na żądanie.
- Tekst dłuższy niż 100 000 znaków wyświetla się od razu, w skróconej postaci, z przyciskiem Pokaż wszystko; Kopiuj zawsze kopiuje cały tekst.
Podczas długiego obliczania pojawia się wskaźnik oczekiwania.
Sprawdzanie bez wykonywania
Sprawdź (Ctrl + Shift + Enter, ⌘ + Shift + Enter na Macu) kompiluje kod bez jego wykonywania: bez żadnego wpływu na dane. Zgłasza błędy i ostrzeżenia Ninox oraz stosuje kontrole właściwe dla Ninext:
- funkcja interfejsu lub blok natywny umieszczone w
do as server, gdzie nie miałyby żadnego efektu; - zmienna zadeklarowana, a potem nigdy nieodczytana;
- składnia JavaScriptu w blokach natywnych;
- HTML i CSS przekazywane do
html().
Werdykt wyświetla się na pasku, a kursor ustawia się na pierwszej diagnostyce. Gdy dwa typy do siebie nie pasują, wyjaśnienie mówi, które. Jeśli kod jest poprawny, zostaje sformatowany.
Formatowanie
Formatuj (Ctrl + Shift + F, ⌘ + Shift + F na Macu) porządkuje kod bez jego wykonywania: wcięcia, odstępy wokół operatorów, nazwy pól zapisane tak, jak wyświetla je Ninox. JavaScript w blokach natywnych #{ … }# również jest formatowany: blok zapisany w jednym ciągu rozwija się pod wierszem, w którym się znajduje.
Kod zawierający błędy trzeba najpierw poprawić; a jeśli formatowanie groziłoby utratą części tekstu, zostaje pominięte, o czym Konsola informuje.
Ten sam przycisk istnieje w edytorach skryptów Ninox: pojawia się w prawym górnym rogu po najechaniu na edytor, a skrót klawiszowy również tam działa.
Debuger krok po kroku

Punkty przerwania
- Kliknięcie na lewym marginesie lub na numerze wiersza ustawia punkt przerwania (czerwone kółko); drugie kliknięcie go usuwa.
- Kliknięcie prawym przyciskiem albo Alt + kliknięcie otwiera panel Warunek zatrzymania: wykonanie zatrzymuje się w tym miejscu tylko wtedy, gdy Państwa warunek jest prawdziwy, na przykład
i > 10. W tym samym panelu przycisk Wyłącz dezaktywuje punkt bez jego utraty (szary pierścień), a Włącz ponownie go przywraca. Punkt warunkowy to bursztynowe kółko. - Warunki są obliczane bez dostępu do bazy, za pomocą prostych funkcji (
count,length,text,upper,lower,contains…). Jeśli warunku nie da się obliczyć, wykonanie zatrzymuje się dla bezpieczeństwa. - Gdy tylko ustawiony jest aktywny punkt przerwania, również Uruchom się na nim zatrzymuje, a następnie kontynuuje w trybie krok po kroku.
Polecenia
Sesja rozpoczyna się od pauzy na pierwszej instrukcji.
| Polecenie | Działanie |
|---|---|
| Następny krok | Wykonuje instrukcję i zatrzymuje się przed następną. |
| Podkrok | Posuwa się wyrażenie cząstkowe po wyrażeniu cząstkowym, pokazując uzyskaną wartość. Na wywołaniu funkcji lub na polu formuły schematu wchodzi do jego kodu. |
| Wyjdź | Kończy bieżącą funkcję i wraca do miejsca wywołania. |
| Kontynuuj | Wykonuje kod do następnego punktu przerwania albo do końca. |
| Zatrzymaj | Przerywa wykonywanie. |
Gdy pasek jest wąski, polecenia wyświetlają już tylko swoją ikonę; ich nazwa pojawia się po najechaniu kursorem. Przycisk informacji (ⓘ) na pasku rozwija instrukcję obsługi debugera, a krzyżyk, który pojawia się po zakończeniu wykonywania, zamyka jego panel.
Gdy wykonanie wchodzi do funkcji lub formuły, jej kod otwiera się w nałożonej ramce, która wysuwa się z prawej strony, tak jak w Ninox. Można w niej ustawiać punkty przerwania: są one przypisane do nazwy funkcji, obowiązują dla wszystkich wywołań tej funkcji i dla kolejnych wykonań, a znikają po przeładowaniu strony. Ramka formuły schematu nosi oznaczenie formuła. Uchwyt na lewej krawędzi ramki reguluje, jaką część ramki znajdującej się pod spodem ona zakrywa. Blok #{ … }# liczy się jako jeden krok.
Zmienne
Na każdym kroku panel Zmienne znane na tym kroku podaje wartość i typ każdej zmiennej; wartość można rozwinąć i skopiować, a rekord otworzyć jednym kliknięciem. Zmienne, które istnieją, ale są poza zasięgiem, są wyszarzone.
Warto wiedzieć
Wykonanie jest rzeczywiście wstrzymywane przy każdej pauzie, a baza w tym czasie działa dalej: inni użytkownicy, interfejs programistyczny, wyzwalacze. To, co zostało już wykonane, pozostaje zastosowane, nawet jeśli Państwo przerwą. Pauza dłuższa niż dziesięć minut kończy wykonywanie.
Debuger z odtwarzaniem
Kod wykonuje się naprawdę, tylko raz i jednym ciągiem. Następnie przeglądają Państwo jego przebieg do przodu i do tyłu za pomocą poleceń trybu krok po kroku — Następny krok, Podkrok, Wyjdź, Kontynuuj — oraz przycisków Pierwszy krok i Poprzedni krok. Lista kroków podaje wartość uzyskaną na każdym z nich; kliknięcie kroku prowadzi bezpośrednio do niego. Odtwarzanie liczy duże kroki: jeden na każdą wykonaną instrukcję i jeden na każdy obrót pętli, podający wartość zmiennej pętli. Wcięte podkroki noszą numer swojego dużego kroku (3.1, 3.2…) i są liczone osobno („+6 podkroków”); Wyjdź przechodzi też z podkroku do dużego kroku, który go zawiera. Nałożone ramki i panel zmiennych są takie same jak w trybie krok po kroku. Idealne, aby zrozumieć, co się stało, bez ponownego uruchamiania kodu.
Ograniczenia:
- rekord pojawia się w swoim obecnym stanie, a nie w stanie z chwili wykonania;
- warunek warunkowego punktu przerwania nie jest odtwarzany: odtwarzanie zawsze się na nim zatrzymuje;
- powyżej 10 000 kroków nagranie zostaje ucięte.
Oba debugery odrzucają kod zawierający błędy i sygnalizują je tak jak Sprawdź.
Debugowanie z edytora Ninox
Po najechaniu na edytor skryptów Ninox w prawym górnym rogu pojawia się przycisk Debuguj w Konsoli. Otwiera on Konsolę i przenosi do niej Państwa kod, bez wykonywania go, z bieżącym rekordem jako kontekstem: jeśli nie ma aktywnego rekordu z tej tabeli, otwiera się okno wyboru rekordu tej tabeli. Z kodu globalnego kontekstem jest Brak śr., a przenoszona jest tylko funkcja, w której znajduje się kursor.
Przeniesiony kod zastępuje kod Konsoli i jego punkty przerwania.
Historia i praca, która podąża za Państwem
- Przycisk Historia wyświetla listę 50 ostatnich poleceń; Alt + ↑ i Alt + ↓ pozwalają je przeglądać z poziomu edytora. Kliknięcie wczytuje kod i jego kontekst w miejsce bieżącego kodu i jego punktów przerwania.
- Po najechaniu na wpis historii ikona kosza pozwala go usunąć.
- Kod przywrócony z historii jest odtwarzany w bieżącym języku Ninox: „Id” staje się „Nr” po niemiecku. Kod przywołany po zmianie języka zawsze się więc kompiluje.
- Po uruchomieniu Konsola przywraca ostatni kod, jego kontekst, wyniki i punkty przerwania — na współdzielonym komputerze każdy odzyskuje własne.
- W przypadku administratora historia i ostatni kod przenoszą się też z jednego komputera na drugi i nie znikają po wyczyszczeniu danych przeglądarki.
Uwaga
Ta historia jest zapisywana jawnym tekstem w ustawieniach wtyczki, które wczytują wszyscy użytkownicy bazy. Proszę nie zostawiać w niej haseł ani kluczy dostępu.
