2017-03-08 75 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