Persist 执行时需要获取 inserted object 的 ID

Need to get ID of inserted object during Persist execution

我有一个包含详细信息的(新)header,我想允许用户同时插入一个(新)header 和详细信息,而无需先要求用户保存header 在添加任何细节之前。如何获取 header 的 ID 值,以便在将详细信息行保存到数据库之前用 header 的 ID 值更新详细信息行?

推荐的方法是用PXDBDefaultAttribute修饰细节DAC中的外键。 PXDBDefaultAttribute 订阅为 header 记录 引发的 RowPersisted 处理程序,以在记录后立即检索 header 的 ID已被插入到数据库中,而事务仍处于打开状态。它还为详细记录订阅 RowPersisting 以使用在 header 记录 RowPersisted 处理程序中检索到的值更新外键。