Diagnostyka funkcji Source*
Gdzie zacząć
Dział zatytułowany „Gdzie zacząć”Funkcje SourceGet, SourceSet, SourceSum i SourceDelete korzystają ze źródła typu Static oraz z jednej kolumny klucza głównego. Większość problemów wynika z nazwy źródła, typu źródła, klucza głównego, nazw kolumn albo składni warunku.
Źródło nie zostało znalezione
Dział zatytułowany „Źródło nie zostało znalezione”Sprawdź nazwę przekazywaną do srcName albo pierwszego argumentu funkcji. Nazwa musi odpowiadać nazwie źródła danych w AMODIT.
Przykład:
query.srcName = "BudzetMPK";Zwróć uwagę na spacje, wielkość liter i znaki specjalne w nazwie źródła.
Źródło ma nieprawidłowy typ
Dział zatytułowany „Źródło ma nieprawidłowy typ”Funkcje Source* pracują na źródłach typu Static. Jeżeli wskażesz źródło typu File, Online, Local, Agent albo inny wariant, funkcja zakończy się błędem.
W konfiguracji źródła sprawdź typ połączenia oraz to, czy źródło ma lokalną tabelę danych.
Brak klucza głównego
Dział zatytułowany „Brak klucza głównego”Źródło musi mieć ustawioną jedną kolumnę klucza głównego. Klucz jest potrzebny do odczytu, zapisu i usuwania konkretnego wiersza.
W konfiguracji źródła sprawdź pole Kolumny klucza głównego.
Więcej niż jedna kolumna klucza
Dział zatytułowany „Więcej niż jedna kolumna klucza”Funkcje Source* wymagają dokładnie jednej kolumny klucza głównego. Jeżeli scenariusz biznesowy ma wiele wymiarów, przygotuj jedną kolumnę techniczną, na przykład:
2026|MPK-100|01Kolumny Rok, MPK i Miesiac możesz zostawić jako osobne kolumny pomocnicze.
Kolumna nie istnieje
Dział zatytułowany „Kolumna nie istnieje”SourceGet, SourceSet i SourceSum sprawdzają nazwy kolumn przekazane w argumentach. Błąd pojawi się, gdy nazwa kolumny nie występuje w widocznych kolumnach źródła.
Sprawdź:
- literówki,
- spacje w nazwach,
- mapowanie kolumn źródła,
- widoczność kolumny w konfiguracji.
whereQuery nie działa
Dział zatytułowany „whereQuery nie działa”W whereQuery nazwy pól i wartości zapisuj w apostrofach.
query.whereQuery = "'Rok' = '2026' AND 'MPK' = 'MPK-100'";Dla wartości pustej używaj is null.
query.whereQuery = "'DataZamkniecia' is null";Wynik jest pusty
Dział zatytułowany „Wynik jest pusty”Pusty wynik ma różną postać zależnie od wariantu odczytu:
| Wariant | Wynik |
|---|---|
SourceGet z jedną kolumną |
NULL |
SourceGet po kluczu bez jednej kolumny |
Pusty obiekt |
SourceGet z whereQuery |
Pusta lista |
SourceDelete dla brakującego klucza |
false |
Jeżeli wynik jest pusty, sprawdź najpierw wartość klucza, a potem typy danych i format wartości, na przykład format miesiąca albo roku.
SourceSet utworzył nowy wiersz
Dział zatytułowany „SourceSet utworzył nowy wiersz”SourceSet zapisuje dane przez aktualizację albo utworzenie wiersza. Jeżeli klucz nie istnieje, funkcja tworzy nowy wiersz.
W scenariuszach, w których wiersz musi istnieć wcześniej, wykonaj kontrolny odczyt przez SourceGet przed zapisem.
query = CreateObject();query.srcName = "BudzetMPK";query.keyValue = klucz;
rekord = SourceGet(query);