我有一个用户定义表,我链接到Acumatica中的BAccount表。我尝试做的是使用PXDBCreatedDateTime属性在设置UDF时保存CreateDateTime。这是不可能的?它现在似乎无法正常工作。
[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 :(得分:0)
我认为它不起作用,因为BAccount表已经包含一个具有相同名称的字段&#39; CreatedDateTime&#39;。我将首先对表扩展字段使用不同的字段名称,因为这可能会对已存在的具有相同名称的字段产生一些冲突。此外,插入或更新基表(添加扩展表后第一次)时会插入扩展表,这些扩展表可能会或可能不会从更改扩展字段发生。这也会导致从PXDBCreatedDateTime字段中获取正确日期的一些问题。您可能最好使用标准日期时间字段,并使用某种类型的公式来更新字段更改时的日期。我不得不研究这个公式。您可以在用户字段的setter中使用逻辑,并将PXDependsOnFields属性添加到日期字段,并将日期字段设置为null。我没有在扩展中尝试过PXDependsOnFields - 但逻辑可能很有希望。