top of page
Search
  • marco ferrari

ENUM vs Options

Updated: Feb 12, 2022

Nelle ultime versioni di Business Central avrete notato che i campi di tipo Option sono stati convertiti nel nuovo tipo di dato Enum.

Nella tabella Sales Header troviamo ad esempio il campo Document Type:

L'Enum è a tutti gli effetti un nuovo oggetto con una sua definizione specifica. Diamo un'occhiata all'Enum Sales Document Type collegato al campo Document Type:

In pratica la sequenza originale che era definita nella proprietà OptionMembers è stata trasformata nell'Enum assegnando i valori nello stesso ordine.

Questo vale anche per quei campi Option che erano stati modificati nel processo di localizzazione. Possiamo fare un confronto tra l'Enum Gen. Journal Document Type della versione W1

e lo stesso Enum della versione italiana:

In questo caso la stringa Dishonored è stata associata al valore 10, non al valore 7 come ci saremmo potuti aspettare, ma è anche vero che nella proprietà OptionMembers della versione precedente l'opzione non era stata messa in coda alle altre, bensì dopo alcune virgole:

Questa scelta è dovuta quindi a problemi di compatibilità con le versioni precedenti. Come sappiamo i campi Option erano tradotti in SQL come campi di tipo Integer, e la stessa cosa vale anche per il tipo di dati Enum; conseguentemente non si poteva cambiare il valore senza creare seri problemi (meglio dire un vero disastro) nel processo di aggiornamento.

 

Per questo motivo, se avessimo personalizzato un campo option aggiungendo in coda i nostri valori, adesso dovremmo aggiungerli utilizzando il nuovo oggetto enumextension

Questo per quanto riguarda il passato. Da adesso in poi, volendo aggiungere nuovi valori a un campo Enum, non dovremo mai usare il primo numero disponibile, ma utilizzare la stessa numerazione che usiamo per gli oggetti nuovi, essendo in questo modo sicuri che nessuno potrà mai sovrapporsi.




127 views0 comments
bottom of page