如何在Acumatica中自动创建Note记录?

时间:2017-09-05 15:32:00

标签: acumatica acumatica-kb

我注意到,只要保存AR发票,就会在Note表中创建一张记录,其中包含新发票的附注ID。你能告诉我这是怎么实现的吗?我想让我的一个屏幕做同样的事情。我想在DAC或图表上必须有某种属性,但我无法找到它。我的DAC中的NoteID列上有PXNote属性,但它不会导致自动创建Note记录。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

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