How to use built in attributes with custom DACs
I'm getting an "Could not locate entity type" error when trying to delete an attribute from a custom DAC class. I'm using the DAC in a Graph which is used by a page that allows the user to add Attributes to the custom DAC. The page that I've made is similar to the Contact and Lead classes page - CR207000.
Here's the DAC that I am assigning Attributes to.
[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
}
I'm using this in the Graph class to populate the Attributes grid on my page:
public CSAttributeGroupList<MyCustomGroup, MyCustomGroupLinker> AttGrpMapping;
Here's the second custom DAC that I'm using in the CSAttributeGroupList above:
[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
}
Thanks for your help!
acumatica
add a comment |
I'm getting an "Could not locate entity type" error when trying to delete an attribute from a custom DAC class. I'm using the DAC in a Graph which is used by a page that allows the user to add Attributes to the custom DAC. The page that I've made is similar to the Contact and Lead classes page - CR207000.
Here's the DAC that I am assigning Attributes to.
[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
}
I'm using this in the Graph class to populate the Attributes grid on my page:
public CSAttributeGroupList<MyCustomGroup, MyCustomGroupLinker> AttGrpMapping;
Here's the second custom DAC that I'm using in the CSAttributeGroupList above:
[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
}
Thanks for your help!
acumatica
add a comment |
I'm getting an "Could not locate entity type" error when trying to delete an attribute from a custom DAC class. I'm using the DAC in a Graph which is used by a page that allows the user to add Attributes to the custom DAC. The page that I've made is similar to the Contact and Lead classes page - CR207000.
Here's the DAC that I am assigning Attributes to.
[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
}
I'm using this in the Graph class to populate the Attributes grid on my page:
public CSAttributeGroupList<MyCustomGroup, MyCustomGroupLinker> AttGrpMapping;
Here's the second custom DAC that I'm using in the CSAttributeGroupList above:
[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
}
Thanks for your help!
acumatica
I'm getting an "Could not locate entity type" error when trying to delete an attribute from a custom DAC class. I'm using the DAC in a Graph which is used by a page that allows the user to add Attributes to the custom DAC. The page that I've made is similar to the Contact and Lead classes page - CR207000.
Here's the DAC that I am assigning Attributes to.
[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
}
I'm using this in the Graph class to populate the Attributes grid on my page:
public CSAttributeGroupList<MyCustomGroup, MyCustomGroupLinker> AttGrpMapping;
Here's the second custom DAC that I'm using in the CSAttributeGroupList above:
[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
}
Thanks for your help!
acumatica
acumatica
asked Nov 26 '18 at 18:11
MikeNIkeMikeNIke
246
246
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53486797%2fhow-to-use-built-in-attributes-with-custom-dacs%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53486797%2fhow-to-use-built-in-attributes-with-custom-dacs%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown