我注意到,每当保存 AR 发票时,就会在 Note 表中使用新发票的备注 ID 创建一条记录。你能告诉我这是如何实现的吗?我想让我的一个屏幕做同样的事情。我猜DAC或图表上一定有某种属性,但我找不到。我的 DAC 中的 NoteID 列上有 PXNote 属性,但它不会导致自动创建注释记录。
谢谢你的帮助。
我注意到,每当保存 AR 发票时,就会在 Note 表中使用新发票的备注 ID 创建一条记录。你能告诉我这是如何实现的吗?我想让我的一个屏幕做同样的事情。我猜DAC或图表上一定有某种属性,但我找不到。我的 DAC 中的 NoteID 列上有 PXNote 属性,但它不会导致自动创建注释记录。
谢谢你的帮助。
要在保存新的父记录时自动创建 Note 记录,应PXNoteAttribute.GetNoteID<Field>(PXCache cache, object data)
在将父记录插入缓存时调用静态方法。
例如,要在保存新的 Stock Item 时自动创建 Note 记录,您应该订阅 InventoryItem DAC 的 RowInserted 处理程序并调用PXNoteAttribute.GetNoteID<Field>(...)
:
public class InventoryItemMaintExt : PXGraphExtension<InventoryItemMaint>
{
public void InventoryItem_RowInserted(PXCache sender, PXRowInsertedEventArgs e)
{
var noteCache = Base.Caches[typeof(Note)];
var oldDirty = noteCache.IsDirty;
PXNoteAttribute.GetNoteID<InventoryItem.noteID>(sender, e.Row);
noteCache.IsDirty = oldDirty;
}
}
上面的代码片段可以合并到几乎任何自定义 BLC 中,只需进行几个简单的更改即可将 InventoryItem 替换为自定义 DAC。