2017-09-05 45 views
1

我注意到,每當AR發票得到保存時,就會在註釋表中使用新發票的註釋ID創建一條記錄。你能告訴我這是如何完成的嗎?我想讓我的一個屏幕做同樣的事情。我猜DAC或圖上都必須有某種屬性,但我找不到它。我在DAC的NoteID列上有PXNote屬性,但它不會導致自動創建Note記錄。如何在Acumatica中自動創建Note記錄?

感謝您的幫助。

回答

1

要在保存新父記錄時自動創建Note記錄,應在父記錄插入緩存時調用靜態PXNoteAttribute.GetNoteID<Field>(PXCache cache, object data)方法。

例如,有註釋時會自動創建一個新的股票項目被保存,您應該訂閱RowInserted處理程序InventoryItem DAC和呼叫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都有一些簡單的更改,可以用自定義DAC來替換InventoryItem。

+0

謝謝魯斯蘭!這幫助我將CRActivity鏈接到自定義DAC項目。 –

相關問題