2017-03-08 81 views
0

我有一個用戶定義表,我鏈接到Acumatica中的BAccount表。我想要做的是使用PXDBCreatedDateTime屬性來保存設置UDF時的CreateDateTime。這可能嗎?目前似乎沒有工作。PXDBCreatedDateTime在擴展表中不起作用

[PXTable(typeof(BAccount.bAccountID),IsOptional=true)] 
public class CustomerExtension : PXCacheExtension<BAccount> 
{ 
    [PXDBCreatedDateTime()] 
    [PXUIField(DisplayName = "Date")] 
    public DateTime? CreatedDateTime { get; set; } 

    public class createdDateTime : IBqlField { } 
} 

回答

0

我會認爲它不會工作,因爲BAccount表已經包含一個同名的字段'CreatedDateTime'。我會首先爲表擴展字段使用不同的字段名稱,因爲這可能會對已存在的具有相同名稱的字段造成一些衝突。此外,插入或更新基表(插入或更新基本表後)時會插入擴展表(擴展表添加後的第一次),擴展字段的更改可能會發生,也可能不會發生。這也會導致一些問題,從您的PXDBCreatedDateTime字段獲得一個好日期。您最好使用標準日期時間字段,並使用某種類型的公式更新字段更改時的日期。我將不得不研究這個公式。您可以在用戶字段的setter中使用邏輯,並將PXDependsOnFields屬性添加到日期字段中,並將日期字段設置爲null。我還沒有嘗試擴展PXDependsOnFields - 但邏輯可能是有前途的。

+0

恩,是的。更改名稱爲CreateDateTime1剛剛工作。咄。謝謝布倫丹! –

+0

很高興幫助。我們使用許多擴展表。我們使用相同的2個字母開始我們所有的擴展字段,以便它們始終是唯一的,可以識別爲我們的(在存在許多擴展的情況下) – Brendan