FindCase

Zastosowanie

Znajduje sprawy które posiadają określone wartości w podanych polach. Można podać dowolną liczbę par „pole-wartość”.

Funkcja pozwala również przeszukiwać zawartość tabel w sprawach.

Składnia

FindCase("proces","fieldName",fieldValue [,"fieldName",fieldValue ...]);
FindCase("proces","fieldName",fieldValue [,"fieldName",fieldValue, ...], "caseType");

Argumenty

  • proces – (Decimal)(String) identyfikator lub nazwa procesu, którego sprawy będą przeszukiwane. Można podać nazwę tabeli w formacie „Nazwa procesu>Nazwa tabeli”. W takim przypadku przeszukiwane będą wiersze tabeli.
  • fieldName – (String) nazwa pola w którym będzie następowało szukanie
  • fieldValue – (String) poszukiwana wartość.
    • wartości liczbowe i dat mogą być podawane jako zakres np . ’10 TO 100′ albo '2016-01-01 TO 2016-01-31′,
    • wartości logiczne należy podać jako true lub false lub jako tekst „true”, „false”
    • można używać operatorów
      • większe >
      • mniejsze <
      • większe lub równe >=
      • mniejsze lub równe <=
      • równe =, chociaż jego użycie jest niepotrzebne, bo „=10”  to to samo co „10”
      • różne <>, tu należy zwrócić uwagę, że jest to inny operator niż używany w skryptach AMODIT. Wynika to z faktu, że funkcja FindCase używa operatorów z SQL’a
  • caseType – (String) [Opcja] typ spraw do przeszukiwania (domyślnie= ALL). Dozwolone wartości: [ OPEN | CLOSED | ALL | REMOVED ]. Należy pamiętać, że ALL oznacza, że szukamy w sprawach otwartych (OPEN) i zamkniętych (CLOSED), ale nie w usuniętych (REMOVED)

Zwracana wartość

Zwraca tekst.
Zwraca identyfikatory znalezionych spraw oddzielone przecinkiem.

Funkcja wywołana w kontekście konkretnej sprawy np w ramach reguły ręcznej, nie zwraca numeru tej sprawy, nawet jeżeli spełnia ona podane kryteria,

Funkcja wywołana w kontekście reguły okresowej dla procesu zwraca pełną listę spraw spełniających podane kryteria.

Funkcja użyta do wyszukania danych w tabeli np „Nazwa procesu>Nazwa tabeli”, zwraca caseId wierszy tabeli, a nie identyfikatory spraw, w których są te tabele.

Przykłady

Przykład 1:

Znajduje inne sprawy w tym samym procesie co sprawa, z której funkcja jest wołana.

Przeszukuje pole „Number” szukając takiej samej wartości jak wartość w polu [Number] bieżącej sprawy oraz pole „Name” szukając wartości odpowiadającej zawartości pola „Name bieżącej sprawy.

FindCase([CaseProcedureId],"Number",[Number],"Name",[Name])

Użyto pola systemowego [CaseProcedureId] wskazującego bieżący proces, z którego funkcja jest wołana.

Przykład 2:

Przeszukuje sprawy w procesie o nazwie „Company”, szukając w polu „Number” tego procesu, wartości odpowiadających wartościom z pola [CompanyNumber] bieżącej sprawy oraz, szukając w polu „Name” wartości odpowiadających wartości z pola {CompanyName] bieżącej sprawy.

FindCase("Company","Number",[CompanyNumber],"Name",[CompanyName])

Przykład 3:

Przeszukuje tabelę „Pozycje faktury” z procesu „Akceptacja faktur” we wszystkich sprawach tego procesu. Przeszukiwana jest kolumna o nazwie „Nazwa” w celu odnalezienia spraw w których wartość w tym polu jest taka sama jak wartość w polu [UnitName] w bieżącej sprawie.

_cases = FindCase("Akceptacja faktur>Pozycje faktury","Nazwa",[UnitName])

Przykład 4:

W procesie 'Vacation’ dla użytkownika wskazanego w polu [User] szuka spraw z przedziału dat ostatniego miesiąca.

_cases = FindCase("Vacation","DateFrom",DateAdd('month',Today(),-1)+" TO "+Today(),"User",[User])

Przykład 5:

Szuka spraw w procesie „Vacation” dla tego samego użytkownika w których przedział urlopu nakłada się.

_cases = FindCase("Vacation","DateFrom To DateTo",[DateFrom]+" TO "+[DateTo],"User",[User])

Przykład 6:

Szuka spraw w procesie „Vacation” dla tego samego użytkownika w których przedział urlopu nakłada się, ale tym razem przeszukuje tylko sprawy zamknięte.

_cases = FindCase("Vacation","DateFrom To DateTo",[DateFrom]+" TO "+[DateTo],"User",[User],"CLOSED")

Przykład 7:

Szuka spraw w procesie „Vacation”, dla których pole „Czy wysłać maila?” typu Tak/Nie ustawione jest na true .

_cases = FindCase("Vacation","Czy wysyłać e-mail?",  true )

to samo można zapisać tak

_cases = FindCase("Vacation","Czy wysyłać e-mail?",  "true")

Przykład 8:

Szuka spraw w procesie „Vacation”, dla których pole „Liczba dni wolnych” ustawione jest na 10 .

_cases = FindCase("Vacation","Liczba dni wolnych",  10)

to samo można zapisać tak

_cases = FindCase("Vacation","Liczba dni wolnych",  "10")

albo tak

_cases = FindCase("Vacation","Liczba dni wolnych",  "=10")

Przykład 9:

Szuka spraw w procesie „Vacation”, dla których pole „Liczba dni wolnych” jest większe lub równe  10 .

_cases = FindCase("Vacation","Liczba dni wolnych",  ">=10")
Was this article helpful?
0 out Of 5 Stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
How can we improve this article?
Please submit the reason for your vote so that we can improve the article.