创建订单未在插入记录中设置CustomerID

时间:2018-02-22 19:47:28

标签: acumatica

我不确定为什么这很困难,但我似乎无法在SOOrder页面中插入带有客户ID的新SOOrder。我试图以编程方式创建SOOrder的新实例并使用它来插入和保存新订单。

如果我将新的SOOrder对象插入(当前)文档视图,然后设置客户ID,运行更新,并尝试保存,我得到的错误是CustomerID不能为空。在执行更新后的运行时期间查看对象,它显示CustomerID为null的Inserted行:

...
SOOrder order = new SOOrder();
SOOrderEntry graph = PXGraph.CreateInstance<SOOrderEntry>();
order.OrderType = "SO";
graph.CurrentDocument.Insert(order);                
order.CustomerID = project.CustomerID;
graph.CurrentDocument.Update(order);
graph.Actions.PressSave();
...

enter image description here

如果我尝试首先在SOOrder对象中设置CustomerID,然后将该对象插入(当前)文档视图,它会给我一个与客户ID相关的更复杂的错误:

...
SOOrder order = new SOOrder();
SOOrderEntry graph = PXGraph.CreateInstance<SOOrderEntry>();
order.OrderType = "SO";     
order.CustomerID = project.CustomerID;
graph.CurrentDocument.Insert(order);
...

enter image description here

我是否需要做一些特殊工作才能在视图对象中设置CustomerID,以便保存它?

1 个答案:

答案 0 :(得分:1)

分配订单变量时,graph.CurrentDocument.Insert(order);命令的结果是否会重置错误?

SOOrder order = new SOOrder();
SOOrderEntry graph = PXGraph.CreateInstance<SOOrderEntry>();
order.OrderType = "SO";
order = graph.CurrentDocument.Insert(order);                
order.CustomerID = project.CustomerID;
graph.CurrentDocument.Update(order);
graph.Actions.PressSave();