Język formuł
Język formuł jest językiem skryptowym używanym przez Lotus Notes . Jest często określany jako @Formula (wymawiane at-formula ), ponieważ wiele elementów języka zaczyna się od znaku @. Oto przykład formuły wyboru:
WYBIERZ @NoteId = "NT0050D26"
Został stworzony przez Raya Ozziego podczas wczesnego rozwoju Lotus Notes. Pożyczył kompilator i dekompilator z Lotus 1-2-3 , ale w przeciwieństwie do języka arkuszy kalkulacyjnych język formuł został zaprojektowany głównie do przetwarzania łańcuchów i list, a nie przetwarzania numerycznego. Pierwotnie był to funkcjonalny język programowania z unikalnymi funkcjami obsługi list tekstowych, zainspirowany wcześniejszym użyciem Icon i Lisp przez Raya Ozziego .
Silnik języka Formula został przepisany przez Damiena Katza dla Notes i Domino 6. Do języka dodano nowe funkcje, takie jak zapętlanie i dynamiczne wykonywanie, a także poprawiono wydajność.
Język Formuły składa się z dwóch części:
- @Funkcje do obliczeń i prostej logiki
- @Polecenia do wykonywania akcji w interfejsie użytkownika
@Functions można używać w kilku miejscach w Lotus Notes. Najważniejsze zastosowania to:
- do wyboru dokumentów do wyświetlenia użytkownikowi w widoku (rodzaj indeksu) lub do wyboru dokumentów do dalszego przetwarzania. W takim przypadku formuła zwróci wartość „true” (wybrano) lub „fałsz” (nie wybrano) dla każdego dokumentu.
- nadawania wartości domyślnych dla pól, przekształcania danych wprowadzonych przez użytkownika (np. usuwanie zbędnych spacji) oraz walidacji tych danych.
- aby uzyskać listę wartości z bazy danych Notes lub nawet z relacyjnej bazy danych (przy użyciu ODBC ). Można to wykorzystać, aby zapewnić użytkownikowi listę wartości do wyboru.
- przetworzyć komplet dokumentów. Formuła jest umieszczona w agencie, programie lub makrze, które mogą być uruchamiane przez użytkownika lub przez serwer Notes zgodnie z harmonogramem. Po uruchomieniu agenta formuła jest wykonywana dla każdego wybranego dokumentu (jest to bardzo ograniczona forma pętli). Jest to skuteczny sposób na zmianę wielu dokumentów, jeśli logika nie jest zbyt skomplikowana. W przypadku skomplikowanych zmian wykorzystywany jest LotusScript .
@Polecenia przypominają polecenia menu: wykonują czynności w kliencie Lotus Notes. Przykładowe działania to:
- otwieranie bazy danych Notes
- tworzenie e-maila
- umieszczenie kursora w określonym polu wprowadzania danych
- zamykanie okna
- uruchomienie agenta
@Commands są używane głównie w formułach, które są wyzwalane przez działanie użytkownika, na przykład w formułach przycisków. Można je łączyć z @Functions, na przykład uzależniając wykonanie @command od wartości pola.