Поле, которое вы пытаетесь настроить, - это PMTimeActivity.ApprovalStatus, поэтому имя метода, прикрепленного к кешу, не указывает на правильную ссылку для переопределения атрибутов.
При просмотре свойств поля вы можете увидеть dac и поле, которое вы должны использовать:
Это приводит к тому, что имя прикрепленного к кэшу метода PMTimeActivity_ApprovalStatus_CacheAttached (при использовании соглашения об именах DataClass_DataField_CacheAttached )
Вот рабочий пример:
public class CRActivityMaintExtension : PXGraphExtension<PX.Objects.EP.CRActivityMaint>
{
[PXRemoveBaseAttribute(typeof(PX.Objects.CR.ActivityStatusListAttribute))]
[PXStringList(new[]
{
PX.Objects.CR.ActivityStatusListAttribute.Draft,
PX.Objects.CR.ActivityStatusListAttribute.Open,
PX.Objects.CR.ActivityStatusListAttribute.InProcess,
PX.Objects.CR.ActivityStatusListAttribute.Completed,
PX.Objects.CR.ActivityStatusListAttribute.Approved,
PX.Objects.CR.ActivityStatusListAttribute.Rejected,
PX.Objects.CR.ActivityStatusListAttribute.Canceled,
PX.Objects.CR.ActivityStatusListAttribute.PendingApproval,
PX.Objects.CR.ActivityStatusListAttribute.Released,
"T1",
"T2"
},
new[]
{
PX.Objects.EP.Messages.Draft,
PX.Objects.EP.Messages.Open,
PX.Objects.EP.Messages.InProcess,
PX.Objects.EP.Messages.Completed,
PX.Objects.EP.Messages.Approved,
PX.Objects.EP.Messages.Rejected,
PX.Objects.EP.Messages.Canceled,
PX.Objects.EP.Messages.Balanced,
PX.Objects.EP.Messages.Released,
"TEST1",
"TEST2"
})]
[PXUIField(DisplayName = "Some Test")]
protected virtual void PMTimeActivity_ApprovalStatus_CacheAttached(PXCache cache)
{
}
}