© 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.
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.
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