Quando si chiude la finestra dopo avere modificato un set di dimensioni, in Microsoft Dynamics NAV viene valutato se il set di dimensioni modificato esiste. Se il set non esiste, viene creato un nuovo set e viene restituito l'ID combinazione delle dimensioni.

Creazione albero di ricerca

La tabella 481 Nodo albero set di dimensioni viene utilizzata quando Microsoft Dynamics NAV valuta se un set di dimensioni esiste già nella tabella 480 Voce set di dimensioni. La valutazione viene eseguita in modo ricorsivo lungo l'albero di ricerca a partire dal livello massimo numero 0. Il livello massimo 0 rappresenta un set di dimensioni senza movimenti di set di dimensioni. I figli di questo set di dimensioni rappresentano i set di dimensioni con un solo movimento set di dimensioni. I figli di questi set di dimensioni rappresentano i set di dimensioni con due elementi figlio e così via.

Esempio 1

Nel seguente diagramma viene rappresentato un albero di ricerca con sei set di dimensioni. Solo il movimento set di dimensioni distintivo viene visualizzato nel grafico.

Dimension tree structure

Nella tabella seguente viene descritto un elenco di movimenti set di dimensioni che costituiscono ogni set di dimensioni.

Set di dimensioni Movimenti set di dimensioni

Set 0

Nessuno

Set 1

AREA 30

Set 2

AREA 30, REPARTO ADM

Set 3

AREA 30, REPARTO PROD

Set 4

AREA 30, REPARTO ADM, PROJ VW

Set 5

AREA 40

Set 6

AREA 40, PROJ VW

Esempio 2

In questo esempio viene mostrato in che modo Microsoft Dynamics NAV valuta se è presente un set di dimensioni costituito da movimenti di set di dimensioni AREA 40, DEPT PROD.

Innanzitutto, Microsoft Dynamics NAV controlla se l'AREA 40 esiste come figlio del padre ID 0. Microsoft Dynamics NAV ricerca una ricorrenza nella tabella Nodo albero set di dimensioni. L'occorrenza è contrassegnata come set di dimensioni 5 nel grafico. Dopo che Microsoft Dynamics NAV ha rilevato l'occorrenza, continua controllando se esiste il PROD di reparto esiste come figlio del set di dimensioni 5. Poiché non è questo il caso, Microsoft Dynamics NAV crea un nuovo set di dimensioni utilizzare l'ID 7 inutilizzato. Il nuovo set di dimensioni 7 contiene movimenti set di dimensioni AREA 40 e PROD di reparto. Microsoft Dynamics NAV aggiorna anche la tabella Nodo albero set di dimensioni per assicurare che l'albero di ricerca somigli al diagramma seguente. Pertanto il set di dimensioni 7 diventa un figlio del set di dimensioni 5.

NAV2013_Dimension_Tree_Example 2

Ricerca ID set di dimensioni

A livello concettuale, ID padre, Dimensione e Valore dimensioni, nell'albero di ricerca, vengono combinati e utilizzati come chiave primaria perché Microsoft Dynamics NAV attraversa la struttura di albero nello stesso ordine dei movimenti con dimensione. La funzione Get (record) viene utilizzata per cercare l'ID set di dimensioni. Nell'esempio di codice riportato di seguito viene illustrato come trovare l'ID set di dimensioni quando sono presenti tre valori di dimensione.

 Copia codice
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);

Tuttavia, per mantenere la capacità di Microsoft Dynamics NAV di rinominare una dimensione e un valore di dimensione, la tabella 348 Valore dimensioni è estesa con un campo di numeri intero di ID valore dimensioni. Questa tabella converte la coppia di campi Dimensione e Valore dimensioni in un valore intero. Quando si rinominano la dimensione e il valore di dimensione, il valore intero non viene modificato.

 Copia codice
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);

Vedi anche