错误消息可能具有误导性。它将通过表关系链接到扩展数据类型。
尝试关注
1)检查您使用的EDT是2012风格还是2009风格(2009有关系)。如果它是旧样式,请尝试使用带有表引用而不是关系的新样式数据类型。
2)添加关系到表级别。
3)“表1->字段1,字段12
Index1 -> Field1 将 AlternateKey 设置为“是”。
Table1 -> 属性->PrimaryIndex 设置为“Index1”。
表2 -> 创建外键关系(外键 -> 基于主键)
然后自动创建一个关系 Table2.Table1 ==Table1.Field1。
通过这种方式,您可以轻松地在 RecId 以外的任何字段上创建关系。并且 BP 错误 Only foreign key constraints are allowed on this table 将被删除。”
http://dynamicsuser.net/forums/p/54753/288954.aspx
4) 尝试将表导出到.XPO。然后更改文件中的 EnforceFKRelation 属性并将 .XPO 导入回 axapta。
https://erpcoder.wordpress.com/2014/08/04/get-rid-of-bp839-only-foreign-key-constraints-are-allowed-on-this-table/
5)您可以在此处找到有关此错误的更多信息http://microsoft-dynamics-ax-erp.blogspot.cz/2012/12/debug-bp-errors-in-dynamics-ax-2012.html
“对于那些想知道这个 BP 错误原因的人来说,这是因为我们应该创建一个新的基于外键的关系而不是正常的关系。
简单地说,当您将 ItemID EDT 拖放到表格上时,它会要求您确认在 EDT 上添加关系。
按是,将创建一个基于外键的关系。如果您按否并想要手动创建关系,请确保创建基于外键的关系而不是普通关系。
正常和外键关系看起来都一样,在视觉上很难区分它们。因此,如果您遇到上述 BP 并定义了关系,请删除并重新创建新的外键关系。”