Acumatica 向自定义对象添加注释

Acumatica 向自定义对象添加注释,acumatica,Acumatica,我已经尝试了在网上和现有代码中可以找到的一切,但是我无法将注释添加到notes表并附加到自定义表行。我真的很想把这张纸条贴上去。任何帮助都将不胜感激 以下是注释id def: #region NoteID public abstract class noteID : PX.Data.IBqlField { } protected Guid? _NoteID; [PXNote()] public virtual Guid? NoteID { get; set

我已经尝试了在网上和现有代码中可以找到的一切,但是我无法将注释添加到notes表并附加到自定义表行。我真的很想把这张纸条贴上去。任何帮助都将不胜感激

以下是注释id def:

    #region NoteID
    public abstract class noteID : PX.Data.IBqlField { }
    protected Guid? _NoteID;
    [PXNote()]
    public virtual Guid? NoteID { get; set; }
    #endregion
以下是插入行并附加注释的代码:

        //Retrieve EDI Document remittance
        foreach (LingoSearchResults ediRemit in docRemits)
        {
            resRemit = lingo.RetrieveRemit(ediRemit.documentId, docType);
            partnerCustomerMap pcmap = lstPartnerCustomer.Find(delegate (partnerCustomerMap pcm)
                { return pcm.partner == resRemit.DataRemit.partner; });
            int newRemittanceId = 0;
            var remittance = new EDRemittance();
            //Set all field values 
            remittance.Status = "A";
            remittance.Type = resRemit.DataRemit.type;
            remittance.DocumentId = resRemit.DataRemit.documentId;
            remittance.RecordId = resRemit.DataRemit.recordId;
            remittance.TagId = resRemit.DataRemit.tagId;
            remittance.Account = resRemit.DataRemit.account;
            remittance.PartnerId = resRemit.DataRemit.partner;
            remittance.DocumentNumber = resRemit.DataRemit.documentNumber;
            remittance.SenderType = resRemit.DataRemit.senderType;
            remittance.PaymentNumber = resRemit.DataRemit.paymentNumber;
            remittance.PaymentFormat = resRemit.DataRemit.paymentFormat;
            remittance.PaymentReason = resRemit.DataRemit.paymentReason;

            strDate = resRemit.DataRemit.remitDate.ToString();
            if (DateTime.TryParseExact(strDate, "yyyyMMdd",
                System.Globalization.CultureInfo.InvariantCulture,
                System.Globalization.DateTimeStyles.None, out tempDate))
                remittance.RemitDate = tempDate;
            else
                remittance.RemitDate = DateTime.Today;

            remittance.CurrencyEntity = resRemit.DataRemit.currencyEntity;
            remittance.DepartmentNumber = resRemit.DataRemit.departmentNumber;

            if (DateTime.TryParse(strDate, out tempDate))
                remittance.ReceiveDate = tempDate;
            else
                remittance.ReceiveDate = DateTime.Today;

            remittance.HandlingCode = resRemit.DataRemit.handlingCode;
            remittance.RemitTotal = resRemit.DataRemit.remitTotal;
            remittance.DetailLineCount = resRemit.DataRemit.detailLineCount;
            remittance.BatchNumber = resRemit.DataRemit.batchNumber;
            remittance.ReceiverType = resRemit.DataRemit.receiverType;
            remittance.BatchStatus = resRemit.DataRemit.batchStatus;
            remittance.PaymentMethod = resRemit.DataRemit.paymentMethod;
            remittance.CurrencyCode = resRemit.DataRemit.currencyCode;
            remittance.PaymentStatus = resRemit.DataRemit.paymentStatus;
            remittance.Vendor = resRemit.DataRemit.vendor;
            remittance.RemitNumber = resRemit.DataRemit.remitNumber;

            //Insert new row, save, and retrieve new Id value
            remitGraph.Remittance.Insert(remittance);
            remitGraph.Persist();
            newRemittanceId = (int)remitGraph.Remittance.Current.RemittanceNbr;

            //Add notes for remittance
            noteText = "Remit level note";
            foreach (EdiNote note in resRemit.DataRemit.notes)
            {
                noteText += note.type + ": " + note.note + '\n';
            }

            if (noteText != "")
            {
                PXNoteAttribute.GetNoteID<EDRemittance.noteID>(remitGraph.Remittance.Cache, remittance);
                PXNoteAttribute.SetNote(remitGraph.Remittance.Cache, remittance, noteText);
                //remitGraph.Persist();
            }
//检索EDI文档汇款
foreach(docRemits中的LingoSearchResults ediRemit)
{
resremote=lingo.RetrieveRemit(ediremote.documentId,docType);
partnerCustomerMap pcmap=lstPartnerCustomer.Find(委托(partnerCustomerMap pcm)
{return pcm.partner==resremote.dataremote.partner;});
int newrelimetanceid=0;
var=新的发射度();
//设置所有字段值
汇款。状态=“A”;
汇款.Type=resremote.dataremote.Type;
汇款.DocumentId=resremote.dataremote.DocumentId;
汇款.RecordId=resremote.dataremote.RecordId;
汇款.TagId=resremote.dataremote.TagId;
汇款.Account=resremote.dataremote.Account;
汇款.PartnerId=resremote.dataremote.partner;
汇款.DocumentNumber=resremote.dataremote.DocumentNumber;
汇款.SenderType=resremote.dataremote.SenderType;
汇款.PaymentNumber=重新汇款.Data汇款.PaymentNumber;
汇款.PaymentFormat=resremote.dataremote.PaymentFormat;
汇款.PaymentReason=resremote.dataremote.PaymentReason;
strDate=resremote.dataremote.remoteDate.ToString();
if(DateTime.TryParseExact(标准日期,yyyyMMdd),
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None,out tempDate)
汇款。汇款日期=临时日期;
其他的
汇款。汇款日期=日期时间。今天;
汇款.CurrencyEntity=resremote.dataremote.CurrencyEntity;
汇款.DepartmentNumber=resremote.dataremote.DepartmentNumber;
if(DateTime.TryParse(标准日期,过期日期))
汇款.收款日期=临时日期;
其他的
汇款.ReceiveDate=日期时间.Today;
汇款.HandlingCode=resremote.dataremote.HandlingCode;
汇款.汇款总额=重新汇款.数据汇款.汇款总额;
submission.DetailLineCount=resremote.dataremote.DetailLineCount;
submission.BatchNumber=resremote.dataremote.BatchNumber;
embition.ReceiverType=resremote.dataremote.ReceiverType;
submission.BatchStatus=resremote.dataremote.BatchStatus;
汇款.PaymentMethod=resremote.dataremote.PaymentMethod;
汇款.CurrencyCode=resremote.dataremote.CurrencyCode;
汇款.PaymentStatus=重新汇款.Data汇款.PaymentStatus;
汇款.Vendor=resremote.dataremote.Vendor;
汇款.汇款号码=resremote.数据汇款.汇款号码;
//插入新行、保存和检索新的Id值
汇款图.汇款.插入(汇款);
Persist();
newremittenaceid=(int)汇款图.embition.Current.remittetancenbr;
//添加汇款注释
noteText=“汇款级别票据”;
foreach(resremote.dataremote.notes中的eNote注释)
{
noteText+=note.type+“:“+note.note+'\n';
}
如果(noteText!=“”)
{
PXNoteAttribute.GetNoteID(汇款图.submission.Cache,汇款);
pxnotetAttribute.SetNote(汇款图.汇款.缓存,汇款,noteText);
//Persist();
}

我将尝试以下更改

remittance = remitGraph.Remittance.Insert(remittance);
//this saves the object to the cache and gets things like Noteid generated. On the 
//return trip this data is available
//remitGraph.Persist();

//PXNoteAttribute.GetNoteID<EDRemittance.noteID>(remitGraph.Remittance.Cache, remittance);
PXNoteAttribute.SetNote(remitGraph.Remittance.Cache, remittance, noteText);
remittance = remitGraph.Remittance.Update(remittance)

//at the end do an Actions.PressSave();
汇款=汇款图.汇款.插入(汇款);
//这会将对象保存到缓存中,并生成Noteid之类的内容
//返回行程此数据可用
//Persist();
//PXNoteAttribute.GetNoteID(汇款图.submission.Cache,汇款);
pxnotetAttribute.SetNote(汇款图.汇款.缓存,汇款,noteText);
汇款=汇款图.汇款.更新(汇款)
//在结束时执行操作。按Save();

我将尝试以下更改

remittance = remitGraph.Remittance.Insert(remittance);
//this saves the object to the cache and gets things like Noteid generated. On the 
//return trip this data is available
//remitGraph.Persist();

//PXNoteAttribute.GetNoteID<EDRemittance.noteID>(remitGraph.Remittance.Cache, remittance);
PXNoteAttribute.SetNote(remitGraph.Remittance.Cache, remittance, noteText);
remittance = remitGraph.Remittance.Update(remittance)

//at the end do an Actions.PressSave();
汇款=汇款图.汇款.插入(汇款);
//这会将对象保存到缓存中,并生成Noteid之类的内容
//返回行程此数据可用
//Persist();
//PXNoteAttribute.GetNoteID(汇款图.submission.Cache,汇款);
pxnotetAttribute.SetNote(汇款图.汇款.缓存,汇款,noteText);
汇款=汇款图.汇款.更新(汇款)
//在结束时执行操作。按Save();

感谢您的快速响应!效果很好!还有一个问题。我删除了数据以重新运行测试,孤立的便笺行仍然存在。是否应该使用孤立便笺的清理功能?我不知道有任何清理工具。我想您必须手动删除它们。感谢您的快速响应!效果很好!One其他问题。我删除了数据以重新运行测试,孤立笔记行仍然存在。是否应该使用孤立笔记的清理?我不知道有任何清理工具。我认为您必须手动删除它们。