Przejdź do treści

© navision.pl | Opracowano na podstawie: Microsoft Learn (CC BY 4.0)

Szczegóły projektowania: Wyszukiwanie kombinacji wymiarów

Po zamknięciu strony po edycji zestawu wymiarów Business Central sprawdza, czy edytowany zestaw wymiarów istnieje. Jeśli zestaw nie istnieje, tworzony jest nowy zestaw i zwracany jest identyfikator kombinacji wymiarów.

Budowanie drzewa wyszukiwania

Tabela 481 Węzeł drzewa zestawu wymiarów jest używana, gdy Business Central sprawdza, czy zestaw wymiarów już istnieje w tabeli 480 Zapis zestawu wymiarów. Sprawdzanie jest wykonywane przez rekurencyjne przechodzenie drzewa wyszukiwania, począwszy od najwyższego poziomu oznaczonego numerem 0. Najwyższy poziom 0 reprezentuje zestaw wymiarów bez zapisów zestawu wymiarów. Elementy podrzędne tego zestawu wymiarów reprezentują zestawy wymiarów z tylko jednym zapisem zestawu wymiarów. Elementy podrzędne tych zestawów wymiarów reprezentują zestawy wymiarów z dwoma elementami podrzędnymi itd.

Przykład 1

Poniższy diagram przedstawia drzewo wyszukiwania z sześcioma zestawami wymiarów. Na diagramie wyświetlany jest tylko wyróżniający zapis zestawu wymiarów.

Example of dimension tree structure.

Poniższa tabela opisuje pełną listę zapisów zestawu wymiarów składających się na każdy zestaw wymiarów.

Zestawy wymiarów Zapisy zestawu wymiarów
Zestaw 0 Brak
Zestaw 1 OBSZAR 30
Zestaw 2 OBSZAR 30, DZIAŁ ADM
Zestaw 3 OBSZAR 30, DZIAŁ PROD
Zestaw 4 OBSZAR 30, DZIAŁ ADM, PROJ VW
Zestaw 5 OBSZAR 40
Zestaw 6 OBSZAR 40, PROJ VW

Przykład 2

Ten przykład pokazuje, jak Business Central sprawdza, czy istnieje zestaw wymiarów składający się z zapisów zestawu wymiarów OBSZAR 40, DZIAŁ PROD.

Najpierw Business Central aktualizuje również tabelę Węzeł drzewa zestawu wymiarów, aby upewnić się, że drzewo wyszukiwania wygląda jak na poniższym diagramie. W ten sposób zestaw wymiarów 7 staje się elementem podrzędnym zestawu wymiarów 5.

Example of dimension tree structure in NAV 2013.

Znajdowanie identyfikatora zestawu wymiarów

Na poziomie koncepcyjnym Identyfikator nadrzędny, Wymiar i Wartość wymiaru w drzewie wyszukiwania są łączone i używane jako klucz podstawowy, ponieważ Business Central przechodzi przez drzewo w tej samej kolejności co zapisy wymiarów. Do wyszukiwania identyfikatora zestawu wymiarów używana jest funkcja GET (rekord). Poniższy przykład kodu pokazuje, jak znaleźć identyfikator zestawu wymiarów, gdy istnieją trzy wartości wymiarów.

DimSet."Parent ID" := 0;  // 'root'  
IF UserDim.FINDSET THEN  
  REPEAT  
      DimSet.GET(DimSet."Parent ID",UserDim.DimCode,UserDim.DimValueCode);  
  UNTIL UserDim.NEXT = 0;  
EXIT(DimSet.ID);  

Jednak aby zachować możliwość zmiany nazwy wymiaru i wartości wymiaru w Business Central, tabela 349 Wartość wymiaru jest rozszerzona o pole całkowite Identyfikator wartości wymiaru. Ta tabela konwertuje parę pól Wymiar i Wartość wymiaru na wartość całkowitą. Po zmianie nazwy wymiaru i wartości wymiaru wartość całkowita nie zmienia się.

DimSet."Parent ID" := 0;  // 'root'  
IF UserDim.FINDSET THEN  
  REPEAT  
      DimSet.GET(DimSet.ParentID,UserDim."Dimension Value ID");  
  UNTIL UserDim.NEXT = 0;  
EXIT(DimSet.ID);  

Powiązane informacje

Design Details: Dimension Set Entries
Przegląd zapisów zestawu wymiarów
Szczegóły projektowania: Struktura tabeli

Znajdź bezpłatne moduły e-learningowe dla Business Central tutaj