Acumatica "Related Entity Description" 任务字段不计算
Acumatica "Related Entity Description" task field doesn't calculate
我有一个奇怪的问题。我正在尝试添加与潜在客户相关的任务。我编写了以下代码,它运行良好,并出现在活动的领导之下。但是,当我浏览任务时,"Related Entity Description" 字段是空白的。我查看了它背后的代码,似乎相关的实体描述应该从 Acumatica 6 中的 RefNoteId 自动计算。如果我在 lead/activity 下手动创建一个项目,那么所有其他 lead/activities 更新 "related entity description" 正确。查看源代码,该字段似乎是 myTask.Source 这是一个字符串值,我不确定应该将其设置为什么,因为它应该使用 noteid 自动计算。我查看了 SQL 数据库,手动创建的任务和我自动创建的任务(包括 NoteID)中的所有字段都是正确的,因此我似乎缺少某种 "update" 命令。我缺少什么才能让 "Related Entity Description" 正确计算?谢谢
private void followuphelper(int daysToFollowUp)
{
#region Event Handlers
Contact curLead = Base.LeadCurrent.SelectSingle();
CRTaskMaint graph = CRTaskMaint.CreateInstance<CRTaskMaint>();
CRActivity myTask = new CRActivity();
myTask.Subject = String.Format("FollowUp Lead");
myTask.ClassID = 0;
DateTime dueDate = DateTime.Now;
myTask.StartDate = dueDate;
myTask.EndDate = dueDate.AddDays(daysToFollowUp); //2 weeks
myTask.RefNoteID = curLead.NoteID;
myTask.ContactID = curLead.ContactID;
CRActivity task = (CRActivity)graph.Tasks.Insert(myTask);
Base.Actions.PressSave();
graph.Actions.PressSave();
}
我刚刚验证了下面的代码,它确实显示了相关实体:
public class LeadMaintPXExt : PXGraphExtension<LeadMaint>
{
public PXAction<Contact> FollowUpTask;
[PXUIField(DisplayName = "FollowUp Task")]
[PXButton()]
private void followUpTask()
{
CRTaskMaint graph = PXGraph.CreateInstance<CRTaskMaint>();
CRActivity myTask = new CRActivity();
myTask.Subject = String.Format("FollowUp Lead Test");
myTask.ClassID = 0;
DateTime dueDate = DateTime.Now;
myTask.StartDate = dueDate;
myTask.EndDate = dueDate.AddDays(10);
myTask.RefNoteID = Base.Lead.Current.NoteID;
myTask.ContactID = Base.Lead.Current.ContactID;
CRActivity task = (CRActivity)graph.Tasks.Insert(myTask);
graph.Actions.PressSave();
}
}
相关实体描述正在 Note
table 中寻找匹配的 NoteID
记录。该记录会在需要时按需创建。对于 New Lead,如果您希望继续上述代码,则需要通过调用 PXNoteAttribute 的 GetNoteID 请求创建注释并保存记录。
示例:
PXNoteAttribute.GetNoteID<Contact.noteID>(Base.Lead.Cache, Base.Lead.Current);
Base.Actions.PressSave();
开箱即用的 Activity 操作(添加任务、添加事件等)在内部处理。如果您使用以下方法,所有初始化都在内部完成。
public class LeadMaintPXExt : PXGraphExtension<LeadMaint>
{
public PXAction<Contact> FollowUpTask;
[PXUIField(DisplayName = "FollowUp Task")]
[PXButton()]
private void followUpTask()
{
try
{
//out-of-box Activities -> "New Task" Action
Base.Actions["NewTask"].Press();
}
catch (Exception ex)
{
if (ex is PXRedirectRequiredException)
{
CRTaskMaint graph = (ex as PXRedirectRequiredException).Graph as CRTaskMaint;
if (graph != null)
{
CRActivity myTask = graph.Tasks.Current;
myTask.Subject = String.Format("FollowUp Lead Test");
myTask.ClassID = 0;
DateTime dueDate = DateTime.Now;
myTask.StartDate = dueDate;
myTask.EndDate = dueDate.AddDays(10);
CRActivity task = graph.Tasks.Update(myTask);
graph.Actions.PressSave();
}
}
}
}
}
我有一个奇怪的问题。我正在尝试添加与潜在客户相关的任务。我编写了以下代码,它运行良好,并出现在活动的领导之下。但是,当我浏览任务时,"Related Entity Description" 字段是空白的。我查看了它背后的代码,似乎相关的实体描述应该从 Acumatica 6 中的 RefNoteId 自动计算。如果我在 lead/activity 下手动创建一个项目,那么所有其他 lead/activities 更新 "related entity description" 正确。查看源代码,该字段似乎是 myTask.Source 这是一个字符串值,我不确定应该将其设置为什么,因为它应该使用 noteid 自动计算。我查看了 SQL 数据库,手动创建的任务和我自动创建的任务(包括 NoteID)中的所有字段都是正确的,因此我似乎缺少某种 "update" 命令。我缺少什么才能让 "Related Entity Description" 正确计算?谢谢
private void followuphelper(int daysToFollowUp)
{
#region Event Handlers
Contact curLead = Base.LeadCurrent.SelectSingle();
CRTaskMaint graph = CRTaskMaint.CreateInstance<CRTaskMaint>();
CRActivity myTask = new CRActivity();
myTask.Subject = String.Format("FollowUp Lead");
myTask.ClassID = 0;
DateTime dueDate = DateTime.Now;
myTask.StartDate = dueDate;
myTask.EndDate = dueDate.AddDays(daysToFollowUp); //2 weeks
myTask.RefNoteID = curLead.NoteID;
myTask.ContactID = curLead.ContactID;
CRActivity task = (CRActivity)graph.Tasks.Insert(myTask);
Base.Actions.PressSave();
graph.Actions.PressSave();
}
我刚刚验证了下面的代码,它确实显示了相关实体:
public class LeadMaintPXExt : PXGraphExtension<LeadMaint>
{
public PXAction<Contact> FollowUpTask;
[PXUIField(DisplayName = "FollowUp Task")]
[PXButton()]
private void followUpTask()
{
CRTaskMaint graph = PXGraph.CreateInstance<CRTaskMaint>();
CRActivity myTask = new CRActivity();
myTask.Subject = String.Format("FollowUp Lead Test");
myTask.ClassID = 0;
DateTime dueDate = DateTime.Now;
myTask.StartDate = dueDate;
myTask.EndDate = dueDate.AddDays(10);
myTask.RefNoteID = Base.Lead.Current.NoteID;
myTask.ContactID = Base.Lead.Current.ContactID;
CRActivity task = (CRActivity)graph.Tasks.Insert(myTask);
graph.Actions.PressSave();
}
}
相关实体描述正在 Note
table 中寻找匹配的 NoteID
记录。该记录会在需要时按需创建。对于 New Lead,如果您希望继续上述代码,则需要通过调用 PXNoteAttribute 的 GetNoteID 请求创建注释并保存记录。
示例:
PXNoteAttribute.GetNoteID<Contact.noteID>(Base.Lead.Cache, Base.Lead.Current);
Base.Actions.PressSave();
开箱即用的 Activity 操作(添加任务、添加事件等)在内部处理。如果您使用以下方法,所有初始化都在内部完成。
public class LeadMaintPXExt : PXGraphExtension<LeadMaint>
{
public PXAction<Contact> FollowUpTask;
[PXUIField(DisplayName = "FollowUp Task")]
[PXButton()]
private void followUpTask()
{
try
{
//out-of-box Activities -> "New Task" Action
Base.Actions["NewTask"].Press();
}
catch (Exception ex)
{
if (ex is PXRedirectRequiredException)
{
CRTaskMaint graph = (ex as PXRedirectRequiredException).Graph as CRTaskMaint;
if (graph != null)
{
CRActivity myTask = graph.Tasks.Current;
myTask.Subject = String.Format("FollowUp Lead Test");
myTask.ClassID = 0;
DateTime dueDate = DateTime.Now;
myTask.StartDate = dueDate;
myTask.EndDate = dueDate.AddDays(10);
CRActivity task = graph.Tasks.Update(myTask);
graph.Actions.PressSave();
}
}
}
}
}