Tworzenie zmiennej z wartości pola

3 min read

Komendy z grupy „Utwórz zmienną z wartości pola” służą do odczytywania wartości pól obiektów i zapisywania ich w zmiennych triggerowych.

W grupie dostępne są dwie komendy:

  • „Przypisz do zmiennej wartość pola obiektu”,
  • „Przypisz do zmiennej poprzednią wartość pola obiektu”.

Pierwsza komenda odczytuje aktualną wartość pola. Druga umożliwia odczytanie wartości sprzed zmiany wykonanej przez użytkownika.

1. Przypisz do zmiennej wartość pola obiektu #

Komenda „Przypisz do zmiennej wartość pola obiektu” jest jedną z najczęściej używanych komend triggera.

Pozwala pobrać wartość wybranego pola z obiektu umieszczonego wcześniej w zmiennej triggerowej typu obiekt.

1.1. Wymagania #

Przed użyciem komendy w triggerze musi istnieć zmienna typu obiekt.

Może ona zawierać na przykład:

  • obiekt związany z uruchomieniem triggera,
  • obiekt pobrany z bazy danych,
  • nowo utworzony obiekt,
  • obiekt wybrany przez użytkownika,
  • obiekt z poprzedniej kartoteki.

1.2. Wskazanie obiektu #

Po dodaniu komendy należy wskazać zmienną triggerową typu obiekt, z której ma zostać odczytane pole.

Program rozpoznaje klasę obiektu znajdującego się w wybranej zmiennej.

Na tej podstawie automatycznie wyświetla pola dostępne dla obiektów tej klasy.

1.3. Wybór pola #

W polu:

„Wartość z pola”

należy wskazać konkretne pole obiektu.

Może to być na przykład:

  • nazwa kontrahenta,
  • numer NIP,
  • status zadania,
  • wartość transakcji,
  • data dokumentu,
  • opiekun,
  • faza tematu handlowego.

Wartość wskazanego pola zostanie przypisana do nowej zmiennej triggerowej.

1.4. Automatyczny typ zmiennej #

Typ nowej zmiennej jest nadawany dynamicznie na podstawie typu wybranego pola.

Jeżeli wskazane pole jest:

  • tekstowe – zostanie utworzona zmienna typu tekst,
  • liczbowe – zostanie utworzona zmienna typu liczba,
  • datowe – zostanie utworzona zmienna typu data,
  • typu data i czas – zmienna otrzyma odpowiadający mu typ,
  • innego obsługiwanego rodzaju – typ zmiennej zostanie do niego dopasowany.

Nie trzeba zatem osobno określać typu tworzonej zmiennej.

1.5. Przykład #

Zmienna typu obiekt zawiera kontrahenta.

W komendzie wskazujemy:

  • zmienną z kontrahentem,
  • pole „NIP”.

Program utworzy zmienną tekstową zawierającą numer NIP wskazanego kontrahenta.

Zmienna może następnie zostać wykorzystana:

  • w warunku „if”,
  • podczas wyszukiwania innych obiektów,
  • przy budowaniu tekstu,
  • w kolejnych komendach triggera.

2. Przypisz do zmiennej poprzednią wartość pola obiektu #

Komenda „Przypisz do zmiennej poprzednią wartość pola obiektu” działa podobnie do komendy odczytującej aktualną wartość.

Różnica polega na tym, że odczytywana jest wartość, jaką pole miało przed zmianą.

2.1. Kiedy poprzednia wartość jest dostępna #

Program bs4 core może znać wartość pola sprzed zmiany, gdy trigger jest uruchamiany:

  • przed zmianą wartości pola,
  • po zmianie wartości pola.

W takim przypadku dostępne są dwie wartości:

  • wartość poprzednia,
  • wartość aktualna, czyli wartość po zmianie.

2.2. Różnica między komendami #

Komenda „Przypisz do zmiennej wartość pola obiektu” zwraca aktualną wartość pola. W triggerze uruchamianym po edycji będzie to wartość po zmianie.

Komenda „Przypisz do zmiennej poprzednią wartość pola obiektu” zwraca wartość, jaka znajdowała się w polu przed edycją.

Dzięki temu trigger może ustalić nie tylko bieżący stan obiektu, lecz także rodzaj zmiany dokonanej przez użytkownika.

3. Porównywanie poprzedniej i aktualnej wartości #

Najważniejszym zastosowaniem obu komend jest porównywanie wartości pola przed zmianą i po zmianie.

Typowy schemat wygląda następująco:

  1. Odczytaj poprzednią wartość pola do pierwszej zmiennej.
  2. Odczytaj aktualną wartość tego samego pola do drugiej zmiennej.
  3. Dodaj komendę „if”.
  4. W formule warunku porównaj obie zmienne.
  5. Wykonaj odpowiednie operacje tylko dla określonego przejścia wartości.

Dzięki temu trigger może reagować na konkretną zmianę, a nie jedynie na sam fakt edycji rekordu.

4. Przykład – zmiana fazy tematu handlowego #

Załóżmy, że temat handlowy miał wcześniej fazę:

„Ofertowanie”

a użytkownik zmienił ją na:

„Podpisano umowę”.

Trigger może:

  1. Odczytać poprzednią wartość pola „Faza”.
  2. Odczytać aktualną wartość pola „Faza”.
  3. Sprawdzić, czy poprzednia wartość była równa „Ofertowanie”.
  4. Sprawdzić, czy aktualna wartość jest równa „Podpisano umowę”.
  5. Jeżeli oba warunki są spełnione, wykonać określone operacje.

Może to być na przykład:

  • utworzenie projektu realizacyjnego,
  • utworzenie zadania wdrożeniowego,
  • wysłanie powiadomienia,
  • ustawienie daty podpisania umowy,
  • utworzenie dokumentów powiązanych,
  • zmiana innych pól tematu handlowego.

Trigger nie zareaguje w ten sam sposób, jeżeli temat handlowy przeszedł do fazy „Podpisano umowę” z innej fazy, chyba że logika warunku również obejmie taki przypadek.

5. Analizowanie rodzaju wykonanej edycji #

Porównywanie wartości pozwala rozpoznać kierunek zmiany.

Można rozróżnić na przykład:

  • zmianę statusu z „Nowy” na „W realizacji”,
  • zmianę statusu z „W realizacji” na „Zakończony”,
  • zmianę opiekuna z jednego użytkownika na innego,
  • zwiększenie wartości transakcji,
  • zmniejszenie przyznanego rabatu,
  • uzupełnienie wcześniej pustego pola,
  • usunięcie wcześniejszej wartości pola.

Pozwala to budować różne działania dla różnych rodzajów edycji tego samego pola.

6. Odczyt aktualnego stanu a analiza zmiany #

Odczyt aktualnej wartości pola jest wystarczający, gdy trigger ma reagować na bieżący stan obiektu.

Przykładowo:

  • jeżeli status jest równy „Aktywny”, wykonaj operację,
  • jeżeli wartość transakcji przekracza określoną kwotę, wyślij powiadomienie,
  • jeżeli data płatności minęła, utwórz zadanie.

Odczyt poprzedniej wartości jest potrzebny, gdy istotne jest to, co dokładnie zmienił użytkownik.

Przykładowo:

  • jeżeli status został zmieniony z „Aktywny” na „Nieaktywny”,
  • jeżeli wartość transakcji wzrosła,
  • jeżeli termin został przesunięty,
  • jeżeli wcześniej puste pole zostało uzupełnione.

7. Podsumowanie #

Komendy z grupy „Utwórz zmienną z wartości pola” pozwalają odczytywać dane zapisane w obiektach.

Komenda „Przypisz do zmiennej wartość pola obiektu”:

  • odczytuje aktualną wartość pola,
  • automatycznie dopasowuje typ zmiennej,
  • może być stosowana dla dowolnego pola obiektu.

Komenda „Przypisz do zmiennej poprzednią wartość pola obiektu”:

  • odczytuje wartość sprzed edycji,
  • pozwala porównać stan przed zmianą i po zmianie,
  • umożliwia reagowanie na konkretne działania użytkownika.

Połączenie obu komend z instrukcjami warunkowymi pozwala tworzyć triggery, które precyzyjnie analizują zmiany zachodzące w obiektach i wykonują odpowiednie operacje.

Updated on 1 sierpnia, 2026

What are your feelings

  • Happy
  • Normal
  • Sad