Pokud v Dynamics AX 2012 vytvoříte novou tabulku, její primární a cluster indexy jsou automaticky nastaveny na hodnotu “SurrogateKey”. Pokud ale tabulku naimportujete ze starší verze, SurrogateKey se vůbec nenabídne a nenašel jsem žádnou “normální” cestu, jak toho docílit.
Nicméně… v .xpo nově vytvořené tabulky:
TABLE #Table1 EnforceFKRelation 1 PROPERTIES Name #Table1 CreateRecIdIndex #Yes PrimaryIndex #SurrogateKey ClusterIndex #SurrogateKey Origin #{A948828D-E7B9-42BD-A619-6305867AF2CE} ENDPROPERTIES
se vyskytuje položka EnforceFKRelation a ta je zjevně zodpovědná za toto chování. Její hodnotu lze tedy změnit v .xpo a naimportovat .xpo do AX.
V Dynamics AX můžete tuto hodnotu číst z DictTable.enforceRelationRules()
a křížové reference odhalí, že také aktivuje dodatečné validace při kontrole Best Practices.