Acumatica 向代码中的自定义数据记录添加注释

Acumatica 向代码中的自定义数据记录添加注释,acumatica,Acumatica,我正在搜索一个解决方案,将注释添加到在自定义表中创建的数据库行中。我在下面的Ruslan中找到了访问noteid的解决方案,但我不明白如何使用它向行中添加注释。我有创建行的所有代码,我只需要属性或函数调用来将注释的文本实际附加到行中 ================================================================== 要在保存新的父记录时自动创建注释记录,应在将父记录插入缓存时调用静态PXNoteAttribute.GetNoteID(PXCach

我正在搜索一个解决方案,将注释添加到在自定义表中创建的数据库行中。我在下面的Ruslan中找到了访问noteid的解决方案,但我不明白如何使用它向行中添加注释。我有创建行的所有代码,我只需要属性或函数调用来将注释的文本实际附加到行中

==================================================================

要在保存新的父记录时自动创建注释记录,应在将父记录插入缓存时调用静态PXNoteAttribute.GetNoteID(PXCache缓存,对象数据)方法

例如,要在保存新库存项目时自动创建注释记录,您应该订阅InventoryItem DAC的RowInserted处理程序并调用PXNoteAttribute.GetNoteID(…):

DAC字段:

    #region NoteID
    public abstract class noteID : PX.Data.IBqlField
    {
    }
    protected Guid? _NoteID;
    [PXNote()]
    public virtual Guid? NoteID
    {
        get
        {
            return this._NoteID;
        }
        set
        {
            this._NoteID = value;
        }
    }
    #endregion
创建记录的代码:

    private static bool acumaticaException(Exception e, EDImportExceptionMaint excpMaint, LingoRet850 res850)
    {
        excpMaint.Clear();
        var except = new EDImportExcept();
        except.ExceptReason = "U";
        except.Active = true;

        <...field assignments...>

        except.OrderNbr = "";
        PXNoteAttribute.SetNote(excpMaint.Exception.Cache, excpMaint.Exception.Current, 
            ((PX.Data.PXOuterException)e).InnerMessages[0] + "-" + e.Message);
        excpMaint.Exception.Insert(except);
        excpMaint.Actions.PressSave();
        return true;
  }
private static bool acumaticaException(异常e,eImportExceptionMaint excpMaint,LingoRet850 res850)
{
excpMaint.Clear();
var except=新的eImportExcept();
except.ExceptReason=“U”;
除了.Active=true;
除.OrderNbr=“”;
PXNoteAttribute.SetNote(excpMaint.Exception.Cache、excpMaint.Exception.Current、,
((PX.Data.PXOuterException)e).InnerMessages[0]+“-”+e.Message);
excpMaint.Exception.Insert(除外);
excpMaint.Actions.PressSave();
返回true;
}

要设置记录的注释,请使用
pxnote属性的
SetNote()
静态函数

PXNoteAttribute.SetNote(Base.Item.Cache, Base.Item.Current, "Hello, World!");
调用
SetNote
还可以在Note记录不存在的情况下添加该记录,因此您不必在设置问题中的Note值之前调用
GetNoteID

另外,还有一个
GetNote
功能,允许您检索注释的当前值:

string note = PXNoteAttribute.GetNote(Base.Item.Cache, Base.Item.Current);

要设置记录的注释,请使用
PXNoteAttribute

PXNoteAttribute.SetNote(Base.Item.Cache, Base.Item.Current, "Hello, World!");
调用
SetNote
还可以在Note记录不存在的情况下添加该记录,因此您不必在设置问题中的Note值之前调用
GetNoteID

另外,还有一个
GetNote
功能,允许您检索注释的当前值:

string note = PXNoteAttribute.GetNote(Base.Item.Cache, Base.Item.Current);

我相信只会生成noteid记录,而不是note text(如果您正在查找的话)?是的,我正在查找代码以建立note记录/文本和任何其他属性,以便在我的屏幕网格上显示note指示,并通过单击它使其能够在弹出窗口中显示。只是猜测,但我需要使用上面的代码生成注释记录,然后更新它?我认为应该有特定的函数或属性来设置文本。问题是,在将
记录插入缓存之前,您正在设置注释。插入它,然后设置注释,它将起作用。我还怀疑,如果您只是将
excpMaint.Exception.Current
替换为
Exception
,它会起作用,但仍然认为最好先插入记录(直到您执行
按save()
)时,它才到达数据库。谢谢!!完全有道理,但只是其中一个小概念,你可以错过。就一个简单的问题。最好在按Save之前或之后设置备忘?此外,我在图形中使用动态DAC在处理网格中显示多个表中的数据。我是否必须从自定义表中获取注释,然后将其设置为动态DAC以便显示?有什么特别的东西可以把便笺放到网格中吗?我相信这只会生成noteid记录,而不是便笺文本,如果这是你想要的吗?是的,我正在寻找代码来建立注释记录/文本和任何其他属性,以便在我的屏幕网格上显示注释指示,并通过单击它使其能够在弹出窗口中显示。只是猜测,但我需要使用上面的代码生成注释记录,然后更新它?我认为应该有特定的函数或属性来设置文本。问题是,在将
记录插入缓存之前,您正在设置注释。插入它,然后设置注释,它将起作用。我还怀疑,如果您只是将
excpMaint.Exception.Current
替换为
Exception
,它会起作用,但仍然认为最好先插入记录(直到您执行
按save()
)时,它才到达数据库。谢谢!!完全有道理,但只是其中一个小概念,你可以错过。就一个简单的问题。最好在按Save之前或之后设置备忘?此外,我在图形中使用动态DAC在处理网格中显示多个表中的数据。我是否必须从自定义表中获取注释,然后将其设置为动态DAC以便显示?有什么特别的东西可以把便笺放进表格吗?请参阅说明中的附加问题。注释仍不起作用。请参阅上面的注释。我可能放错地方了?获取要显示的便笺列时遇到问题。请参阅说明中添加的问题。注释仍不起作用。请参阅上面的注释。我可能放错地方了?获取要显示的便笺列时出现问题。