Acumatica 向自定义对象添加注释
我已经尝试了在网上和现有代码中可以找到的一切,但是我无法将注释添加到notes表并附加到自定义表行。我真的很想把这张纸条贴上去。任何帮助都将不胜感激 以下是注释id def: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
#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其他问题。我删除了数据以重新运行测试,孤立笔记行仍然存在。是否应该使用孤立笔记的清理?我不知道有任何清理工具。我认为您必须手动删除它们。