При попытке удалить атрибут из пользовательского класса DAC появляется ошибка «Не удалось найти тип объекта».Я использую ЦАП в графике, который используется страницей, которая позволяет пользователю добавлять атрибуты в пользовательский ЦАП.Страница, которую я сделал, похожа на страницу классов Contact и Lead - CR207000.
Вот DAC, которому я назначаю атрибуты.
[Serializable]
public class MyCustomGroup : IBqlTable
{
#region CustomGroupID
[PXDBIdentity(IsKey = true)]
[PXUIField(DisplayName = "Custom Group")]
[PXSelector(typeof(MyCustomGroup.CustomGroupID),
typeof(MyCustomGroup.descr),
typeof(MyCustomGroup.capacity),
DescriptionField = typeof(MyCustomGroup.descr))]
public virtual int? CustomGroupID { get; set; }
public abstract class CustomGroupID : IBqlField { }
#endregion
#region NoteID
[PXSequentialNote(new Type[0], SuppressActivitiesCount = true)]
[PXUIField(DisplayName = "Noteid")]
public virtual Guid? NoteID { get; set; }
public abstract class noteID : IBqlField { }
#endregion
#region Descr
[PXDBString(60, IsUnicode = true, InputMask = "")]
[PXUIField(DisplayName = "Descr")]
[PXDefault("<New>")]
public virtual string Descr { get; set; }
public abstract class descr : IBqlField { }
#endregion
#region Capacity
[PXDBInt()]
[PXUIField(DisplayName = "Capacity")]
public virtual int? Capacity { get; set; }
public abstract class capacity : IBqlField { }
#endregion
#region Tstamp
[PXDBTimestamp()]
[PXUIField(DisplayName = "Tstamp")]
public virtual byte[] Tstamp { get; set; }
public abstract class tstamp : IBqlField { }
#endregion
#region CreatedByID
[PXDBCreatedByID()]
public virtual Guid? CreatedByID { get; set; }
public abstract class createdByID : IBqlField { }
#endregion
#region CreatedByScreenID
[PXDBCreatedByScreenID()]
public virtual string CreatedByScreenID { get; set; }
public abstract class createdByScreenID : IBqlField { }
#endregion
#region CreatedDateTime
[PXDBCreatedDateTimeUtc]
[PXUIField(DisplayName = "Created Date Time")]
public virtual DateTime? CreatedDateTime { get; set; }
public abstract class createdDateTime : IBqlField { }
#endregion
#region LastModifiedByID
[PXDBLastModifiedByID()]
public virtual Guid? LastModifiedByID { get; set; }
public abstract class lastModifiedByID : IBqlField { }
#endregion
#region LastModifiedByScreenID
[PXDBLastModifiedByScreenID()]
public virtual string LastModifiedByScreenID { get; set; }
public abstract class lastModifiedByScreenID : IBqlField { }
#endregion
#region LastModifiedDateTime
[PXDBLastModifiedDateTimeUtc]
public virtual DateTime? LastModifiedDateTime { get; set; }
public abstract class lastModifiedDateTime : IBqlField { }
#endregion
}
Я использую это вкласс Graph для заполнения сетки атрибутов на моей странице:
public CSAttributeGroupList<MyCustomGroup, MyCustomGroupLinker> AttGrpMapping;
Вот второй пользовательский ЦАП, который я использую в CSAttributeGroupList выше:
[Serializable]
public class MyCustomGroupLinker : IBqlTable
{
#region LinkerID
[PXDBIdentity(IsKey = true)]
[PXUIField(DisplayName = "Linker ID")]
public virtual int? LinkerID { get; set; }
public abstract class linkerID : IBqlField { }
#endregion
#region GroupNoteID
[PXDBGuid()]
[PXUIField(DisplayName = "Custom Group")]
[PXSelector(typeof(MyCustomGroup.noteID),
SubstituteKey =typeof(MyCustomGroup.descr))]
public virtual Guid? GroupNoteID { get; set; }
public abstract class groupNoteID : IBqlField { }
#endregion
#region RelatedNoteID
[PXDBGuid()]
[PXUIField(DisplayName = "Related Note ID")]
public virtual Guid? RelatedNoteID { get; set; }
public abstract class relatedNoteID : IBqlField { }
#endregion
}
Спасибо за вашу помощь!