Komendy tworzące zmienną typu obiekt

7 min read

Komendy z grupy „Utwórz zmienną typu obiekt” służą do utworzenia zmiennej triggerowej, której wartością jest obiekt określonej klasy.

Po utworzeniu takiej zmiennej można korzystać z niej w dalszej części triggera, na przykład:

  • odczytywać wartości pól obiektu,
  • zmieniać wartości jego pól,
  • wykorzystywać obiekt w warunkach,
  • tworzyć powiązania z innymi obiektami,
  • zapisywać nowy lub zmodyfikowany obiekt w bazie danych.

W zależności od użytej komendy obiekt może pochodzić z różnych źródeł. Może to być między innymi:

  • obiekt, dla którego został uruchomiony trigger,
  • obiekt wyświetlany w poprzedniej kartotece użytkownika,
  • obiekt wskazany w selektorze,
  • nowy, pusty obiekt,
  • istniejący obiekt wczytany z bazy danych.

1. Przypisz do zmiennej obiekt związany z triggerem #

Komenda „Przypisz do zmiennej obiekt związany z triggerem” pozwala przypisać do zmiennej triggerowej obiekt, w kontekście którego został uruchomiony trigger.

1.1. Główny powiązany obiekt triggera #

W zakładce „Dane ogólne” triggera można wskazać klasę związaną z tym triggerem.

Służy do tego pole:

„Główny powiązany obiekt”.

W polu tym wybiera się jedną z klas zdefiniowanych w programie. Dzięki temu trigger może być uruchamiany w związku ze zdarzeniami dotyczącymi obiektów tej klasy.

Trigger może zostać uruchomiony na przykład:

  • przed dodaniem nowego obiektu,
  • po dodaniu obiektu,
  • podczas wykonywania operacji w kartotece obiektu,
  • po zmianie określonych danych obiektu.

1.2. Sposób działania komendy #

Po wykonaniu komendy do zmiennej triggerowej zostanie przypisany obiekt, dla którego uruchomiono trigger.

Dzięki temu w kolejnych komendach można wykonywać operacje bezpośrednio na tym obiekcie.

1.3. Przykład #

Załóżmy, że trigger został skonfigurowany dla klasy „Kontrahent” i uruchamia się po dodaniu nowego kontrahenta.

Komenda „Przypisz do zmiennej obiekt związany z triggerem” przypisze do zmiennej właśnie dodanego kontrahenta.

W dalszej części triggera można na przykład:

  • odczytać jego nazwę,
  • uzupełnić wybrane pola,
  • utworzyć powiązane zadanie,
  • wysłać powiadomienie zawierające dane kontrahenta.

2. Przypisz do zmiennej obiekt z poprzedniej kartoteki użytkownika #

Komenda „Przypisz do zmiennej obiekt z poprzedniej kartoteki użytkownika” pozwala uzyskać obiekt wyświetlany w kartotece, z której użytkownik przeszedł do bieżącego miejsca w programie.

Komenda umożliwia zachowanie kontekstu wcześniejszej pracy użytkownika.

2.1. Sposób działania #

Jeżeli użytkownik znajdował się w kartotece określonego obiektu, a następnie użył przycisku lub opcji przenoszącej go do innej kartoteki, poprzednio wyświetlany obiekt może zostać przypisany do zmiennej triggerowej.

2.2. Przykład #

Użytkownik znajduje się w kartotece kontrahenta i wybiera opcję „Dodaj osobę”.

Program otwiera kartotekę dodawania nowej osoby. Poprzednią kartoteką użytkownika była jednak kartoteka kontrahenta.

Za pomocą tej komendy można przypisać poprzedniego kontrahenta do zmiennej typu obiekt.

Pozwala to na przykład:

  • automatycznie powiązać nową osobę z kontrahentem,
  • przepisać wybrane dane z kontrahenta,
  • ustawić domyślne wartości na podstawie poprzedniego obiektu,
  • uwzględnić dane kontrahenta w warunkach triggera.

3. Przypisz do zmiennej obiekt wskazany w selektorze jednokrotnego wyboru #

Komenda „Przypisz do zmiennej obiekt wskazany w selektorze jednokrotnego wyboru” pozwala przypisać do zmiennej obiekt wybrany przez użytkownika w oknie selektora.

Selektor jest oknem służącym do:

  • wyszukiwania obiektów,
  • przeglądania listy rekordów,
  • wskazywania jednego wybranego obiektu.

W niektórych miejscach programu selektor może być również określany jako requester.

3.1. Sposób działania #

Jeżeli użytkownik podczas wykonywania operacji:

  1. otworzy selektor,
  2. wyszuka odpowiedni rekord,
  3. wskaże jeden obiekt,
  4. zatwierdzi wybór,

to po uruchomieniu triggera wybrany obiekt może zostać przypisany do zmiennej triggerowej.

W dalszej części triggera można wykonywać operacje na wskazanym obiekcie.

3.2. Przykład #

Użytkownik wskazuje w selektorze kontrahenta, którego należy przypisać do dokumentu.

Komenda przypisuje wybranego kontrahenta do zmiennej typu obiekt. Następnie trigger może:

  • odczytać dane kontrahenta,
  • sprawdzić jego status,
  • skopiować dane adresowe,
  • utworzyć powiązanie z dokumentem.

4. Utwórz bez zapisu pusty obiekt dowolnej klasy i przypisz do zmiennej #

Komenda „Utwórz bez zapisu pusty obiekt dowolnej klasy i przypisz do zmiennej” służy do utworzenia nowego, pustego obiektu wybranej klasy.

Obiekt zostaje utworzony w pamięci triggera, ale nie jest jeszcze zapisany w bazie danych.

4.1. Wybór klasy #

W ustawieniach komendy należy wskazać klasę, której obiekt ma zostać utworzony.

Może to być na przykład:

  • kontrahent,
  • osoba,
  • zadanie,
  • dokument,
  • pozycja transakcji,
  • dowolna inna klasa zdefiniowana w systemie.

4.2. Sposób działania #

Komenda:

  1. tworzy pusty obiekt wybranej klasy,
  2. przypisuje go do zmiennej triggerowej,
  3. umożliwia ustawianie jego pól w kolejnych komendach.

Dopiero później, za pomocą odpowiedniej komendy zapisującej, obiekt może zostać dodany do bazy danych.

Samo wykonanie tej komendy nie powoduje zapisania obiektu.

4.3. Typowy schemat użycia #

Tworzenie nowego obiektu w triggerze zwykle przebiega w następujący sposób:

  1. Utworzenie pustego obiektu.
  2. Przypisanie go do zmiennej triggerowej.
  3. Ustawienie wartości poszczególnych pól.
  4. Utworzenie wymaganych powiązań.
  5. Zapisanie obiektu w bazie danych.

4.4. Przykład #

Użytkownik znajduje się w kartotece tematu handlowego i naciska przycisk powodujący automatyczne dodanie nowej pozycji transakcji.

Trigger może wykonać następujące operacje:

  1. Utworzyć pusty obiekt klasy „Pozycja transakcji”.
  2. Przypisać go do zmiennej.
  3. Ustawić ilość.
  4. Ustawić cenę jednostkową.
  5. Powiązać pozycję z tematem handlowym.
  6. Zapisać nową pozycję w bazie danych.

5. Wczytaj z bazy obiekt dowolnej klasy i przypisz do zmiennej #

Komenda „Wczytaj z bazy obiekt dowolnej klasy i przypisz do zmiennej” służy do pobrania istniejącego obiektu z bazy danych.

Pobrany obiekt zostaje przypisany do zmiennej triggerowej typu obiekt i może być wykorzystywany w kolejnych komendach triggera.

5.1. Wybór klasy obiektu #

W konfiguracji komendy należy wskazać klasę obiektu, który ma zostać wczytany.

Można na przykład wskazać klasę:

„Kontrahent”.

Następnie należy określić, który konkretnie kontrahent ma zostać pobrany z bazy.

Obiekt można wskazać:

  • za pomocą jego identyfikatora,
  • za pomocą warunków wyszukiwania,
  • łącząc obie metody.

6. Wczytanie obiektu na podstawie identyfikatora #

Jeżeli znany jest identyfikator obiektu, można wskazać zmienną triggerową zawierającą jego ID.

Służy do tego pole:

„Ogranicz do ID ze zmiennej”.

W polu należy wskazać wcześniej zainicjowaną zmienną triggerową, która zawiera identyfikator obiektu.

6.1. Przykład #

Jedna ze zmiennych triggerowych zawiera ID kontrahenta.

W komendzie:

  1. wybieramy klasę „Kontrahent”,
  2. w polu „Ogranicz do ID ze zmiennej” wskazujemy zmienną zawierającą ID,
  3. program pobiera z bazy kontrahenta o wskazanym identyfikatorze,
  4. pobrany kontrahent zostaje przypisany do zmiennej typu obiekt.

7. Wczytanie obiektu na podstawie warunków #

Drugim sposobem wskazania obiektu jest zbudowanie warunków wyszukiwania.

W tym celu należy przejść do zakładki:

„Warunki/formuła”.

W zakładce można określić, jakie kryteria powinien spełniać obiekt pobierany z bazy danych.

7.1. Budowanie warunków #

Podczas budowania wyrażenia można korzystać między innymi z:

  • operatora AND,
  • operatora OR,
  • operatorów porównania,
  • warunku równości,
  • wartości stałych,
  • wartości pobieranych z innych zmiennych triggerowych,
  • wartości pól obiektu.

Sposób budowania warunku jest podobny do definiowania części WHERE w zapytaniu SELECT do bazy danych.

Przykładowo można wyszukać kontrahenta:

  • o określonym numerze NIP,
  • o wskazanym symbolu,
  • posiadającego określony status,
  • powiązanego z wybranym opiekunem,
  • spełniającego kilka warunków jednocześnie.

8. Sortowanie wyników #

W warunkach wyszukiwania można również określić sposób sortowania obiektów zwróconych z bazy.

Dostępne są między innymi operacje:

  • „Sortuj według pola własnego rosnąco”,
  • „Sortuj według pola własnego malejąco”.

Działanie to odpowiada zastosowaniu instrukcji ORDER BY w zapytaniu do bazy danych.

Sortowanie ma szczególne znaczenie wtedy, gdy warunki może spełnić więcej niż jeden obiekt.

8.1. Przykład #

Warunek wyszukuje wszystkie aktywne zadania przypisane do określonego użytkownika.

Po zastosowaniu sortowania według daty rosnąco jako pierwszy wynik zostanie zwrócone najwcześniejsze zadanie.

Po zastosowaniu sortowania malejąco jako pierwszy zostanie zwrócony obiekt z najpóźniejszą datą.

9. Pobieranie tylko pierwszego obiektu #

Zmienna typu obiekt może przechowywać tylko jeden obiekt.

Z tego powodu, nawet jeżeli zdefiniowane warunki wyszukiwania zostaną spełnione przez wiele rekordów, do zmiennej triggerowej zostanie przypisany tylko pierwszy obiekt.

O tym, który obiekt będzie pierwszy, może decydować zdefiniowane sortowanie.

Jeżeli konieczne jest pobranie wielu obiektów, należy zastosować komendę tworzącą zmienną typu tablica, a nie zmienną typu obiekt.

10. Różnica między utworzeniem pustego obiektu a wczytaniem obiektu z bazy #

Komendy:

  • „Utwórz bez zapisu pusty obiekt dowolnej klasy i przypisz do zmiennej”,
  • „Wczytaj z bazy obiekt dowolnej klasy i przypisz do zmiennej”

mają odmienne zastosowanie.

10.1. Utworzenie pustego obiektu #

Komenda tworzy nowy obiekt, który:

  • nie istniał wcześniej w bazie,
  • początkowo nie ma ustawionych wartości pól,
  • wymaga uzupełnienia,
  • musi zostać zapisany osobną komendą.

10.2. Wczytanie obiektu z bazy #

Komenda pobiera obiekt, który:

  • już istnieje w bazie danych,
  • ma nadany identyfikator,
  • zawiera zapisane wcześniej wartości pól,
  • może być odczytywany lub modyfikowany w kolejnych komendach.

11. Podsumowanie #

Komendy z grupy „Utwórz zmienną typu obiekt” pozwalają uzyskać obiekt, na którym trigger będzie wykonywał dalsze operacje.

Dostępne komendy umożliwiają:

  • przypisanie obiektu związanego z uruchomieniem triggera,
  • uzyskanie obiektu z poprzedniej kartoteki użytkownika,
  • uzyskanie obiektu wskazanego w selektorze,
  • utworzenie nowego, pustego obiektu,
  • pobranie istniejącego obiektu z bazy danych.

Po przypisaniu obiektu do zmiennej można wykorzystywać go w dalszych etapach triggera, na przykład do odczytywania i zmiany pól, tworzenia powiązań oraz wykonywania operacji zapisu.

Updated on 1 sierpnia, 2026

What are your feelings

  • Happy
  • Normal
  • Sad