如何向 Acumatica PXDataFieldParam 对象声明和添加参数?
How can I declare and add parameters to an Acumatica PXDataFieldParam object?
我正在使用 Acumatica PXDatabase.Update 方法更新 Acumatica 实例中的记录。我的代码如下,更新两个字段并使用另外两个作为限制器:
PXDatabase.Update<xTACProjectTask>(new PXDataFieldAssign<xTACProjectTask.dueDate>(tmpRow.Cells[indexMap["Due Date"]].Value.ToString())
, new PXDataFieldAssign<xTACProjectTask.startDate>(tmpRow.Cells[indexMap["Start Date"]].Value.ToString())
, new PXDataFieldRestrict<xTACProjectTask.projectID>(tmpRow.Cells[indexMap["TAC Project ID"]].Value.ToString())
, new PXDataFieldRestrict<xTACProjectTask.taskCD>(tmpRow.Cells[indexMap["TAC Task ID"]].Value.ToString()));
PXDatabase.Update 命令使用包含 PXDataFieldAssign 和 PXDataFieldRestrict 参数的 PXDataFieldParam 数组,上面的示例在 PXDatabase.Update 方法中创建了这些参数的新实例 - 但我想找到一个方法首先声明 PXDataFieldParam 对象,然后有条件地将 PXDataFieldAssign 对象添加到其中,最后将该 PXDataFieldParam 数组传递给方法。
我想像这样声明它,但我似乎找不到正确的方法:
PXDataFieldParam[] pfp = **????**;
PXDataFieldParam pf;
pf = new PXDataFieldAssign<xTACProjectTask.dueDate>(tmpRow.Cells[indexMap["Due Date"]].Value.ToString());
pfp.Append(pf);
pf = new PXDataFieldAssign<xTACProjectTask.startDate>(tmpRow.Cells[indexMap["Start Date"]].Value.ToString());
pfp.Append(pf);
pf = new PXDataFieldRestrict<xTACProjectTask.projectID>(tmpRow.Cells[indexMap["TAC Project ID"]].Value.ToString());
pfp.Append(pf);
pf = new PXDataFieldRestrict<xTACProjectTask.taskCD>(tmpRow.Cells[indexMap["TAC Task ID"]].Value.ToString());
pfp.Append(pf);
PXDatabase.Update<xTACProjectTask>(pfp);
有什么办法吗?
为什么不定义一个 List,然后在调用 PXDatabase.Update 方法时使用 .ToArray() 方法,而不是定义一个 PXDataFieldParam 数组。
PXDataFieldParam pf = null;
List<PXDataFieldParam> dbParams = new List<PXDataFieldParam>();
pf = new PXDataFieldAssign<SOLine.orderDate>(Accessinfo.BusinessDate);
dbParams.Add(pf);
PXDatabase.Update<SOLine>(dbParams.ToArray());
我正在使用 Acumatica PXDatabase.Update 方法更新 Acumatica 实例中的记录。我的代码如下,更新两个字段并使用另外两个作为限制器:
PXDatabase.Update<xTACProjectTask>(new PXDataFieldAssign<xTACProjectTask.dueDate>(tmpRow.Cells[indexMap["Due Date"]].Value.ToString())
, new PXDataFieldAssign<xTACProjectTask.startDate>(tmpRow.Cells[indexMap["Start Date"]].Value.ToString())
, new PXDataFieldRestrict<xTACProjectTask.projectID>(tmpRow.Cells[indexMap["TAC Project ID"]].Value.ToString())
, new PXDataFieldRestrict<xTACProjectTask.taskCD>(tmpRow.Cells[indexMap["TAC Task ID"]].Value.ToString()));
PXDatabase.Update 命令使用包含 PXDataFieldAssign 和 PXDataFieldRestrict 参数的 PXDataFieldParam 数组,上面的示例在 PXDatabase.Update 方法中创建了这些参数的新实例 - 但我想找到一个方法首先声明 PXDataFieldParam 对象,然后有条件地将 PXDataFieldAssign 对象添加到其中,最后将该 PXDataFieldParam 数组传递给方法。
我想像这样声明它,但我似乎找不到正确的方法:
PXDataFieldParam[] pfp = **????**;
PXDataFieldParam pf;
pf = new PXDataFieldAssign<xTACProjectTask.dueDate>(tmpRow.Cells[indexMap["Due Date"]].Value.ToString());
pfp.Append(pf);
pf = new PXDataFieldAssign<xTACProjectTask.startDate>(tmpRow.Cells[indexMap["Start Date"]].Value.ToString());
pfp.Append(pf);
pf = new PXDataFieldRestrict<xTACProjectTask.projectID>(tmpRow.Cells[indexMap["TAC Project ID"]].Value.ToString());
pfp.Append(pf);
pf = new PXDataFieldRestrict<xTACProjectTask.taskCD>(tmpRow.Cells[indexMap["TAC Task ID"]].Value.ToString());
pfp.Append(pf);
PXDatabase.Update<xTACProjectTask>(pfp);
有什么办法吗?
为什么不定义一个 List,然后在调用 PXDatabase.Update 方法时使用 .ToArray() 方法,而不是定义一个 PXDataFieldParam 数组。
PXDataFieldParam pf = null;
List<PXDataFieldParam> dbParams = new List<PXDataFieldParam>();
pf = new PXDataFieldAssign<SOLine.orderDate>(Accessinfo.BusinessDate);
dbParams.Add(pf);
PXDatabase.Update<SOLine>(dbParams.ToArray());