1

我注意到,每当保存 AR 发票时,就会在 Note 表中使用新发票的备注 ID 创建一条记录。你能告诉我这是如何实现的吗?我想让我的一个屏幕做同样的事情。我猜DAC或图表上一定有某种属性,但我找不到。我的 DAC 中的 NoteID 列上有 PXNote 属性,但它不会导致自动创建注释记录。

谢谢你的帮助。

4

1 回答 1

2

要在保存新的父记录时自动创建 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。

于 2017-09-05T15:31:59.890 回答