Szukaj…


Wprowadzenie

Dogłębne zrozumienie funkcji wyszukiwania transakcji jest kluczową wiedzą dla każdego programisty NetSuite, ale domyślne zachowanie tych wyszukiwań i kontrolowanie tego zachowania może początkowo być dość mylące.

Uwagi

Bibliografia:

  • Strona pomocy NetSuite: „Korzystanie z linii głównej w kryteriach wyszukiwania transakcji”

Filtrowanie tylko na podstawie identyfikatora wewnętrznego

Przeanalizujmy przykład wyszukiwania transakcji, w którym definiujemy filtr dla wewnętrznego identyfikatora pojedynczej transakcji:

Filtruj według identyfikatora wewnętrznego

Podaliśmy filtr, który pokazuje nam tylko wyniki Transakcji z wewnętrznym identyfikatorem 875; oto ta Transakcja:

Przykładowe zamówienie sprzedaży

Widzimy, że jest to Zamówienie sprzedaży z jednym elementem zamówienia.

Ponieważ identyfikatory wewnętrzne są unikalne we wszystkich transakcjach, możemy oczekiwać tylko jednego wyniku wyszukiwania dla tego wyszukiwania. Oto wynik wyszukiwania:

Nieoczekiwane wyniki

Zamiast oczekiwanego pojedynczego wyniku otrzymujemy cztery wyniki. Co więcej, każdy wynik ma dokładnie ten sam wewnętrzny identyfikator. Jak to możliwe?

Aby zrozumieć, co się tutaj dzieje, musimy przypomnieć, że dane przechowywane w rekordach NetSuite są podzielone na dwie kategorie:

  1. Dane ciała: dane przechowywane w niezależnych polach rekordu (np. Data, przedstawiciel handlowy, numer dokumentu, kod kuponu)
  2. Dane listy podrzędnej: dane przechowywane na listach w ramach każdego rekordu, zwykle wyświetlane na podkartach w interfejsie użytkownika (np. Pozycje w zamówieniu sprzedaży)

Transakcje zawierają wiele sublist danych, w tym:

  • elementy zamówienia
  • informacje wysyłkowe
  • informacje podatkowe
  • Dane COGS (Koszt sprzedanych towarów)

W tych wynikach wyszukiwania NetSuite pokazuje nam jeden wynik dla treści transakcji, a następnie inne wyniki dla danych na różnych podlistach w ramach tej samej transakcji.

Zwróć uwagę na kolumnę w naszych wynikach wyszukiwania nazwaną po prostu gwiazdką (*). Zauważ też, że w jednym z wyników w tej kolumnie jest gwiazdka, a pozostałe są puste. Ta kolumna wskazuje, który wynik wyszukiwania reprezentuje treść transakcji, która jest również nazywana linią główną transakcji.

Są chwile, kiedy chcesz, aby wyszukiwania transakcji pokazywały tylko dane linii głównej, i chwile, w których będziesz chciał tylko szczegółów na poziomie linii. Pozostałe przykłady pokazują, jak kontrolować to, co pojawia się w naszych wynikach.

Filtrowanie za pomocą głównej linii

Gdy chcemy tylko jednego wyniku na transakcję, oznacza to, że potrzebujemy tylko treści lub linii głównej każdej transakcji. Aby to osiągnąć, istnieje filtr o nazwie „Linia główna”.

Ustawiając filtr linii głównej na Tak w naszych kryteriach wyszukiwania, zasadniczo mówimy „Pokazuj mi tylko dane z poziomu ciała dla transakcji w moich wynikach”:

wprowadź opis zdjęcia tutaj

Modyfikacja naszych poprzednich kryteriów wyszukiwania w ten sposób daje nam teraz jeden oczekiwany wynik:

wprowadź opis zdjęcia tutaj

Jeśli odwrócimy filtr głównego wiersza do Nie , mówimy „Pokaż mi tylko dane z list podrzędnych w moich wynikach”:

wprowadź opis zdjęcia tutaj

Aby podsumować zachowanie Main Line :

  • Po ustawieniu opcji Linia główna na Tak otrzymaliśmy jeden wynik tylko dla samej treści transakcji.
  • Po ustawieniu opcji Main Line na No otrzymaliśmy trzy wyniki tylko dla danych z listy transakcji.
  • Bez filtra linii głównej w ogóle otrzymaliśmy cztery wyniki, w zasadzie połączenie wszystkich danych dotyczących treści i listy podrzędnej dla transakcji.

Zauważ, że filtr linii głównej nie jest obsługiwany podczas wyszukiwania pozycji dziennika.

Filtrowanie określonych list podrzędnych

Przypomnij sobie, że każda transakcja zawiera wiele podlist danych. Teraz, gdy możemy wyświetlać tylko dane listy podrzędnej za pomocą Main Line , możemy dodatkowo zawęzić nasze wyniki wyszukiwania do konkretnych danych listy podrzędnej.

Większość list podrzędnych uwzględnionych w wynikach transakcji ma odpowiedni filtr wyszukiwania, który przełącza, czy są uwzględnione w wynikach:

  • Użyj filtra Linia wysyłkowa, aby kontrolować dane z podlisty Wysyłka
  • Użyj filtru Linia podatkowa, aby kontrolować dane z podlisty podatkowej
  • Użyj filtru linii COGS, aby kontrolować dane z podlisty COGS

Każdy z tych filtrów zachowuje się jak Główny wiersz lub jakikolwiek inny filtr pola wyboru: Tak, aby uwzględnić te dane, Nie, aby wykluczyć je z wyników.

Zauważ, że nie ma filtru dla pozycji, aby kontrolować dane z podlisty pozycji. Zasadniczo, aby powiedzieć „Pokaż mi tylko dane z podlisty pozycji”, musimy określić wszystkie wymienione wyżej filtry jako Nie w naszych kryteriach:

wprowadź opis zdjęcia tutaj

Dzięki tym kryteriom wyszukiwanie zwróci jeden wynik na wiersz pozycji dla każdej pasującej transakcji.

Moim zdaniem ten brakujący filtr stanowi poważną lukę w funkcji wyszukiwania, którą należy naprawić; byłoby o wiele łatwiejsze i bardziej spójne mieć po prostu filtr pozycji wiersza Tak . Do tego czasu musisz określić, że chcesz tylko dane pozycji w wynikach transakcji.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow