Axapta 使用联接数据源自动将记录插入表单的两个数据源
我有一个名为Axapta 使用联接数据源自动将记录插入表单的两个数据源,axapta,x++,erp,dynamics-365-operations,Axapta,X++,Erp,Dynamics 365 Operations,我有一个名为gate pass的自定义表单,其中有两个数据源,第一个数据源称为gate pass table,另一个数据源称为driver table 通行证表与驾驶员表字段国家ID有外键关系。这意味着national Id是两个表中的一个字段 表格中显示了三个字段: 司机身份证 驱动程序名称 司机联系电话 我希望使用户能够通过查找选择国家ID,还可以通过在驾驶员国家ID字段中输入新的国家ID。如果驾驶员表中存在国家Id,则应加载相关姓名和联系人。否则,用户也应输入这些记录,并将新记录添加到
gate pass
的自定义表单,其中有两个数据源,第一个数据源称为gate pass table
,另一个数据源称为driver table
通行证表
与驾驶员表
字段国家ID
有外键关系。这意味着national Id
是两个表中的一个字段
表格中显示了三个字段:
- 司机身份证
- 驱动程序名称
- 司机联系电话
国家ID
,还可以通过在驾驶员国家ID字段中输入新的国家ID
。如果驾驶员表中存在国家Id
,则应加载相关姓名和联系人。否则,用户也应输入这些记录,并将新记录添加到驱动程序表中
但是,我希望通过使用动态365功能来满足这一要求。我想知道是否可以使用联接数据源属性
我已将驱动程序表
数据源的join-source属性设置为带活动链接类型的gate-pass
数据源。有两个问题:
当我在主窗体中选择national Id
时,姓名字段和联系人字段将自动加载,但我应该刷新数据源以查看更新
如果用户输入新的国家Id
,将显示以下错误:
“在相关表‘DriverDetails’中找不到字段‘Driver National’中的值‘xxxxx’。”
PS:在通行证
表格中,国家Id
字段的数据源是通行证
,字段驾驶员姓名和联系人的数据源是驾驶员表
如果没有自定义代码,这似乎不完全可能。也就是说,可以通过利用变更组功能来实现想要的行为。请参考文件以及这个,它很高兴为我做了繁重的工作
您可能还需要为FK字段添加一个表\u ds.executeQuery()
。因此,如果数据已经存在,那么如果用户选择键,它将被查询并显示在表单上
希望这些信息有帮助
您好,
汉内斯你能告诉我们更多关于数据结构的信息吗?例如,gate pass
和driver table
之间的关系是什么?根据描述,它可能是1:1,但是为什么不将国家ID
字段添加到驾驶员表中,然后删除登机证
表呢?错误消息中的表DriverDetails
是否与所述的driver表相同?@FH入口闸门通行证表具有一些其他字段,并且还具有来自driver表的外键(国家Id)。登机口通行证表格与驾驶员表格不同。您能将这些新信息引入问题中,以帮助其他人更容易地找到它吗?我仍然不确定gate pass
和driver table
之间的关系是什么(1:1,1:n,n:m?),以及tablesDriverDetails
和driver table
是否相同。如果您提供更多详细信息,您可以帮助我们回答您的问题。还可以看看,这可能会给你更多的想法来补充你的问题,以提高你获得答案的机会。