FindCase
Znajduje sprawy ze wskazanymi wartościami w określonych polach.
Znajduje sprawy przy użyciu par parametrów fieldName i fieldValue. Takich par może być dowolna liczba, a funkcja zwraca pasujące wartości CaseId oddzielone przecinkami. Jest to starsza funkcja wyszukiwania oparta na parach parametrów. Dla bardziej złożonej składni zapytań albo dla sprawdzania pustych i niepustych wartości na polach numerycznych, kwotowych lub daty należy używać funkcji FindCaseEx.
Składnia
Dział zatytułowany „Składnia”FindCase(procedure,fieldName,fieldValue,fieldName,fieldValue)
Dział zatytułowany „FindCase(procedure,fieldName,fieldValue,fieldName,fieldValue)”Wyszukuje sprawy w określonej procedurze za pomocą par pola i wartości.
FindCase(procedure,fieldName,fieldValue,fieldName,fieldValue,caseType)
Dział zatytułowany „FindCase(procedure,fieldName,fieldValue,fieldName,fieldValue,caseType)”Wyszukuje sprawy w określonej procedurze za pomocą par pola i wartości oraz filtruje według typu sprawy.
Parametry
Dział zatytułowany „Parametry”procedure
Dział zatytułowany „procedure”- Typ:
String - Wymagany: tak
ProcedureId lub ProcedureName spraw, które mają zostać znalezione. UWAGA! Jeśli podana zostanie pusta wartość, sprawy będą wyszukiwane w bieżącym procesie.
fieldName
Dział zatytułowany „fieldName”- Typ:
String - Wymagany: tak
Nazwa pola sprawy, w którym ma być przeprowadzone wyszukiwanie. Dla parametrów numerycznych i dat wartość może być w formie wyrażenia zakresu, np. ‘DateFrom to DateTo’
fieldValue
Dział zatytułowany „fieldValue”- Typ:
String - Wymagany: tak
Wartość wyszukiwana w polu określonym przez poprzedni parametr. Może zawierać operator, np. ‘<100’. Domyślnym operatorem jest ‘=’. Obsługiwane operatory to: dla wszystkich typów pól ‘!=’ i ‘<>’; dla pól numerycznych, kwotowych i dat także ‘<’, ‘<=’, ‘>’, ‘>=’ oraz wyrażenia zakresu takie jak ‘10 TO 100’ albo ‘2016-01-01 TO 2016-01-31’. Operatory ‘isnull’ i ‘isnotnull’ działają tylko dla wybranych typów nienumerycznych. Dla sprawdzania pustych i niepustych wartości na polach numerycznych, kwotowych lub daty należy użyć FindCaseEx z operatorami ‘is null’ albo ‘is not null’.
caseType
Dział zatytułowany „caseType”- Typ:
String - Wymagany: nie
- Dozwolone wartosci: OPEN, CLOSED, ALL, REMOVED
Typ spraw, które mają zostać znalezione (domyślnie = ALL). Dozwolone wartości: [ OPEN | CLOSED | ALL | REMOVED ]
Zwracana wartość
Dział zatytułowany „Zwracana wartość”- Typ:
String
Zwraca identyfikatory spraw oddzielone przecinkami.
Przykłady
Dział zatytułowany „Przykłady”Znajdź sprawy z pasującymi polami Number i Name
Dział zatytułowany „Znajdź sprawy z pasującymi polami Number i Name”Znajdź inną sprawę z tą samą procedurą co bieżąca sprawa i pasującymi wartościami w polach Number i Name.
FindCase([CaseProcedureId],"Number",[Number],"Name",[Name])Oczekiwany efekt: Identyfikatory spraw oddzielone przecinkami.
Znajdź sprawy w procedurze ‘Company’
Dział zatytułowany „Znajdź sprawy w procedurze ‘Company’”Znajdź sprawy w procedurze ‘Company’ z wartościami w polach Number i Name pobranymi z bieżącej sprawy.
FindCase("Company","Number",[CompanyNumber],"Name",[CompanyName])Oczekiwany efekt: Identyfikatory spraw oddzielone przecinkami.
Znajdź sprawy z Price <= 1000
Dział zatytułowany „Znajdź sprawy z Price <= 1000”Znajdź sprawy w procedurze ‘Invoice’ z wartościami w polu Price mniejszymi lub równymi 1000.
FindCase("Invoice","Price","<=1000")Oczekiwany efekt: Identyfikatory spraw oddzielone przecinkami.
Znajdź nieopłacone faktury z przeszłą datą Pay
Dział zatytułowany „Znajdź nieopłacone faktury z przeszłą datą Pay”Znajdź sprawy w procedurze ‘Invoice’ z Status różnym od Paid i datą Pay w przeszłości.
FindCase("Invoice","Status","!=Paid", "Pay date","<"+Today())Oczekiwany efekt: Identyfikatory spraw oddzielone przecinkami.
Znajdź sprawy w tabeli ‘Postions’ procedury ‘Invoice’
Dział zatytułowany „Znajdź sprawy w tabeli ‘Postions’ procedury ‘Invoice’”Znajdź sprawy w tabeli ‘Postions’ procedury ‘Invoice’ z wartościami w polu Name pobranymi z bieżącej sprawy.
FindCase("Invoice>Postions","Name",[UnitName])Oczekiwany efekt: Identyfikatory spraw oddzielone przecinkami.
Znajdź sprawy w procedurze ‘Vacation’ z ostatniego miesiąca
Dział zatytułowany „Znajdź sprawy w procedurze ‘Vacation’ z ostatniego miesiąca”Znajdź sprawy w procedurze ‘Vacation’ dla tego samego użytkownika i wartości pola Date z ostatniego miesiąca.
FindCase("Vacation","DateFrom",DateAdd('m',Today(),-1)+" TO "+Today(),"User",[User])Oczekiwany efekt: Identyfikatory spraw oddzielone przecinkami.
Znajdź nakładające się zakresy dat w procedurze ‘Vacation’
Dział zatytułowany „Znajdź nakładające się zakresy dat w procedurze ‘Vacation’”Znajdź sprawy w procedurze ‘Vacation’ dla tego samego użytkownika z nakładającymi się zakresami DateFrom i DateTo.
FindCase("Vacation","DateFrom To DateTo",[DateFrom]+" TO "+[DateTo],"User",[User])Oczekiwany efekt: Identyfikatory spraw oddzielone przecinkami.
Znajdź usunięte sprawy z pasującymi polami
Dział zatytułowany „Znajdź usunięte sprawy z pasującymi polami”Znajdź usunięte sprawy z tą samą procedurą co bieżąca sprawa i pasującymi wartościami w polach Number i Name.
FindCase([CaseProcedureId],"Number",[Number],"Name",[Name], "REMOVED")Oczekiwany efekt: Identyfikatory spraw oddzielone przecinkami.
Znajdź otwarte sprawy z pustym polem InvoiceFile
Dział zatytułowany „Znajdź otwarte sprawy z pustym polem InvoiceFile”Znajdź otwarte sprawy w procedurze ‘Invoice’, gdzie pole dokumentowe InvoiceFile jest puste. Ten przykład sprawdzania pustej wartości jest poprawny dla pól dokumentowych i innych wybranych typów nienumerycznych.
FindCase("Invoice","InvoiceFile","isnull", "OPEN")Oczekiwany efekt: Identyfikatory spraw oddzielone przecinkami.
Znajdź otwarte sprawy z niepustym polem InvoiceFile
Dział zatytułowany „Znajdź otwarte sprawy z niepustym polem InvoiceFile”Znajdź otwarte sprawy w procedurze ‘Invoice’, gdzie pole dokumentowe InvoiceFile nie jest puste. Ten przykład sprawdzania niepustej wartości jest poprawny dla pól dokumentowych i innych wybranych typów nienumerycznych.
FindCase("Invoice","InvoiceFile","isnotnull", "OPEN")Oczekiwany efekt: Identyfikatory spraw oddzielone przecinkami.
Użyj FindCaseEx dla niepustego pola kwotowego
Dział zatytułowany „Użyj FindCaseEx dla niepustego pola kwotowego”Nie używaj FindCase(“Invoice”,“Price”,“isnotnull”,“ALL”) dla pola kwotowego, ponieważ FindCase nie obsługuje isnull ani isnotnull dla pól numerycznych, kwotowych i daty. Zamiast tego użyj FindCaseEx.
queryObject=CreateObject("FindQuery","Invoice"); queryObject.caseType="ALL"; queryObject.query="'Price' is not null"; cases=FindCaseEx(queryObject);Oczekiwany efekt: Identyfikatory spraw oddzielone przecinkami.
Przypadki użycia
Dział zatytułowany „Przypadki użycia”Wyszukiwanie spraw ze specyficznymi wartościami pól
Dział zatytułowany „Wyszukiwanie spraw ze specyficznymi wartościami pól”Użyj funkcji, aby znaleźć sprawy w procedurze, które pasują do określonych par pola i wartości.
Filtruj sprawy według typu
Dział zatytułowany „Filtruj sprawy według typu”Użyj funkcji, aby znaleźć sprawy określonego typu, takie jak OTWARTE, ZAMKNIĘTE lub USUNIĘTE.
Znajdź sprawy z wyrażeniami zakresu
Dział zatytułowany „Znajdź sprawy z wyrażeniami zakresu”Użyj funkcji, aby znaleźć sprawy z polami numerycznymi lub datami w określonym zakresie.
Przekierowanie złożonych null checków do FindCaseEx
Dział zatytułowany „Przekierowanie złożonych null checków do FindCaseEx”Gdy chcesz sprawdzić, czy pola numeryczne, kwotowe lub daty są puste albo niepuste, przenieś zapytanie do FindCaseEx zamiast rozszerzać składnię FindCase.
Dobre praktyki
Dział zatytułowany „Dobre praktyki”- Upewnij się, że nazwa lub identyfikator procedury jest poprawny, aby uniknąć błędów.
- Używaj odpowiednich operatorów dla wartości pól, aby precyzyjnie wyszukiwać.
- Preferuj FindCaseEx, gdy potrzebujesz sprawdzania pustych wartości na polach numerycznych, kwotowych lub daty albo gdy logika wyszukiwania jest bardziej złożona niż proste pary pole-wartość.
- Zweryfikuj nazwy pól i wartości przed wykonaniem funkcji.
Typowe błędy
Dział zatytułowany „Typowe błędy”Podanie nieprawidłowej nazwy lub identyfikatora procedury.
Dział zatytułowany „Podanie nieprawidłowej nazwy lub identyfikatora procedury.”Skutek: Funkcja zgłasza wyjątek i nie zostaje wykonana.
Rozwiazanie: Zweryfikuj nazwę lub identyfikator procedury przed wywołaniem funkcji.
Użycie nieobsługiwanych operatorów dla wartości pól.
Dział zatytułowany „Użycie nieobsługiwanych operatorów dla wartości pól.”Skutek: Funkcja nie zostaje wykonana lub zwraca nieprawidłowe wyniki.
Rozwiazanie: Używaj tylko obsługiwanych operatorów, takich jak ‘=’, ‘!=’, ‘<’, ‘<=’, ‘>’, ‘>=’, oraz wyrażeń zakresu.
Użycie isnull lub isnotnull na polach numerycznych, kwotowych lub daty w FindCase.
Dział zatytułowany „Użycie isnull lub isnotnull na polach numerycznych, kwotowych lub daty w FindCase.”Skutek: Funkcja zgłasza błąd value type not supported zamiast zwrócić pasujące sprawy.
Rozwiazanie: Użyj FindCaseEx i zapisz warunek w składni query, na przykład ‘Price’ is not null.
Pozostawienie wymaganych parametrów pustych.
Dział zatytułowany „Pozostawienie wymaganych parametrów pustych.”Skutek: Funkcja nie zostaje wykonana.
Rozwiazanie: Upewnij się, że wszystkie wymagane parametry są podane.