Przejdź do głównej zawartości

SourceSet – zapis danych w źródle statycznym

SourceSet zapisuje dane w źródle typu Static. Funkcja może ustawić jedną kolumnę albo wiele kolumn w wierszu wskazanym przez klucz główny.

Źródło musi mieć dokładnie jedną kolumnę klucza głównego.

SourceSet("BudzetMPK", "2026|MPK-100|01", "Wykonanie", 1200);

Ten wariant ustawia wartość kolumny Wykonanie w wierszu o kluczu 2026|MPK-100|01.

values = CreateObject();
values.Budzet = 50000;
values.Wykonanie = 1200;
values.Rezerwacje = 300;
SourceSet("BudzetMPK", "2026|MPK-100|01", values);

Klucze obiektu values muszą odpowiadać nazwom kolumn w źródle.

SourceSet aktualizuje istniejący wiersz albo tworzy nowy wiersz z podanym kluczem. Gdy funkcja tworzy nowy wiersz, kolumny niepodane w obiekcie wartości otrzymują NULL, poza kolumną klucza głównego.

To zachowanie jest przydatne przy inicjowaniu stanu, na przykład pierwszego wpisu budżetu dla danego MPK i miesiąca.

Jeżeli do kolumny liczbowej, daty albo innej kolumny nietekstowej przekażesz pusty tekst, AMODIT zapisze NULL. Dla kolumn tekstowych pusty tekst pozostaje tekstem.

SourceSet zwraca NULL. Funkcja służy do zmiany danych, więc wynik należy sprawdzać przez kolejny odczyt SourceGet albo przez logikę procesu.

  • Nazwa źródła w pierwszym argumencie nie istnieje.
  • Źródło ma typ inny niż Static.
  • Źródło nie ma dokładnie jednego klucza głównego.
  • Nazwa kolumny nie występuje w widocznych kolumnach źródła.
  • Wartość nie pasuje do typu kolumny.
SourceSet("BudzetMPK", "2026|MPK-100|01", "Wykonanie", 1200);
query = CreateObject();
query.srcName = "BudzetMPK";
query.keyValue = "2026|MPK-100|01";
query.columns = "Wykonanie";
aktualneWykonanie = SourceGet(query);